:root {
    --yellow: #f5c400;
    --yellow-dark: #d6aa00;
    --ink: #161716;
    --charcoal: #232421;
    --soft-black: #2c2d29;
    --paper: #f4f2ec;
    --white: #ffffff;
    --muted: #6c6e68;
    --line: rgba(22, 23, 22, .14);
    --radius: 2px;
    --container: 1200px;
    --header-h: 84px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--ink);
    background: var(--paper);
    line-height: 1.6;
}

img { max-width: 100%; display: block; }

a { color: inherit; text-decoration: none; }

button, input, select, textarea { font: inherit; }

.container {
    width: min(calc(100% - 48px), var(--container));
    margin-inline: auto;
}

.sr-only {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0);
    white-space: nowrap; border: 0;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(23, 24, 23, .97);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.header-inner {
    min-height: var(--header-h);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.brand img {
    width: 215px;
    max-height: 54px;
    object-fit: contain;
    object-position: left center;
}

.main-nav {
    display: flex;
    align-items: center;
    gap: 7px;
}

.main-nav > a,
.nav-dropdown-toggle {
    border: 0;
    background: none;
    padding: 12px 13px;
    font-size: .93rem;
    font-weight: 700;
    color: rgba(255,255,255,.82);
    cursor: pointer;
}

.main-nav > a:hover,
.main-nav > a.active,
.nav-dropdown-toggle:hover {
    color: #fff;
}

.main-nav .nav-cta {
    margin-left: 8px;
    background: var(--yellow);
    color: #111;
    padding-inline: 18px;
}

.nav-dropdown { position: relative; }

.nav-dropdown-menu {
    display: none;
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    width: 285px;
    padding: 9px;
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: 0 20px 55px rgba(0,0,0,.14);
}

.nav-dropdown.open .nav-dropdown-menu { display: grid; }

.nav-dropdown-menu a {
    padding: 11px 12px;
    font-weight: 700;
    font-size: .9rem;
}

.nav-dropdown-menu a:hover { background: #f2f0ea; }

.nav-divider { border-top: 1px solid var(--line); margin: 5px 0; }

.menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    padding: 9px;
    border: 1px solid var(--line);
    background: transparent;
}

.menu-toggle span:not(.sr-only) {
    height: 2px;
    background: #fff;
    display: block;
    margin: 5px 0;
}

.hero {
    min-height: calc(100vh - var(--header-h));
    position: relative;
    display: grid;
    align-items: end;
    overflow: hidden;
    background: #222;
}

.hero-bg {
    position: absolute;
    inset: 0;
    background:
        url('../img/nosotros-hero.webp')
        center / cover no-repeat;
    transform: scale(1.02);
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(13,14,13,.88) 0%, rgba(13,14,13,.66) 45%, rgba(13,14,13,.16) 100%),
        linear-gradient(0deg, rgba(13,14,13,.55) 0%, rgba(13,14,13,.05) 55%);
}

.hero-content {
    position: relative;
    z-index: 2;
    color: #fff;
    padding-top: 100px;
    padding-bottom: 72px;
}

.eyebrow {
    display: inline-block;
    margin-bottom: 16px;
    color: #7d6c00;
    font-size: .78rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-weight: 800;
}

.eyebrow.light { color: var(--yellow); }

.hero h1 {
    max-width: 900px;
    margin: 0;
    font-size: clamp(3rem, 7vw, 6.9rem);
    line-height: .92;
    letter-spacing: -.055em;
    font-weight: 800;
}

.hero-content > p {
    max-width: 700px;
    margin: 28px 0 0;
    font-size: clamp(1.05rem, 1.7vw, 1.32rem);
    color: rgba(255,255,255,.88);
}

.hero-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 34px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 12px 20px;
    border: 1px solid transparent;
    font-weight: 800;
    cursor: pointer;
}

.btn-primary {
    background: var(--yellow);
    color: #111;
}

.btn-primary:hover { background: #ffd31a; }

.btn-ghost {
    color: #fff;
    border-color: rgba(255,255,255,.45);
    background: rgba(255,255,255,.07);
}

.btn-outline {
    border-color: var(--ink);
    background: transparent;
}

.hero-promise {
    display: grid;
    gap: 4px;
    width: min(500px, 100%);
    margin-top: 65px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.35);
}

.hero-promise span {
    font-size: .76rem;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: var(--yellow);
    font-weight: 800;
}

.hero-promise strong { font-size: 1.03rem; }

.stats-strip {
    background: var(--yellow);
    color: #111;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.stats-grid > div {
    padding: 28px 24px;
    border-right: 1px solid rgba(0,0,0,.17);
}

.stats-grid > div:first-child { padding-left: 0; }
.stats-grid > div:last-child { border-right: 0; }

.stats-grid strong {
    display: block;
    font-size: clamp(1.8rem, 3vw, 3rem);
    line-height: 1;
    letter-spacing: -.04em;
}

.stats-grid span {
    display: block;
    margin-top: 8px;
    font-size: .83rem;
    font-weight: 700;
}

.section { padding: 110px 0; }

.section h2 {
    margin: 0;
    max-width: 780px;
    font-size: clamp(2.3rem, 5vw, 4.9rem);
    line-height: .98;
    letter-spacing: -.05em;
}

.two-col {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: clamp(45px, 9vw, 120px);
    align-items: start;
}

.lead {
    margin-top: 3px;
    font-size: 1.17rem;
    color: #4d4f4a;
}

.lead.narrow { max-width: 720px; }

.feature-list {
    list-style: none;
    padding: 0;
    margin: 28px 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 12px 24px;
}

.feature-list li {
    position: relative;
    padding-left: 20px;
    font-weight: 700;
}

.feature-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: .72em;
    width: 8px;
    height: 8px;
    background: var(--yellow);
}

.text-link {
    display: inline-block;
    margin-top: 12px;
    padding-bottom: 5px;
    border-bottom: 1px solid var(--ink);
    font-weight: 800;
}

.image-pair {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 18px;
    margin-top: 70px;
}

.image-pair img {
    width: 100%;
    height: 470px;
    object-fit: cover;
}

.image-pair img:last-child { margin-top: 90px; }

.support-section { background: #e9e6de; }

.section-heading-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 46px;
}

.support-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: rgba(0,0,0,.16);
}

.support-card { background: var(--paper); }

.support-image {
    height: 300px;
    background-size: cover;
    background-position: center;
}

.support-copy { padding: 27px; }

.support-copy > span,
.industries-grid article > span {
    color: #8a7500;
    font-size: .78rem;
    font-weight: 800;
}

.support-copy h3 {
    margin: 8px 0 9px;
    font-size: 1.45rem;
}

.support-copy p { margin: 0; color: var(--muted); }

.services-section { background: var(--paper); }

.services-list { border-top: 1px solid var(--line); }

.service-row {
    display: grid;
    grid-template-columns: 70px 1fr 50px;
    gap: 20px;
    align-items: center;
    padding: 28px 8px;
    border-bottom: 1px solid var(--line);
    transition: padding .2s ease, background .2s ease;
}

.service-row:hover {
    padding-left: 22px;
    background: #ece9e1;
}

.service-number {
    color: #8a7500;
    font-weight: 800;
}

.service-row h3 {
    margin: 0 0 5px;
    font-size: clamp(1.4rem, 2.5vw, 2.25rem);
    letter-spacing: -.035em;
}

.service-row p { margin: 0; color: var(--muted); }

.service-arrow { font-size: 1.7rem; text-align: right; }

.industries-section { background: #fff; }

.industries-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 55px;
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
}

.industries-grid article {
    min-height: 250px;
    padding: 26px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.industries-grid h3 {
    margin: 60px 0 8px;
    font-size: 1.5rem;
}

.industries-grid p { color: var(--muted); margin: 0; }

.iso-section {
    background: var(--charcoal);
    color: #fff;
}

.iso-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
}

.iso-layout > div:first-child p {
    max-width: 590px;
    color: rgba(255,255,255,.72);
    font-size: 1.08rem;
}

.iso-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid rgba(255,255,255,.18);
    border-left: 1px solid rgba(255,255,255,.18);
}

.iso-cards article {
    min-height: 170px;
    display: flex;
    flex-direction: column;
    justify-content: end;
    padding: 24px;
    border-right: 1px solid rgba(255,255,255,.18);
    border-bottom: 1px solid rgba(255,255,255,.18);
}

.iso-cards strong {
    color: var(--yellow);
    font-size: 1.45rem;
}

.iso-cards span { color: rgba(255,255,255,.76); }

.iso-cards .recognition { grid-column: 1 / -1; }

.equipment-cta { background: #ece9e1; }

.equipment-layout {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: 70px;
}

.equipment-image img {
    width: 100%;
    height: 500px;
    object-fit: cover;
}

.equipment-copy p {
    max-width: 600px;
    font-size: 1.08rem;
    color: var(--muted);
}

.integrity-callout {
    padding: 80px 0;
    background: var(--yellow);
}

.integrity-layout {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 70px;
}

.integrity-layout .eyebrow { color: #554800; }

.integrity-layout h2 {
    max-width: 760px;
    font-size: clamp(2.2rem, 4vw, 4rem);
}

.integrity-layout p { max-width: 720px; }

.integrity-actions {
    border-top: 1px solid rgba(0,0,0,.24);
}

.integrity-actions a {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    padding: 18px 0;
    border-bottom: 1px solid rgba(0,0,0,.24);
    font-weight: 800;
}

.contact-section { background: #fff; }

.contact-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 90px;
}

.contact-form {
    display: grid;
    gap: 20px;
    padding: 36px;
    background: #f2f0ea;
    border: 1px solid var(--line);
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.contact-form label { display: grid; gap: 8px; }

.contact-form label > span {
    font-size: .84rem;
    font-weight: 800;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    border: 1px solid #c9c7bf;
    background: #fff;
    padding: 13px 14px;
    outline: 0;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus { border-color: #605f5a; }

.check-row {
    display: flex !important;
    grid-template-columns: unset !important;
    align-items: flex-start;
    gap: 10px !important;
}

.check-row input { width: auto; margin-top: 4px; }

.form-note { color: var(--muted); }

.site-footer {
    background: #171817;
    color: #fff;
    padding: 70px 0 24px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr .8fr 1fr 1fr;
    gap: 50px;
}

.footer-brand img {
    width: 230px;
    filter: invert(1) grayscale(1) brightness(3);
}

.footer-brand p {
    max-width: 360px;
    color: rgba(255,255,255,.65);
}

.footer-grid h3 {
    color: var(--yellow);
    font-size: .85rem;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.footer-grid a,
.footer-grid p {
    display: block;
    margin: 8px 0;
    color: rgba(255,255,255,.72);
}

.footer-grid a:hover { color: #fff; }

.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 48px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.13);
    color: rgba(255,255,255,.52);
    font-size: .8rem;
}

.simple-page-hero {
    padding: 120px 0 90px;
    background: var(--charcoal);
    color: #fff;
}

.simple-page-hero h1 {
    margin: 0;
    max-width: 850px;
    font-size: clamp(3rem, 6vw, 6rem);
    line-height: .96;
    letter-spacing: -.05em;
}

.simple-page-hero p {
    max-width: 720px;
    color: rgba(255,255,255,.74);
    font-size: 1.15rem;
}

.work-in-progress {
    max-width: 780px;
    padding: 45px;
    background: #fff;
    border-left: 8px solid var(--yellow);
}

.work-in-progress > span {
    font-size: .77rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-weight: 800;
    color: #8a7500;
}

.work-in-progress h2 {
    margin-top: 10px;
    font-size: clamp(2rem, 4vw, 3.7rem);
}

@media (max-width: 980px) {
    :root { --header-h: 74px; }

    .container { width: min(calc(100% - 32px), var(--container)); }

    .menu-toggle { display: block; }

    .main-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        padding: 16px;
        background: #171817;
        border-bottom: 1px solid var(--line);
        box-shadow: 0 16px 35px rgba(0,0,0,.10);
        align-items: stretch;
        flex-direction: column;
    }

    .main-nav.open { display: flex; }

    .main-nav > a,
    .nav-dropdown-toggle {
        width: 100%;
        text-align: left;
        padding: 13px 10px;
    }

    .main-nav .nav-cta { margin-left: 0; }

    .nav-dropdown-menu {
        position: static;
        width: 100%;
        margin-top: 6px;
        box-shadow: none;
    }

    .hero { min-height: 780px; }

    .hero h1 { font-size: clamp(3.2rem, 11vw, 6.4rem); }

    .stats-grid { grid-template-columns: repeat(2, 1fr); }

    .stats-grid > div:nth-child(2) { border-right: 0; }

    .two-col,
    .iso-layout,
    .equipment-layout,
    .integrity-layout,
    .contact-grid {
        grid-template-columns: 1fr;
    }

    .support-grid { grid-template-columns: 1fr; }

    .industries-grid { grid-template-columns: repeat(2, 1fr); }

    .footer-grid { grid-template-columns: repeat(2, 1fr); }

    .section-heading-row { align-items: flex-start; flex-direction: column; }

    .image-pair img { height: 360px; }
}

@media (max-width: 640px) {
    .brand img { width: 180px; }

    .hero-content { padding-bottom: 48px; }

    .hero h1 { font-size: clamp(2.8rem, 15vw, 4.5rem); }

    .stats-grid { grid-template-columns: 1fr; }

    .stats-grid > div {
        border-right: 0;
        border-bottom: 1px solid rgba(0,0,0,.18);
        padding-left: 0;
    }

    .section { padding: 78px 0; }

    .section h2 { font-size: clamp(2.3rem, 12vw, 3.7rem); }

    .feature-list,
    .form-row,
    .industries-grid,
    .footer-grid,
    .image-pair {
        grid-template-columns: 1fr;
    }

    .image-pair img,
    .image-pair img:last-child {
        height: 300px;
        margin-top: 0;
    }

    .service-row {
        grid-template-columns: 46px 1fr;
    }

    .service-arrow { display: none; }

    .iso-cards { grid-template-columns: 1fr; }
    .iso-cards .recognition { grid-column: auto; }

    .equipment-image img { height: 340px; }

    .contact-form { padding: 22px; }

    .footer-bottom { flex-direction: column; }
}


/* ==========================================================
   PORTADA / HERO - réplica visual del wireframe de referencia
   ========================================================== */

:root {
    --container: 1280px;
    --header-h: 78px;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: #f1f2f1;
    border-top: 1px solid #d9dbd9;
    border-bottom: 1px solid #e2e3e1;
    backdrop-filter: none;
}

.header-inner {
    min-height: var(--header-h);
    display: grid;
    grid-template-columns: 300px 1fr auto;
    align-items: center;
    gap: 28px;
}

.brand img {
    width: 250px;
    max-height: 62px;
    object-fit: contain;
    object-position: left center;
}

.main-nav {
    justify-content: center;
    gap: 8px;
}

.main-nav > a,
.nav-dropdown-toggle {
    position: relative;
    color: #363733;
    padding: 22px 10px 18px;
    font-size: .76rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.main-nav > a::after,
.nav-dropdown-toggle::after {
    content: '';
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 9px;
    height: 1px;
    background: #c9c3b6;
}

.main-nav > a.active {
    outline: 2px solid #dda900;
    outline-offset: -4px;
}

.main-nav > a.active::after {
    background: #dda900;
}

.main-nav > a:hover,
.main-nav > a.active,
.nav-dropdown-toggle:hover {
    color: #111;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 9px;
}

.header-contact {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    background: #e2a900;
    color: #111;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.header-lock {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d5d1c6;
    background: #f7f7f5;
    color: #222;
    font-size: 1.15rem;
}

.nav-dropdown-menu {
    top: calc(100% + 1px);
}

.hero {
    min-height: calc(100vh - var(--header-h));
    height: auto;
    position: relative;
    display: block;
    overflow: hidden;
    background: #151817;
    color: #fff;
    border-right: 7px solid #e4ab00;
}

.hero-bg {
    position: absolute;
    inset: 0;
    background:
        url('../img/nosotros-hero.webp')
        center center / cover no-repeat;
    transform: none;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,
            rgba(10,12,12,.87) 0%,
            rgba(10,12,12,.78) 26%,
            rgba(10,12,12,.58) 48%,
            rgba(10,12,12,.16) 75%,
            rgba(10,12,12,.08) 100%),
        linear-gradient(0deg,
            rgba(10,12,12,.56) 0%,
            rgba(10,12,12,.18) 55%,
            rgba(10,12,12,.09) 100%);
}

.hero-right-accent {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 7px;
    background: #e4ab00;
    z-index: 2;
}

.hero-shell {
    position: relative;
    z-index: 3;
    min-height: calc(100vh - var(--header-h));
    padding-top: clamp(32px, 4.2vh, 58px);
    padding-bottom: clamp(34px, 4vh, 52px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.hero-main {
    display: grid;
    grid-template-columns: minmax(0, 2.15fr) minmax(300px, .85fr);
    gap: clamp(70px, 9vw, 145px);
    align-items: end;
}

.hero-copy {
    max-width: 835px;
}

.hero h1 {
    margin: 0;
    max-width: none;
    font-size: clamp(4.4rem, 6.05vw, 7.2rem);
    line-height: .825;
    letter-spacing: -.055em;
    font-weight: 900;
}

.hero h1 span {
    display: block;
}

.hero h1 .hero-yellow {
    color: #e3a800;
}

.hero-copy > p {
    max-width: 790px;
    margin: 30px 0 0;
    color: rgba(255,255,255,.92);
    font-size: clamp(.98rem, 1.05vw, 1.18rem);
    line-height: 1.65;
}

.hero-actions {
    margin-top: 30px;
    gap: 10px;
}

.hero .btn {
    min-height: 52px;
    padding: 12px 17px;
    font-size: .78rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 900;
}

.hero .btn-primary {
    min-width: 235px;
    justify-content: space-between;
    background: #e2a900;
}

.hero .btn-ghost {
    min-width: 235px;
    border-color: rgba(255,255,255,.55);
    background: rgba(18,18,18,.42);
}

.hero-promise {
    width: auto;
    max-width: 330px;
    margin: 0 0 30px;
    padding: 0 0 0 31px;
    border-top: 0;
    border-left: 1px solid rgba(255,255,255,.55);
    align-self: end;
}

.promise-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    margin-bottom: 13px;
    color: #e4ab00;
    border: 2px solid #e4ab00;
    font-size: 1.2rem;
    line-height: 1;
    transform: rotate(45deg);
}

.promise-label {
    display: block;
    margin-bottom: 12px;
    color: rgba(255,255,255,.64);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .20em;
    font-weight: 700;
}

.hero-promise strong {
    display: block;
    margin: 0;
    color: #fff;
    font-size: clamp(1.55rem, 1.7vw, 2rem);
    line-height: .96;
    letter-spacing: -.035em;
    font-weight: 900;
}

.hero-promise a {
    display: inline-flex;
    gap: 10px;
    margin-top: 27px;
    color: #e4ab00;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.hero-stats {
    width: min(100%, 1280px);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 48px;
    background: rgba(10,10,10,.58);
    border-top: 1px solid rgba(255,255,255,.7);
    border-bottom: 1px solid rgba(255,255,255,.7);
    backdrop-filter: blur(3px);
}

.hero-stats > div {
    min-height: 99px;
    padding: 24px 27px 18px;
    border-right: 1px solid rgba(255,255,255,.58);
}

.hero-stats > div:last-child {
    border-right: 0;
}

.hero-stats strong {
    display: block;
    color: #e4ab00;
    font-size: clamp(1.55rem, 1.8vw, 2rem);
    line-height: 1;
    letter-spacing: .01em;
    font-weight: 900;
    text-transform: uppercase;
}

.hero-stats span {
    display: block;
    margin-top: 10px;
    color: rgba(255,255,255,.58);
    font-size: .70rem;
    line-height: 1.25;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.stats-strip {
    display: none !important;
}

@media (max-width: 1100px) {
    .header-inner {
        grid-template-columns: 250px 1fr auto;
        gap: 16px;
    }

    .brand img {
        width: 220px;
    }

    .main-nav > a,
    .nav-dropdown-toggle {
        padding-left: 7px;
        padding-right: 7px;
        font-size: .70rem;
    }

    .hero-main {
        grid-template-columns: 1.75fr .8fr;
        gap: 45px;
    }

    .hero h1 {
        font-size: clamp(4rem, 7.4vw, 6rem);
    }
}

@media (max-width: 980px) {
    .header-inner {
        display: flex;
        justify-content: space-between;
    }

    .header-actions {
        margin-left: auto;
    }

    .main-nav {
        position: absolute;
        background: #f1f2f1;
    }

    .main-nav > a,
    .nav-dropdown-toggle {
        color: #333;
    }

    .hero {
        min-height: 760px;
    }

    .hero-shell {
        min-height: 760px;
    }

    .hero-main {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .hero-promise {
        max-width: 420px;
        justify-self: start;
        align-self: start;
    }

    .hero-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .hero-stats > div:nth-child(2) {
        border-right: 0;
    }

    .hero-stats > div:nth-child(-n+2) {
        border-bottom: 1px solid rgba(255,255,255,.58);
    }
}

@media (max-width: 700px) {
    .header-contact {
        display: none;
    }

    .header-lock {
        display: none;
    }

    .brand img {
        width: 190px;
    }

    .hero {
        border-right-width: 4px;
    }

    .hero-shell {
        padding-top: 50px;
    }

    .hero h1 {
        font-size: clamp(3.25rem, 16vw, 5.25rem);
        line-height: .88;
    }

    .hero-copy > p {
        margin-top: 25px;
        font-size: .98rem;
    }

    .hero .btn-primary,
    .hero .btn-ghost {
        width: 100%;
        min-width: 0;
    }

    .hero-promise {
        padding-left: 22px;
        margin-top: 12px;
    }

    .hero-stats {
        grid-template-columns: 1fr;
        margin-top: 42px;
    }

    .hero-stats > div,
    .hero-stats > div:nth-child(2) {
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.45);
    }

    .hero-stats > div:last-child {
        border-bottom: 0;
    }
}


/* ==========================================================
   SEGUNDA SECCIÓN - "La experiencia se demuestra en terreno"
   Réplica visual del prototipo de referencia
   ========================================================== */

.intro-section {
    position: relative;
    overflow: hidden;
    padding: 0;
    min-height: 690px;
    background-color: #f4f2ed;
    background-image:
        linear-gradient(to right, rgba(53, 49, 41, .055) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(53, 49, 41, .055) 1px, transparent 1px);
    background-size: 80px 80px;
}

.intro-layout {
    min-height: 690px;
    display: grid;
    grid-template-columns: minmax(520px, .95fr) minmax(620px, 1.05fr);
    gap: clamp(55px, 7vw, 105px);
    align-items: center;
    padding-top: 70px;
    padding-bottom: 68px;
}

.intro-copy {
    align-self: center;
    max-width: 610px;
}

.intro-kicker {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 24px;
    color: #805d00;
    font-size: .78rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .19em;
    text-transform: uppercase;
}

.intro-kicker-line {
    display: inline-block;
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #805d00;
}

.intro-section .intro-copy h2 {
    margin: 0;
    max-width: 560px;
    color: #211f20;
    font-size: clamp(3.35rem, 4.15vw, 4.8rem);
    line-height: .94;
    letter-spacing: -.055em;
    font-weight: 900;
}

.intro-lead {
    max-width: 600px;
    margin: 28px 0 31px;
    color: #57544f;
    font-size: 1.02rem;
    line-height: 1.92;
}

.intro-features {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 13px;
    margin-bottom: 35px;
}

.intro-features > div {
    position: relative;
    min-height: 58px;
    display: flex;
    align-items: center;
    padding: 11px 8px 11px 28px;
    border-top: 1px solid #d6d1c6;
    color: #171615;
    font-size: .87rem;
    line-height: 1.35;
    font-weight: 800;
}

.intro-features > div:nth-child(n+3) {
    border-bottom: 1px solid #d6d1c6;
}

.intro-features > div::before {
    content: '✓';
    position: absolute;
    left: 1px;
    top: 50%;
    transform: translateY(-50%);
    color: #7d5c00;
    font-size: .92rem;
    font-weight: 500;
}

.intro-button {
    display: inline-flex;
    min-height: 45px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 0 14px;
    border: 1px solid #d1cec6;
    background: rgba(255,255,255,.35);
    color: #171615;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
    transition: background .18s ease, border-color .18s ease;
}

.intro-button:hover {
    background: #fff;
    border-color: #aaa59b;
}

.intro-media {
    position: relative;
    width: 100%;
    max-width: 690px;
    height: 505px;
    justify-self: end;
}

.intro-main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 535px;
    height: 304px;
    object-fit: cover;
    object-position: center;
    z-index: 1;
}

.intro-road-image {
    position: absolute;
    left: 0;
    top: 235px;
    width: 375px;
    height: 226px;
    object-fit: cover;
    object-position: center;
    z-index: 3;
    border: 10px solid #e5e1d9;
}

.intro-since-card {
    position: absolute;
    right: 0;
    top: 304px;
    width: 307px;
    height: 129px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 22px 24px 18px;
    background: #e3a900;
    color: #141414;
}

.intro-since-card strong {
    display: block;
    margin-bottom: 6px;
    font-size: 2rem;
    line-height: 1;
    font-weight: 950;
    letter-spacing: .01em;
}

.intro-since-card span {
    display: block;
    font-size: .72rem;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .14em;
}

@media (max-width: 1160px) {
    .intro-layout {
        grid-template-columns: minmax(460px, .9fr) minmax(520px, 1.1fr);
        gap: 45px;
    }

    .intro-media {
        transform: scale(.9);
        transform-origin: right center;
        margin-left: -45px;
    }
}

@media (max-width: 980px) {
    .intro-section {
        min-height: 0;
    }

    .intro-layout {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 52px;
        padding-top: 70px;
        padding-bottom: 75px;
    }

    .intro-copy {
        max-width: 700px;
    }

    .intro-media {
        width: min(100%, 690px);
        margin: 0 auto;
        transform: none;
        justify-self: center;
    }
}

@media (max-width: 720px) {
    .intro-layout {
        gap: 40px;
        padding-top: 58px;
        padding-bottom: 60px;
    }

    .intro-section .intro-copy h2 {
        font-size: clamp(3rem, 13vw, 4rem);
    }

    .intro-lead {
        line-height: 1.72;
    }

    .intro-features {
        grid-template-columns: 1fr;
    }

    .intro-features > div,
    .intro-features > div:nth-child(n+3) {
        border-bottom: 0;
    }

    .intro-features > div:last-child {
        border-bottom: 1px solid #d6d1c6;
    }

    .intro-media {
        height: auto;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
    }

    .intro-main-image,
    .intro-road-image,
    .intro-since-card {
        position: static;
        width: 100%;
    }

    .intro-main-image {
        height: 270px;
    }

    .intro-road-image {
        height: 220px;
        border: 8px solid #e5e1d9;
    }

    .intro-since-card {
        height: auto;
        min-height: 120px;
    }
}


/* AJUSTE FINO SOLICITADO: reducir tipografías de la portada */
.hero h1 {
    font-size: clamp(3.95rem, 5.45vw, 6.2rem);
    line-height: .84;
}

.hero-copy > p {
    max-width: 720px;
    font-size: clamp(.92rem, .98vw, 1.08rem);
    line-height: 1.58;
}

.hero .btn {
    font-size: .74rem;
}

.hero-promise {
    max-width: 305px;
    padding-left: 26px;
}

.promise-label {
    font-size: .72rem;
}

.hero-promise strong {
    font-size: clamp(1.38rem, 1.45vw, 1.72rem);
    line-height: .98;
}

.hero-promise a {
    font-size: .72rem;
}

.hero-stats strong {
    font-size: clamp(1.42rem, 1.55vw, 1.78rem);
}

.hero-stats span {
    font-size: .66rem;
    line-height: 1.22;
}

@media (max-width: 1100px) {
    .hero h1 {
        font-size: clamp(3.55rem, 6.3vw, 5.45rem);
    }

    .hero-promise strong {
        font-size: clamp(1.28rem, 1.7vw, 1.55rem);
    }
}

@media (max-width: 700px) {
    .hero h1 {
        font-size: clamp(2.95rem, 14vw, 4.55rem);
        line-height: .9;
    }

    .hero-copy > p {
        font-size: .93rem;
    }

    .hero-promise strong {
        font-size: 1.3rem;
    }
}


/* AJUSTE FINO 2: portada más fiel al original */
.hero-shell {
    padding-top: clamp(56px, 6.4vh, 84px);
}

.hero-main {
    align-items: end;
}

.hero-copy {
    padding-top: 10px;
}

.hero-kicker {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 34px;
    color: #e0a800;
    font-size: .88rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.hero-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #e0a800;
}

.hero h1 {
    font-size: clamp(3.8rem, 5.2vw, 6rem);
    line-height: .83;
    letter-spacing: -.058em;
}

.hero-copy > p {
    max-width: 770px;
    margin-top: 24px;
    font-size: clamp(.96rem, 1vw, 1.12rem);
    line-height: 1.66;
}

.hero-actions {
    margin-top: 28px;
}

.hero .btn-primary,
.hero .btn-ghost {
    min-width: 240px;
}

.hero-promise {
    max-width: 355px;
    margin: 0 0 24px;
    padding: 0 0 0 32px;
    border-left: 1px solid rgba(255,255,255,.42);
}

.promise-icon {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 16px;
    border: 0;
    transform: none;
}

.promise-icon svg {
    display: block;
    width: 42px;
    height: 42px;
}

.promise-label {
    margin-bottom: 14px;
    color: #e0a800;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: .9rem;
    letter-spacing: .16em;
    font-weight: 700;
}

.hero-promise strong {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(1.5rem, 1.7vw, 1.92rem);
    line-height: .96;
    letter-spacing: -.03em;
    font-weight: 900;
}

.hero-promise a {
    margin-top: 24px;
    color: #e0a800;
    font-size: .77rem;
    letter-spacing: .14em;
}

@media (max-width: 1100px) {
    .hero-shell {
        padding-top: 46px;
    }

    .hero-kicker {
        margin-bottom: 26px;
        font-size: .8rem;
    }

    .hero h1 {
        font-size: clamp(3.45rem, 6vw, 5.35rem);
    }

    .hero-promise {
        max-width: 320px;
        padding-left: 26px;
    }

    .hero-promise strong {
        font-size: clamp(1.35rem, 1.6vw, 1.62rem);
    }
}

@media (max-width: 980px) {
    .hero-shell {
        padding-top: 50px;
    }

    .hero-copy {
        padding-top: 0;
    }

    .hero-kicker {
        margin-bottom: 24px;
    }

    .hero-promise {
        margin-bottom: 10px;
    }
}

@media (max-width: 700px) {
    .hero-shell {
        padding-top: 42px;
    }

    .hero-kicker {
        gap: 12px;
        margin-bottom: 20px;
        font-size: .72rem;
        letter-spacing: .18em;
    }

    .hero-kicker-line {
        width: 28px;
        flex-basis: 28px;
    }

    .hero h1 {
        font-size: clamp(2.8rem, 13.2vw, 4.4rem);
        line-height: .86;
    }

    .hero-copy > p {
        margin-top: 20px;
        font-size: .94rem;
    }

    .hero-promise {
        max-width: 100%;
        padding-left: 24px;
    }

    .promise-label {
        font-size: .78rem;
    }

    .hero-promise strong {
        font-size: 1.28rem;
    }
}

/* AJUSTE BLOQUE NUESTRA PROMESA - referencia aprobada */
.hero-promise {
    width: 365px;
    max-width: 365px;
    min-height: 224px;
    margin: 0 0 24px;
    padding: 0 0 4px 32px;
    border-left: 1px solid rgba(255,255,255,.68);
    align-self: end;
}

.promise-icon {
    width: 34px;
    height: 40px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    margin: 0 0 15px 0;
    color: #e3aa00;
    border: 0;
    transform: none;
}

.promise-icon svg {
    display: block;
    width: 31px;
    height: 36px;
}

.promise-label {
    display: block;
    margin: 0 0 12px;
    color: rgba(255,255,255,.68);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: .78rem;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.hero-promise strong {
    display: block;
    margin: 0;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1.78rem;
    line-height: .96;
    letter-spacing: -.035em;
    font-weight: 900;
}

.hero-promise a {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-top: 27px;
    color: #e3aa00;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .77rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

@media (max-width: 1100px) {
    .hero-promise {
        width: 330px;
        max-width: 330px;
        padding-left: 27px;
    }

    .hero-promise strong {
        font-size: 1.55rem;
    }
}

@media (max-width: 980px) {
    .hero-promise {
        width: min(100%, 365px);
        max-width: 365px;
    }
}

@media (max-width: 700px) {
    .hero-promise {
        width: 100%;
        max-width: 100%;
        min-height: 0;
        padding-left: 22px;
    }

    .hero-promise strong {
        font-size: 1.35rem;
    }
}


/* ==========================================================
   CORRECCIÓN SEGUNDA SECCIÓN - proporciones de referencia
   ========================================================== */
@media (min-width: 981px) {
    .intro-layout {
        grid-template-columns: 558px 682px;
        gap: 40px;
        align-items: center;
    }

    .intro-copy {
        width: 558px;
        max-width: 558px;
    }

    .intro-section .intro-copy h2 {
        max-width: 540px;
        font-size: clamp(3.55rem, 3.55vw, 4rem);
        line-height: .94;
        letter-spacing: -.055em;
    }

    .intro-lead {
        max-width: 555px;
        margin-top: 28px;
        line-height: 1.9;
    }

    .intro-features {
        width: 558px;
        column-gap: 13px;
    }

    .intro-features > div {
        font-size: .82rem;
        white-space: nowrap;
    }

    .intro-media {
        width: 682px;
        max-width: 682px;
        height: 505px;
        justify-self: end;
        transform: none;
        margin-left: 0;
    }

    .intro-main-image {
        width: 533px;
        height: 304px;
    }

    .intro-road-image {
        left: 0;
        top: 234px;
        width: 375px;
        height: 226px;
    }

    .intro-since-card {
        right: 0;
        top: 304px;
        width: 307px;
        height: 129px;
        padding-left: 24px;
        overflow: visible;
    }

    .intro-since-card strong {
        font-size: 1.9rem;
        white-space: nowrap;
    }

    .intro-since-card span {
        font-size: .69rem;
        white-space: nowrap;
    }
}

@media (min-width: 981px) and (max-width: 1320px) {
    .intro-layout {
        grid-template-columns: minmax(500px, 558px) minmax(610px, 682px);
        gap: 28px;
    }

    .intro-copy {
        width: 100%;
    }

    .intro-features {
        width: 100%;
    }

    .intro-media {
        width: 100%;
        max-width: 682px;
    }

    .intro-main-image {
        right: 0;
    }

    .intro-since-card {
        right: 0;
    }
}


/* ==========================================================
   TERCERA SECCIÓN - RESPALDO OPERACIONAL
   Composición fiel a la referencia aprobada
   ========================================================== */
.support-section {
    padding: 78px 0 92px;
    background: #f4f2ed;
}

.support-wrap {
    width: min(calc(100% - 48px), 1280px);
}

.support-topline {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 40px;
    margin-bottom: 34px;
}

.support-kicker {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
    color: #805d00;
    font-size: .76rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.support-kicker-line {
    width: 31px;
    height: 2px;
    flex: 0 0 31px;
    background: #805d00;
}

.support-section .support-heading h2 {
    margin: 0;
    max-width: 700px;
    color: #211f20;
    font-size: clamp(3.15rem, 4.25vw, 4.55rem);
    line-height: .92;
    letter-spacing: -.055em;
    font-weight: 900;
}

.support-logistics-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 5px;
    padding-bottom: 5px;
    color: #111;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.support-logistics-link:hover {
    color: #805d00;
}

.support-mosaic {
    display: grid;
    grid-template-columns: minmax(0, 1.49fr) minmax(0, 1fr);
    gap: 12px;
    height: 448px;
}

.support-side {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 12px;
}

.support-feature {
    position: relative;
    overflow: hidden;
    background: #1a1a18;
}

.support-feature img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .35s ease;
}

.support-feature:hover img {
    transform: scale(1.015);
}

.support-shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(0deg, rgba(8,9,9,.78) 0%, rgba(8,9,9,.22) 56%, rgba(8,9,9,.06) 100%);
}

.support-feature-small .support-shade {
    background: linear-gradient(0deg, rgba(8,9,9,.82) 0%, rgba(8,9,9,.32) 58%, rgba(8,9,9,.08) 100%);
}

.support-overlay {
    position: absolute;
    left: 34px;
    right: 34px;
    bottom: 34px;
    z-index: 2;
    color: #fff;
}

.support-feature-small .support-overlay {
    left: 26px;
    right: 24px;
    bottom: 25px;
}

.support-icon {
    width: 30px;
    height: 30px;
    margin-bottom: 10px;
    color: #e0a800;
}

.support-feature-small .support-icon {
    width: 26px;
    height: 26px;
    margin-bottom: 7px;
}

.support-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.support-overlay h3 {
    margin: 0 0 9px;
    color: #fff;
    font-size: clamp(1.45rem, 1.85vw, 2rem);
    line-height: 1;
    letter-spacing: -.035em;
    font-weight: 900;
}

.support-feature-small .support-overlay h3 {
    margin-bottom: 7px;
    font-size: clamp(1.2rem, 1.55vw, 1.65rem);
}

.support-overlay p {
    max-width: 650px;
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: .88rem;
    line-height: 1.62;
}

.support-feature-small .support-overlay p {
    font-size: .78rem;
    line-height: 1.42;
}

/* Anula el formato antiguo de tarjetas de soporte */
.support-grid,
.support-card,
.support-image,
.support-copy {
    all: unset;
}

@media (max-width: 980px) {
    .support-topline {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 18px;
    }

    .support-logistics-link {
        margin-bottom: 0;
    }

    .support-mosaic {
        height: auto;
        grid-template-columns: 1fr;
    }

    .support-feature-main {
        min-height: 440px;
    }

    .support-side {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: none;
    }

    .support-feature-small {
        min-height: 250px;
    }
}

@media (max-width: 700px) {
    .support-section {
        padding: 62px 0 70px;
    }

    .support-wrap {
        width: min(calc(100% - 32px), 1280px);
    }

    .support-section .support-heading h2 {
        font-size: clamp(2.65rem, 12vw, 3.8rem);
        line-height: .94;
    }

    .support-side {
        grid-template-columns: 1fr;
    }

    .support-feature-main,
    .support-feature-small {
        min-height: 320px;
    }

    .support-overlay,
    .support-feature-small .support-overlay {
        left: 22px;
        right: 22px;
        bottom: 22px;
    }
}


/* AJUSTE FINO 3: título de respaldo operacional */
.support-section .support-heading h2 {
    max-width: 980px;
    font-size: clamp(3rem, 4vw, 4.2rem);
    line-height: .93;
    letter-spacing: -.055em;
}

@media (max-width: 1320px) {
    .support-section .support-heading h2 {
        max-width: 860px;
        font-size: clamp(2.95rem, 4.05vw, 4rem);
    }
}

@media (max-width: 1100px) {
    .support-section .support-heading h2 {
        max-width: 760px;
        font-size: clamp(2.75rem, 4.6vw, 3.7rem);
    }
}

@media (max-width: 700px) {
    .support-section .support-heading h2 {
        max-width: 100%;
        font-size: clamp(2.45rem, 12vw, 3.35rem);
        line-height: .95;
    }
}


/* ==========================================================
   CUARTA SECCIÓN - Servicios integrales / Capacidad técnica
   ========================================================== */
.services-section {
    padding: 78px 0 92px;
    background: #f4f2ed;
}

.services-wrap {
    width: min(calc(100% - 48px), 1280px);
}

.services-topline {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 40px;
    margin-bottom: 28px;
}

.services-kicker {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
    color: #805d00;
    font-size: .76rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.services-kicker-line {
    width: 31px;
    height: 2px;
    flex: 0 0 31px;
    background: #805d00;
}

.services-heading h2 {
    margin: 0;
    color: #211f20;
    font-size: clamp(3.1rem, 4vw, 4.55rem);
    line-height: .92;
    letter-spacing: -.055em;
    font-weight: 900;
}

.services-all-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 6px;
    color: #111;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.services-all-link:hover {
    color: #805d00;
}

.services-mosaic {
    display: grid;
    grid-template-columns: 1.6fr .8fr .8fr;
    grid-template-rows: 272px 260px;
    gap: 12px;
}

.service-card {
    position: relative;
    display: block;
    overflow: hidden;
    color: #fff;
    background: #1b1b1b;
}

.service-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .28s ease;
}

.service-card:hover img {
    transform: scale(1.04);
}

.service-card-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10,10,10,.10) 0%, rgba(10,10,10,.18) 35%, rgba(10,10,10,.74) 100%);
}

.service-card-main .service-card-shade,
.service-card-wide .service-card-shade {
    background: linear-gradient(180deg, rgba(10,10,10,.05) 0%, rgba(10,10,10,.14) 40%, rgba(10,10,10,.82) 100%);
}

.service-card-main {
    grid-column: 1;
    grid-row: 1 / 3;
}

.service-card-small:nth-of-type(2) {
    grid-column: 2;
    grid-row: 1;
}

.service-card-small:nth-of-type(3) {
    grid-column: 3;
    grid-row: 1;
}

.service-card-wide {
    grid-column: 2 / 4;
    grid-row: 2;
}

.service-card-arrow {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 3;
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.7);
    color: #fff;
    font-size: 1rem;
    line-height: 1;
}

.service-card-overlay {
    position: absolute;
    left: 26px;
    right: 26px;
    bottom: 24px;
    z-index: 3;
}

.service-card-number {
    display: inline-block;
    margin-bottom: 8px;
    color: #e2a900;
    font-size: 1.05rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .02em;
}

.service-card-overlay h3 {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 2.2vw, 2.55rem);
    line-height: .94;
    letter-spacing: -.04em;
    font-weight: 900;
    text-shadow: 0 2px 6px rgba(0,0,0,.28);
}

.service-card-small .service-card-overlay h3 {
    font-size: clamp(1.1rem, 1.7vw, 1.6rem);
    line-height: .95;
}

.service-card-wide .service-card-overlay h3 {
    font-size: clamp(1.95rem, 2.2vw, 2.45rem);
}

/* desactivar estilos antiguos del listado */
.services-list,
.service-row,
.service-number,
.service-arrow {
    all: unset;
}

@media (max-width: 1100px) {
    .services-mosaic {
        grid-template-columns: 1.2fr 1fr;
        grid-template-rows: 260px 240px 240px;
    }

    .service-card-main {
        grid-column: 1 / 3;
        grid-row: 1;
    }

    .service-card-small:nth-of-type(2) {
        grid-column: 1;
        grid-row: 2;
    }

    .service-card-small:nth-of-type(3) {
        grid-column: 2;
        grid-row: 2;
    }

    .service-card-wide {
        grid-column: 1 / 3;
        grid-row: 3;
    }
}

@media (max-width: 860px) {
    .services-topline {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .services-all-link {
        margin-bottom: 0;
    }
}

@media (max-width: 700px) {
    .services-section {
        padding: 64px 0 76px;
    }

    .services-heading h2 {
        font-size: clamp(2.45rem, 12vw, 3.45rem);
    }

    .services-mosaic {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .service-card-main,
    .service-card-small:nth-of-type(2),
    .service-card-small:nth-of-type(3),
    .service-card-wide {
        grid-column: auto;
        grid-row: auto;
    }

    .service-card {
        min-height: 230px;
    }

    .service-card-main {
        min-height: 350px;
    }

    .service-card-wide {
        min-height: 260px;
    }

    .service-card-overlay {
        left: 20px;
        right: 20px;
        bottom: 18px;
    }

    .service-card-arrow {
        top: 16px;
        right: 16px;
        width: 36px;
        height: 36px;
    }
}


/* ==========================================================
   QUINTA SECCIÓN - Industrias
   ========================================================== */
.industries-section {
    position: relative;
    padding: 80px 0 78px;
    background: #1f1c1f;
    color: #fff;
}

.industries-wrap {
    width: min(calc(100% - 48px), 1290px);
}

.industries-layout {
    display: grid;
    grid-template-columns: 430px 1fr;
    gap: 44px;
    align-items: start;
}

.industries-copy {
    padding-top: 6px;
}

.industries-kicker {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
    color: #e0a800;
    font-size: .78rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.industries-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #e0a800;
}

.industries-copy h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(3.5rem, 4.65vw, 5.05rem);
    line-height: .90;
    letter-spacing: -.06em;
    font-weight: 900;
}

.industries-copy p {
    max-width: 345px;
    margin: 28px 0 0;
    color: rgba(255,255,255,.72);
    font-size: 1.01rem;
    line-height: 1.82;
}

.industries-panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-left: 1px solid rgba(255,255,255,.78);
    border-top: 0;
}

.industry-item {
    min-height: 230px;
    padding: 38px 36px 26px 36px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.78);
}

.industry-item:nth-child(odd) {
    border-right: 1px solid rgba(255,255,255,.78);
}

.industry-item:nth-last-child(-n+2) {
    border-bottom: 0;
}

.industry-icon {
    color: #e0a800;
    width: 36px;
    height: 36px;
    margin-bottom: 22px;
}

.industry-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.industry-item h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(1.85rem, 2.15vw, 2.4rem);
    line-height: .96;
    letter-spacing: -.04em;
    font-weight: 900;
}

.industry-item p {
    max-width: 340px;
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: .98rem;
    line-height: 1.75;
}

/* neutralizar estilos anteriores */
.industries-grid { display: none !important; }

@media (max-width: 1100px) {
    .industries-layout {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .industries-copy p {
        max-width: 640px;
    }
}

@media (max-width: 760px) {
    .industries-section {
        padding: 68px 0 66px;
    }

    .industries-wrap {
        width: min(calc(100% - 32px), 1290px);
    }

    .industries-copy h2 {
        font-size: clamp(2.8rem, 14vw, 4.1rem);
    }

    .industries-panel {
        grid-template-columns: 1fr;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.72);
    }

    .industry-item {
        min-height: 0;
        padding: 28px 0 24px;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.72) !important;
    }

    .industry-item:last-child {
        border-bottom: 0 !important;
    }
}


/* AJUSTE FINO 4: bloque izquierdo de Industrias */
.industries-layout {
    grid-template-columns: 400px 1fr;
    gap: 54px;
}

.industries-copy h2 {
    font-size: clamp(3.1rem, 4vw, 4.35rem);
    line-height: .93;
    letter-spacing: -.055em;
}

.industries-copy p {
    max-width: 355px;
    margin-top: 24px;
    font-size: .98rem;
    line-height: 1.74;
}

@media (max-width: 1200px) {
    .industries-layout {
        grid-template-columns: 360px 1fr;
        gap: 42px;
    }

    .industries-copy h2 {
        font-size: clamp(2.95rem, 3.8vw, 4rem);
    }
}

@media (max-width: 1100px) {
    .industries-layout {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .industries-copy h2 {
        font-size: clamp(2.9rem, 8vw, 4rem);
    }

    .industries-copy p {
        max-width: 620px;
    }
}

@media (max-width: 760px) {
    .industries-copy h2 {
        font-size: clamp(2.6rem, 12vw, 3.65rem);
        line-height: .95;
    }

    .industries-copy p {
        font-size: .96rem;
        line-height: 1.68;
    }
}


/* ==========================================================
   SEXTA SECCIÓN - Respaldos / certificaciones
   ========================================================== */
.trust-section {
    position: relative;
    padding: 78px 0 80px;
    background-color: #f4f2ed;
    background-image:
        linear-gradient(to right, rgba(53, 49, 41, .055) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(53, 49, 41, .055) 1px, transparent 1px);
    background-size: 80px 80px;
    color: #211f20;
}

.trust-wrap {
    width: min(calc(100% - 48px), 1280px);
}

.trust-top {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 46px;
    align-items: center;
}

.trust-copy { padding-top: 2px; }

.trust-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 26px;
    color: #805d00;
    font-size: .78rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.trust-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #805d00;
}

.trust-kicker svg {
    width: 14px;
    height: 14px;
    display: block;
}

.trust-copy h2 {
    margin: 0;
    max-width: 490px;
    font-size: clamp(3.6rem, 4.7vw, 5.15rem);
    line-height: .89;
    letter-spacing: -.06em;
    font-weight: 900;
}

.trust-copy p {
    max-width: 620px;
    margin: 28px 0 0;
    color: #4f4b46;
    font-size: 1.02rem;
    line-height: 1.9;
}

.trust-certifications {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    align-self: end;
}

.trust-cert-card {
    min-height: 170px;
    padding: 24px 24px 22px;
    border: 1px solid #d3cec4;
    background: rgba(255,255,255,.38);
}

.trust-cert-icon {
    width: 30px;
    height: 30px;
    color: #405a49;
    margin-bottom: 38px;
}

.trust-cert-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.trust-cert-card strong {
    display: block;
    margin: 0 0 6px;
    color: #171615;
    font-size: clamp(1.8rem, 2vw, 2.2rem);
    line-height: 1;
    letter-spacing: -.03em;
    font-weight: 900;
}

.trust-cert-card span {
    display: block;
    color: #4f4b46;
    font-size: .78rem;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.trust-recognition {
    display: grid;
    grid-template-columns: 260px 1fr auto;
    gap: 50px;
    align-items: center;
    margin-top: 40px;
    padding: 34px 0;
    border-top: 1px solid #d5d0c7;
    border-bottom: 1px solid #d5d0c7;
}

.trust-stars strong {
    display: block;
    margin: 0 0 8px;
    color: #171615;
    font-size: clamp(2rem, 2.2vw, 2.55rem);
    line-height: .95;
    letter-spacing: -.04em;
    font-weight: 900;
}

.trust-stars-icons {
    display: flex;
    gap: 4px;
    color: #d89e00;
    font-size: 1rem;
    line-height: 1;
}

.trust-recognition-copy h3 {
    margin: 0 0 10px;
    color: #171615;
    font-size: clamp(1.1rem, 1.2vw, 1.5rem);
    line-height: 1.3;
    font-weight: 900;
}

.trust-recognition-copy p {
    max-width: 720px;
    margin: 0;
    color: #4f4b46;
    font-size: 1rem;
    line-height: 1.7;
}

.trust-official-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    justify-self: end;
    color: #111;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
    white-space: nowrap;
}

.trust-official-link:hover { color: #805d00; }

/* desactivar bloque antiguo oscuro */
.iso-section,
.iso-layout,
.iso-cards { display: none !important; }

@media (max-width: 1120px) {
    .trust-top {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .trust-copy h2,
    .trust-copy p {
        max-width: 100%;
    }

    .trust-recognition {
        grid-template-columns: 220px 1fr;
    }

    .trust-official-link {
        grid-column: 1 / -1;
        justify-self: start;
        margin-top: -10px;
    }
}

@media (max-width: 760px) {
    .trust-section {
        padding: 66px 0 68px;
    }

    .trust-wrap {
        width: min(calc(100% - 32px), 1280px);
    }

    .trust-copy h2 {
        font-size: clamp(2.8rem, 13vw, 4.05rem);
        line-height: .92;
    }

    .trust-copy p {
        font-size: .98rem;
        line-height: 1.74;
    }

    .trust-certifications {
        grid-template-columns: 1fr;
    }

    .trust-cert-card {
        min-height: 0;
    }

    .trust-cert-icon {
        margin-bottom: 24px;
    }

    .trust-recognition {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .trust-official-link {
        margin-top: 0;
    }
}


/* AJUSTE FINO 5: sección Respaldos - escala tipográfica */
.trust-copy h2 {
    max-width: 470px;
    font-size: clamp(3.2rem, 4.1vw, 4.55rem);
    line-height: .90;
    letter-spacing: -.058em;
}

.trust-copy p {
    max-width: 600px;
    margin-top: 24px;
    font-size: .98rem;
    line-height: 1.82;
}

.trust-kicker {
    margin-bottom: 24px;
    font-size: .76rem;
    letter-spacing: .17em;
}

.trust-cert-card {
    min-height: 164px;
    padding: 22px 24px 20px;
}

.trust-cert-icon {
    width: 28px;
    height: 28px;
    margin-bottom: 34px;
}

.trust-cert-card strong {
    font-size: clamp(1.55rem, 1.75vw, 1.95rem);
    letter-spacing: -.025em;
}

.trust-cert-card span {
    font-size: .73rem;
    letter-spacing: .13em;
}

.trust-recognition {
    grid-template-columns: 250px 1fr auto;
    gap: 44px;
    margin-top: 36px;
    padding: 30px 0;
}

.trust-stars strong {
    font-size: clamp(1.8rem, 1.9vw, 2.15rem);
}

.trust-stars-icons {
    font-size: .94rem;
}

.trust-recognition-copy h3 {
    font-size: clamp(1.02rem, 1.05vw, 1.24rem);
    line-height: 1.26;
}

.trust-recognition-copy p {
    font-size: .95rem;
    line-height: 1.62;
}

.trust-official-link {
    font-size: .73rem;
    letter-spacing: .13em;
}

@media (max-width: 1120px) {
    .trust-copy h2 {
        max-width: 100%;
        font-size: clamp(3rem, 6.3vw, 4.2rem);
    }
}

@media (max-width: 760px) {
    .trust-copy h2 {
        font-size: clamp(2.55rem, 11.5vw, 3.55rem);
        line-height: .93;
    }

    .trust-copy p,
    .trust-recognition-copy p {
        font-size: .94rem;
    }

    .trust-cert-card strong {
        font-size: 1.55rem;
    }

    .trust-stars strong {
        font-size: 1.9rem;
    }
}


/* ==========================================================
   SÉPTIMA SECCIÓN - Recursos operativos para avanzar
   ========================================================== */
.equipment-cta {
    position: relative;
    padding: 0;
    min-height: 520px;
    overflow: hidden;
    background: #1d1a1d;
    color: #fff;
    border-top: 1px solid rgba(255,255,255,.06);
    border-bottom: 1px solid rgba(255,255,255,.10);
}

.equipment-bg {
    position: absolute;
    inset: 0;
    background: url('assets/img/aridos-camion.webp') right center / cover no-repeat;
    z-index: 1;
}

.equipment-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(90deg,
            rgba(25,22,25,.97) 0%,
            rgba(25,22,25,.94) 22%,
            rgba(25,22,25,.90) 38%,
            rgba(25,22,25,.82) 49%,
            rgba(25,22,25,.56) 60%,
            rgba(17,35,53,.38) 78%,
            rgba(9,44,76,.30) 100%);
}

.equipment-shell {
    position: relative;
    z-index: 3;
    min-height: 520px;
    display: flex;
    align-items: center;
    padding-top: 48px;
    padding-bottom: 48px;
}

.equipment-copy {
    width: min(620px, 100%);
    padding-left: 6px;
}

.equipment-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 26px;
    color: #e0a800;
    font-size: .78rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.equipment-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #e0a800;
}

.equipment-kicker-icon {
    width: 17px;
    height: 17px;
    display: inline-flex;
}

.equipment-kicker-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.equipment-cta .equipment-copy h2 {
    margin: 0;
    max-width: 610px;
    color: #fff;
    font-size: clamp(3.4rem, 4.35vw, 4.95rem);
    line-height: .90;
    letter-spacing: -.06em;
    font-weight: 900;
}

.equipment-cta .equipment-copy p {
    max-width: 620px;
    margin: 24px 0 0;
    color: rgba(255,255,255,.82);
    font-size: 1rem;
    line-height: 1.72;
}

.equipment-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 34px;
}

.equipment-actions .btn {
    min-height: 50px;
    padding: 12px 26px;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.equipment-actions .btn-primary {
    gap: 12px;
    background: #e0a800;
    color: #111;
}

.equipment-actions .btn-ghost {
    border-color: rgba(255,255,255,.62);
    color: #fff;
    background: transparent;
}

/* neutralizar estructura anterior */
.equipment-layout,
.equipment-image {
    display: none !important;
}

@media (max-width: 1100px) {
    .equipment-cta {
        min-height: 500px;
    }

    .equipment-shell {
        min-height: 500px;
    }

    .equipment-cta .equipment-copy h2 {
        font-size: clamp(3rem, 5.4vw, 4.3rem);
    }
}

@media (max-width: 760px) {
    .equipment-cta {
        min-height: 470px;
    }

    .equipment-shell {
        min-height: 470px;
        padding-top: 42px;
        padding-bottom: 42px;
    }

    .equipment-copy {
        width: min(100%, 520px);
        padding-left: 0;
    }

    .equipment-kicker {
        gap: 10px;
        margin-bottom: 22px;
        font-size: .69rem;
        letter-spacing: .16em;
        flex-wrap: wrap;
    }

    .equipment-cta .equipment-copy h2 {
        font-size: clamp(2.6rem, 11.8vw, 3.8rem);
        line-height: .93;
    }

    .equipment-cta .equipment-copy p {
        font-size: .95rem;
        line-height: 1.64;
    }

    .equipment-actions {
        gap: 10px;
        margin-top: 28px;
    }

    .equipment-actions .btn {
        width: 100%;
        justify-content: center;
        font-size: .74rem;
    }
}


/* AJUSTE FINO 6: Recursos operativos - imagen local + proporciones */
.equipment-cta {
    min-height: 520px;
    background: #1d1a1d;
}

.equipment-bg {
    inset: 0 0 0 auto;
    width: 56%;
    background: url('../img/aridos-camion.webp') left center / cover no-repeat;
}

.equipment-overlay {
    background:
        linear-gradient(90deg,
            rgba(25,22,25,1) 0%,
            rgba(25,22,25,.99) 29%,
            rgba(25,22,25,.96) 39%,
            rgba(25,22,25,.84) 48%,
            rgba(25,22,25,.36) 61%,
            rgba(14,34,51,.10) 75%,
            rgba(14,34,51,0) 100%);
}

.equipment-shell {
    min-height: 520px;
    align-items: center;
}

.equipment-copy {
    width: min(720px, 100%);
    max-width: 720px;
}

.equipment-cta .equipment-copy h2 {
    max-width: 720px;
    font-size: clamp(3rem, 3.55vw, 4rem);
    line-height: .91;
    letter-spacing: -.055em;
}

.equipment-cta .equipment-copy p {
    max-width: 650px;
    margin-top: 22px;
    font-size: .98rem;
    line-height: 1.7;
}

.equipment-kicker {
    margin-bottom: 26px;
    font-size: .76rem;
    letter-spacing: .18em;
}

.equipment-actions {
    margin-top: 34px;
}

.equipment-actions .btn {
    min-height: 50px;
    padding: 12px 24px;
    font-size: .76rem;
}

@media (max-width: 1200px) {
    .equipment-bg { width: 58%; }
    .equipment-copy { max-width: 650px; }
    .equipment-cta .equipment-copy h2 {
        max-width: 650px;
        font-size: clamp(2.85rem, 4.2vw, 3.7rem);
    }
}

@media (max-width: 900px) {
    .equipment-bg {
        width: 72%;
        opacity: .70;
    }
    .equipment-overlay {
        background: linear-gradient(90deg, rgba(25,22,25,.98) 0%, rgba(25,22,25,.92) 46%, rgba(25,22,25,.54) 74%, rgba(25,22,25,.24) 100%);
    }
}

@media (max-width: 700px) {
    .equipment-bg {
        width: 100%;
        opacity: .48;
        background-position: center;
    }
    .equipment-copy { max-width: 100%; }
    .equipment-cta .equipment-copy h2 {
        max-width: 100%;
        font-size: clamp(2.55rem, 11vw, 3.45rem);
    }
}


/* ==========================================================
   OCTAVA SECCIÓN - Formulario de contacto
   ========================================================== */
.contact-section {
    padding: 80px 0 86px;
    background: #efede7;
}

.contact-wrap {
    width: min(calc(100% - 48px), 1280px);
}

.contact-card {
    display: grid;
    grid-template-columns: 460px minmax(0, 1fr);
    min-height: 660px;
    border: 1px solid #d8d3ca;
    background: #fff;
}

.contact-visual {
    position: relative;
    min-height: 660px;
    overflow: hidden;
    background: #161515;
    color: #fff;
}

.contact-visual-bg {
    position: absolute;
    inset: 0;
    background: url('../img/contacto-equipo.webp') center center / cover no-repeat;
    transform: scale(1.02);
}

.contact-visual-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(8,8,8,.48) 0%, rgba(8,8,8,.34) 34%, rgba(8,8,8,.72) 78%, rgba(8,8,8,.82) 100%),
        linear-gradient(90deg, rgba(8,8,8,.30), rgba(8,8,8,.08));
}

.contact-visual-content {
    position: relative;
    z-index: 2;
    min-height: 660px;
    display: flex;
    flex-direction: column;
    padding: 48px 48px 42px;
}

.contact-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #e0a800;
    font-size: .77rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.contact-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #e0a800;
}

.contact-visual h2 {
    margin: 28px 0 0;
    color: #fff;
    font-size: clamp(3.1rem, 3.55vw, 4.3rem);
    line-height: .87;
    letter-spacing: -.06em;
    font-weight: 900;
}

.contact-benefits {
    margin-top: auto;
    padding-top: 27px;
    border-top: 1px solid rgba(255,255,255,.75);
    display: grid;
    gap: 17px;
}

.contact-benefits > div {
    display: grid;
    grid-template-columns: 20px 1fr;
    align-items: center;
    gap: 12px;
    color: rgba(255,255,255,.86);
    font-size: .86rem;
    line-height: 1.35;
}

.contact-benefit-icon {
    width: 18px;
    height: 18px;
    color: #e0a800;
}

.contact-benefit-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.contact-form {
    min-height: 660px;
    display: grid;
    align-content: start;
    gap: 25px;
    padding: 39px 39px 38px;
    background: #fff;
    border: 0;
}

.contact-form .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 17px;
}

.contact-form label {
    display: grid;
    gap: 8px;
}

.contact-form label > span {
    color: #171615;
    font-size: .76rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    border: 1px solid #d5d0c7;
    background: #fff;
    color: #282622;
    padding: 13px 13px;
    outline: 0;
    border-radius: 0;
    font-size: .91rem;
    line-height: 1.35;
}

.contact-form input,
.contact-form select {
    min-height: 48px;
}

.contact-form textarea {
    min-height: 112px;
    resize: vertical;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
    color: #77716a;
    opacity: 1;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    border-color: #a89c83;
}

.contact-select-wrap {
    width: 40%;
    min-width: 295px;
}

.contact-form .check-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 3px;
}

.contact-form .check-row input {
    width: 17px;
    min-height: 17px;
    height: 17px;
    margin: 0;
    flex: 0 0 17px;
    accent-color: #d9a500;
}

.contact-form .check-row span {
    color: #58534d;
    font-size: .84rem;
    line-height: 1.4;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}

.contact-submit {
    width: 100%;
    min-height: 49px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 7px;
    border: 0;
    background: #e0a800;
    color: #171615;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
    cursor: pointer;
    transition: opacity .18s ease, background .18s ease;
}

.contact-submit:disabled {
    background: #edd17d;
    color: #9b9383;
    cursor: not-allowed;
}

.contact-submit:not(:disabled):hover {
    background: #f0b600;
}

/* neutralizar estilos anteriores del contacto */
.contact-grid,
.contact-copy,
.form-note {
    display: none !important;
}

@media (max-width: 1080px) {
    .contact-card {
        grid-template-columns: 400px minmax(0, 1fr);
    }

    .contact-visual h2 {
        font-size: clamp(2.85rem, 4.8vw, 3.8rem);
    }

    .contact-visual-content {
        padding-left: 36px;
        padding-right: 36px;
    }
}

@media (max-width: 860px) {
    .contact-card {
        grid-template-columns: 1fr;
    }

    .contact-visual,
    .contact-visual-content {
        min-height: 560px;
    }

    .contact-visual-bg {
        background-position: center 42%;
    }

    .contact-visual h2 {
        max-width: 500px;
        font-size: clamp(3rem, 8.8vw, 4rem);
    }

    .contact-form {
        min-height: 0;
    }
}

@media (max-width: 640px) {
    .contact-section {
        padding: 58px 0 64px;
    }

    .contact-wrap {
        width: min(calc(100% - 28px), 1280px);
    }

    .contact-visual,
    .contact-visual-content {
        min-height: 510px;
    }

    .contact-visual-content {
        padding: 34px 26px 30px;
    }

    .contact-kicker {
        font-size: .69rem;
        letter-spacing: .15em;
    }

    .contact-visual h2 {
        margin-top: 24px;
        font-size: clamp(2.7rem, 14vw, 3.7rem);
        line-height: .90;
    }

    .contact-form {
        padding: 28px 22px 26px;
        gap: 20px;
    }

    .contact-form .form-row {
        grid-template-columns: 1fr;
    }

    .contact-select-wrap {
        width: 100%;
        min-width: 0;
    }
}


/* ==========================================================
   PIE DE PÁGINA - réplica visual de referencia
   ========================================================== */
.site-footer {
    background: #171516;
    color: #fff;
    padding: 0;
}

.footer-main {
    width: min(calc(100% - 48px), 1280px);
    display: grid;
    grid-template-columns: 1.55fr .72fr .78fr 1.08fr;
    gap: 70px;
    padding-top: 58px;
    padding-bottom: 62px;
}

.footer-brand-block {
    min-width: 0;
}

.footer-logo {
    width: 292px;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 0 20px;
}

.footer-description {
    max-width: 390px;
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: .94rem;
    line-height: 1.88;
}

.footer-social-block {
    margin-top: 30px;
}

.footer-social-label {
    display: block;
    margin-bottom: 14px;
    color: rgba(255,255,255,.52);
    font-size: .65rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.footer-socials {
    display: flex;
    gap: 8px;
}

.footer-socials a {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    margin: 0;
    border: 1px solid rgba(255,255,255,.72);
    color: rgba(255,255,255,.70);
    font-size: .88rem;
    line-height: 1;
    font-weight: 800;
}

.footer-socials a:hover {
    color: #fff;
    border-color: #fff;
}

.footer-socials svg {
    width: 17px;
    height: 17px;
    display: block;
}

.footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-top: 2px;
}

.footer-column h3 {
    margin: 0 0 23px;
    color: #dfa500;
    font-size: .78rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.footer-column > a {
    display: inline-block;
    margin: 0 0 14px;
    color: rgba(255,255,255,.76);
    font-size: .93rem;
    line-height: 1.25;
}

.footer-column > a:hover {
    color: #fff;
}

.footer-contact {
    gap: 16px;
}

.footer-contact h3 {
    margin-bottom: 10px;
}

.footer-contact-item {
    display: grid !important;
    grid-template-columns: 18px 1fr;
    gap: 13px;
    align-items: start;
    margin: 0 !important;
    color: rgba(255,255,255,.76) !important;
    font-size: .88rem !important;
    line-height: 1.42 !important;
}

.footer-contact-item svg {
    width: 18px;
    height: 18px;
    display: block;
    color: #dfa500;
    margin-top: 1px;
}

.footer-rule {
    width: 100%;
    height: 1px;
    background: rgba(255,255,255,.55);
}

.footer-bottom {
    width: min(calc(100% - 48px), 1280px);
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
    color: rgba(255,255,255,.48);
    font-size: .66rem;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

/* neutralizar reglas antiguas del footer */
.footer-grid,
.footer-brand {
    display: none !important;
}

@media (max-width: 1050px) {
    .footer-main {
        grid-template-columns: 1.35fr 1fr 1fr;
        gap: 46px;
    }

    .footer-brand-block {
        grid-column: 1 / -1;
    }

    .footer-description {
        max-width: 600px;
    }
}

@media (max-width: 720px) {
    .footer-main {
        width: min(calc(100% - 32px), 1280px);
        grid-template-columns: 1fr;
        gap: 36px;
        padding-top: 48px;
        padding-bottom: 46px;
    }

    .footer-brand-block {
        grid-column: auto;
    }

    .footer-logo {
        width: 250px;
    }

    .footer-description {
        max-width: 100%;
        font-size: .92rem;
    }

    .footer-bottom {
        width: min(calc(100% - 32px), 1280px);
        min-height: 74px;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 8px;
        font-size: .61rem;
    }
}


/* ==========================================================
   PÁGINA NOSOTROS - primera sección
   ========================================================== */
.about-hero-page {
    position: relative;
    min-height: 350px;
    overflow: hidden;
    background: #171417;
    color: #fff;
}

.about-hero-page-bg {
    position: absolute;
    inset: 0;
    background: url('../img/nosotros-hero.webp') center center / cover no-repeat;
    transform: scale(1.02);
}

.about-hero-page-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,
            rgba(20,17,20,.95) 0%,
            rgba(20,17,20,.92) 32%,
            rgba(20,17,20,.74) 52%,
            rgba(20,17,20,.44) 67%,
            rgba(20,17,20,.36) 100%);
}

.about-hero-page-shell {
    position: relative;
    z-index: 2;
    min-height: 350px;
    display: grid;
    grid-template-columns: minmax(0, 1.9fr) minmax(320px, .95fr);
    gap: 56px;
    align-items: center;
    padding-top: 58px;
    padding-bottom: 56px;
}

.about-hero-page-copy {
    max-width: 860px;
}

.about-hero-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 26px;
    color: #e0a800;
    font-size: .78rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.about-hero-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #e0a800;
}

.about-hero-page h1 {
    margin: 0;
    max-width: 900px;
    color: #fff;
    font-size: clamp(3.55rem, 5.3vw, 5.65rem);
    line-height: .88;
    letter-spacing: -.062em;
    font-weight: 900;
}

.about-hero-page p {
    margin: 22px 0 0;
    max-width: 780px;
    color: rgba(255,255,255,.86);
    font-size: 1rem;
    line-height: 1.72;
}

.about-hero-page-aside {
    display: grid;
    grid-template-columns: 1px 1fr;
    gap: 28px;
    align-items: center;
    align-self: center;
    max-width: 470px;
}

.about-hero-divider {
    width: 1px;
    height: 165px;
    background: rgba(255,255,255,.68);
}

.about-hero-timeline-label {
    display: block;
    margin-bottom: 14px;
    color: rgba(255,255,255,.54);
    font-size: .84rem;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.about-hero-timeline strong {
    display: block;
    margin: 0 0 14px;
    color: #e0a800;
    font-size: clamp(2.3rem, 3vw, 3rem);
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.03em;
}

.about-hero-timeline p {
    margin: 0;
    max-width: 430px;
    color: rgba(255,255,255,.82);
    font-size: .96rem;
    line-height: 1.66;
}

@media (max-width: 1100px) {
    .about-hero-page-shell {
        grid-template-columns: 1fr;
        gap: 34px;
        padding-top: 50px;
        padding-bottom: 48px;
    }

    .about-hero-page h1 {
        font-size: clamp(3.1rem, 7vw, 4.7rem);
    }

    .about-hero-page-aside {
        max-width: 100%;
        justify-self: start;
    }

    .about-hero-divider {
        height: 140px;
    }
}

@media (max-width: 700px) {
    .about-hero-page {
        min-height: 0;
    }

    .about-hero-page-shell {
        min-height: 0;
        gap: 28px;
        padding-top: 42px;
        padding-bottom: 42px;
    }

    .about-hero-kicker {
        margin-bottom: 20px;
        font-size: .72rem;
        letter-spacing: .17em;
    }

    .about-hero-page h1 {
        font-size: clamp(2.7rem, 11.6vw, 4rem);
        line-height: .91;
    }

    .about-hero-page p,
    .about-hero-timeline p {
        font-size: .94rem;
        line-height: 1.62;
    }

    .about-hero-page-aside {
        grid-template-columns: 1px 1fr;
        gap: 18px;
    }

    .about-hero-divider {
        height: 118px;
    }

    .about-hero-timeline-label {
        font-size: .74rem;
    }

    .about-hero-timeline strong {
        font-size: 2rem;
    }
}


/* ==========================================================
   PÁGINA NOSOTROS - segunda sección / Quiénes somos
   ========================================================== */
.about-identity-section {
    position: relative;
    overflow: hidden;
    padding: 76px 0 84px;
    background-color: #f4f2ed;
    background-image:
        linear-gradient(to right, rgba(53, 49, 41, .055) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(53, 49, 41, .055) 1px, transparent 1px);
    background-size: 80px 80px;
}

.about-identity-layout {
    display: grid;
    grid-template-columns: minmax(460px, 560px) minmax(540px, 1fr);
    gap: clamp(44px, 5vw, 88px);
    align-items: start;
}

.about-identity-copy {
    max-width: 560px;
}

.about-identity-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
    color: #805d00;
    font-size: .78rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.about-identity-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #805d00;
}

.about-identity-copy h2 {
    margin: 0;
    color: #211f20;
    font-size: clamp(3.4rem, 4.35vw, 4.95rem);
    line-height: .90;
    letter-spacing: -.062em;
    font-weight: 900;
}

.about-identity-copy p {
    margin: 26px 0 0;
    max-width: 555px;
    color: #57544f;
    font-size: 1rem;
    line-height: 1.82;
}

.about-identity-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    align-self: center;
    padding-top: 170px;
}

.about-identity-card {
    min-height: 174px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px 28px 22px;
    border: 1px solid #d3cec4;
    background: rgba(255,255,255,.34);
}

.about-identity-card strong {
    display: block;
    margin: 0 0 14px;
    color: #171615;
    font-size: clamp(2.5rem, 2.9vw, 3.25rem);
    line-height: .95;
    letter-spacing: -.04em;
    font-weight: 900;
}

.about-identity-card span {
    display: block;
    color: #4d4944;
    font-size: .82rem;
    line-height: 1.55;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

@media (max-width: 1180px) {
    .about-identity-layout {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .about-identity-copy,
    .about-identity-copy p {
        max-width: 100%;
    }

    .about-identity-metrics {
        padding-top: 0;
        align-self: start;
    }
}

@media (max-width: 760px) {
    .about-identity-section {
        padding: 64px 0 70px;
    }

    .about-identity-kicker {
        margin-bottom: 22px;
        font-size: .72rem;
        letter-spacing: .17em;
    }

    .about-identity-copy h2 {
        font-size: clamp(2.8rem, 12vw, 4rem);
        line-height: .93;
    }

    .about-identity-copy p {
        margin-top: 22px;
        font-size: .96rem;
        line-height: 1.72;
    }

    .about-identity-metrics {
        grid-template-columns: 1fr;
    }

    .about-identity-card {
        min-height: 0;
        padding: 22px 24px 20px;
    }

    .about-identity-card strong {
        margin-bottom: 12px;
        font-size: 2.35rem;
    }

    .about-identity-card span {
        font-size: .78rem;
        letter-spacing: .16em;
    }
}


/* ==========================================================
   PÁGINA NOSOTROS - tercera sección / Nuestra historia
   ========================================================== */
.about-history-section {
    position: relative;
    padding: 78px 0 82px;
    background: #1f1c1f;
    color: #fff;
}

.about-history-layout {
    display: grid;
    grid-template-columns: minmax(410px, 470px) minmax(620px, 1fr);
    gap: clamp(44px, 6vw, 96px);
    align-items: center;
}

.about-history-copy {
    max-width: 470px;
}

.about-history-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
    color: #e0a800;
    font-size: .78rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.about-history-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #e0a800;
}

.about-history-copy h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(3.45rem, 4.7vw, 5.2rem);
    line-height: .90;
    letter-spacing: -.062em;
    font-weight: 900;
}

.about-history-timeline {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    border-top: 1px solid rgba(255,255,255,.72);
    border-bottom: 1px solid rgba(255,255,255,.72);
}

.about-history-step {
    min-height: 190px;
    padding: 28px 24px 24px;
    border-right: 1px solid rgba(255,255,255,.72);
}

.about-history-step:last-child {
    border-right: 0;
}

.about-history-number {
    display: inline-block;
    margin-bottom: 24px;
    color: #e0a800;
    font-size: 1.08rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .01em;
}

.about-history-step h3 {
    margin: 0 0 16px;
    color: #fff;
    font-size: clamp(1.45rem, 1.7vw, 1.95rem);
    line-height: 1.06;
    letter-spacing: -.03em;
    font-weight: 900;
}

.about-history-step p {
    max-width: 235px;
    margin: 0;
    color: rgba(255,255,255,.74);
    font-size: .96rem;
    line-height: 1.72;
}

@media (max-width: 1180px) {
    .about-history-layout {
        grid-template-columns: 1fr;
        gap: 42px;
        align-items: start;
    }

    .about-history-copy {
        max-width: 100%;
    }
}

@media (max-width: 900px) {
    .about-history-timeline {
        grid-template-columns: 1fr;
        border-bottom: 0;
    }

    .about-history-step {
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.72);
    }
}

@media (max-width: 760px) {
    .about-history-section {
        padding: 64px 0 68px;
    }

    .about-history-kicker {
        margin-bottom: 22px;
        font-size: .72rem;
        letter-spacing: .17em;
    }

    .about-history-copy h2 {
        font-size: clamp(2.8rem, 12vw, 4.15rem);
        line-height: .93;
    }

    .about-history-step {
        padding: 24px 0 22px;
    }

    .about-history-number {
        margin-bottom: 18px;
        font-size: 1rem;
    }

    .about-history-step h3 {
        margin-bottom: 12px;
        font-size: 1.5rem;
    }

    .about-history-step p {
        max-width: 100%;
        font-size: .94rem;
        line-height: 1.64;
    }
}


/* ==========================================================
   PÁGINA NOSOTROS - cuarta sección / Logística interna
   ========================================================== */
.about-logistics-section {
    position: relative;
    padding: 76px 0 86px;
    background: #f4f2ed;
}

.about-logistics-wrap {
    width: min(calc(100% - 48px), 1280px);
}

.about-logistics-top {
    display: grid;
    grid-template-columns: minmax(430px, .9fr) minmax(620px, 1.1fr);
    gap: 70px;
    align-items: start;
}

.about-logistics-copy {
    max-width: 520px;
    padding-top: 2px;
}

.about-logistics-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 26px;
    color: #805d00;
    font-size: .77rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.about-logistics-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #805d00;
}

.about-logistics-copy h2 {
    margin: 0;
    color: #211f20;
    font-size: clamp(3.3rem, 4.3vw, 4.75rem);
    line-height: .91;
    letter-spacing: -.06em;
    font-weight: 900;
}

.about-logistics-copy p {
    max-width: 500px;
    margin: 26px 0 0;
    color: #57544f;
    font-size: 1rem;
    line-height: 1.8;
}

.about-logistics-image {
    width: 100%;
    min-height: 320px;
}

.about-logistics-image img {
    width: 100%;
    height: 320px;
    display: block;
    object-fit: cover;
    object-position: center;
}

.about-logistics-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: 40px;
    border-top: 1px solid #d3cec4;
    border-left: 1px solid #d3cec4;
}

.about-logistics-card {
    min-height: 238px;
    padding: 26px 24px 24px;
    border-right: 1px solid #d3cec4;
    border-bottom: 1px solid #d3cec4;
    background: rgba(255,255,255,.26);
}

.about-logistics-icon {
    width: 31px;
    height: 31px;
    margin-bottom: 30px;
    color: #405a49;
}

.about-logistics-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.about-logistics-card h3 {
    margin: 0 0 14px;
    color: #171615;
    font-size: clamp(1.25rem, 1.45vw, 1.65rem);
    line-height: 1.05;
    letter-spacing: -.035em;
    font-weight: 900;
}

.about-logistics-card p {
    margin: 0;
    color: #5a5650;
    font-size: .92rem;
    line-height: 1.72;
}

@media (max-width: 1180px) {
    .about-logistics-top {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .about-logistics-copy,
    .about-logistics-copy p {
        max-width: 100%;
    }

    .about-logistics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .about-logistics-section {
        padding: 64px 0 70px;
    }

    .about-logistics-wrap {
        width: min(calc(100% - 32px), 1280px);
    }

    .about-logistics-kicker {
        margin-bottom: 22px;
        font-size: .71rem;
        letter-spacing: .17em;
    }

    .about-logistics-copy h2 {
        font-size: clamp(2.75rem, 11.8vw, 3.9rem);
        line-height: .94;
    }

    .about-logistics-copy p {
        margin-top: 22px;
        font-size: .96rem;
        line-height: 1.72;
    }

    .about-logistics-image {
        min-height: 230px;
    }

    .about-logistics-image img {
        height: 230px;
    }

    .about-logistics-grid {
        grid-template-columns: 1fr;
        margin-top: 30px;
    }

    .about-logistics-card {
        min-height: 0;
        padding: 22px 20px 20px;
    }

    .about-logistics-icon {
        margin-bottom: 20px;
    }

    .about-logistics-card h3 {
        font-size: 1.3rem;
    }

    .about-logistics-card p {
        font-size: .92rem;
    }
}


/* ==========================================================
   AJUSTE FINO - Nosotros / Logística interna
   Reducir escala tipográfica general de la sección
   ========================================================== */
.about-logistics-kicker {
    margin-bottom: 22px;
    font-size: .70rem;
    letter-spacing: .18em;
}

.about-logistics-copy h2 {
    max-width: 470px;
    font-size: clamp(2.9rem, 3.55vw, 4rem);
    line-height: .93;
    letter-spacing: -.055em;
}

.about-logistics-copy p {
    max-width: 485px;
    margin-top: 22px;
    font-size: .91rem;
    line-height: 1.72;
}

.about-logistics-card {
    min-height: 220px;
    padding: 23px 22px 21px;
}

.about-logistics-icon {
    width: 27px;
    height: 27px;
    margin-bottom: 24px;
}

.about-logistics-card h3 {
    margin-bottom: 11px;
    font-size: clamp(1.05rem, 1.15vw, 1.28rem);
    line-height: 1.08;
    letter-spacing: -.025em;
}

.about-logistics-card p {
    font-size: .84rem;
    line-height: 1.62;
}

@media (max-width: 1180px) {
    .about-logistics-copy h2 {
        max-width: 620px;
        font-size: clamp(2.8rem, 5.2vw, 3.8rem);
    }
}

@media (max-width: 760px) {
    .about-logistics-kicker {
        font-size: .67rem;
    }

    .about-logistics-copy h2 {
        max-width: 100%;
        font-size: clamp(2.45rem, 10.5vw, 3.35rem);
        line-height: .95;
    }

    .about-logistics-copy p {
        font-size: .89rem;
        line-height: 1.66;
    }

    .about-logistics-card {
        padding: 20px 18px 18px;
    }

    .about-logistics-card h3 {
        font-size: 1.08rem;
    }

    .about-logistics-card p {
        font-size: .83rem;
    }
}


/* ==========================================================
   PÁGINA NOSOTROS - quinta sección / Nuestro equipo
   ========================================================== */
.about-team-section {
    position: relative;
    padding: 78px 0 82px;
    background: #fff;
}

.about-team-layout {
    display: grid;
    grid-template-columns: minmax(390px, .72fr) minmax(650px, 1.28fr);
    gap: 66px;
    align-items: center;
}

.about-team-copy {
    max-width: 470px;
}

.about-team-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 26px;
    color: #805d00;
    font-size: .71rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.about-team-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #805d00;
}

.about-team-copy h2 {
    margin: 0;
    max-width: 440px;
    color: #211f20;
    font-size: clamp(3.1rem, 3.85vw, 4.35rem);
    line-height: .92;
    letter-spacing: -.058em;
    font-weight: 900;
}

.about-team-copy > p {
    max-width: 450px;
    margin: 24px 0 0;
    color: #5a5650;
    font-size: .92rem;
    line-height: 1.72;
}

.about-team-points {
    display: grid;
    gap: 15px;
    margin-top: 34px;
    padding-top: 24px;
    border-top: 1px solid #d5d0c7;
}

.about-team-point {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #171615;
}

.about-team-point-icon {
    width: 21px;
    height: 21px;
    color: #9b6f00;
    flex: 0 0 21px;
}

.about-team-point-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.about-team-point strong {
    font-size: .86rem;
    line-height: 1.35;
    font-weight: 800;
}

.about-team-gallery {
    min-width: 0;
}

.about-team-main {
    position: relative;
    height: 520px;
    overflow: hidden;
    background: #1d1a1d;
}

.about-team-main > img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transition: opacity .2s ease;
}

.about-team-main-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(0,0,0,.04) 30%, rgba(0,0,0,.66) 100%);
    pointer-events: none;
}

.about-team-caption {
    position: absolute;
    left: 34px;
    bottom: 30px;
    z-index: 3;
    color: #fff;
}

.about-team-caption > span {
    display: block;
    margin-bottom: 12px;
    color: #e0a800;
    font-size: .69rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.about-team-caption h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(2rem, 2.4vw, 2.7rem);
    line-height: .96;
    letter-spacing: -.04em;
    font-weight: 900;
}

.about-team-caption small {
    color: rgba(255,255,255,.85);
    font-size: .78rem;
}

.about-team-arrows {
    position: absolute;
    right: 34px;
    bottom: 34px;
    z-index: 4;
    display: flex;
    gap: 8px;
}

.about-team-arrow {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.75);
    background: rgba(12,12,12,.18);
    color: #fff;
    font-size: 1.35rem;
    cursor: pointer;
}

.about-team-arrow:hover {
    background: rgba(12,12,12,.55);
}

.about-team-thumbs {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0;
    height: 102px;
    background: #1d1a1d;
}

.about-team-thumb {
    position: relative;
    border: 0;
    padding: 0;
    overflow: hidden;
    background: #1d1a1d;
    cursor: pointer;
}

.about-team-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    opacity: .62;
    transition: opacity .18s ease, transform .18s ease;
}

.about-team-thumb:hover img,
.about-team-thumb.active img {
    opacity: 1;
}

.about-team-thumb.active::after {
    content: '';
    position: absolute;
    inset: 0;
    border: 2px solid #e0a800;
    pointer-events: none;
}

@media (max-width: 1120px) {
    .about-team-layout {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .about-team-copy,
    .about-team-copy > p {
        max-width: 680px;
    }
}

@media (max-width: 760px) {
    .about-team-section {
        padding: 64px 0 68px;
    }

    .about-team-kicker {
        margin-bottom: 22px;
        font-size: .68rem;
        letter-spacing: .17em;
    }

    .about-team-copy h2 {
        max-width: 100%;
        font-size: clamp(2.65rem, 11vw, 3.65rem);
        line-height: .94;
    }

    .about-team-copy > p {
        font-size: .90rem;
        line-height: 1.66;
    }

    .about-team-point strong {
        font-size: .83rem;
    }

    .about-team-main {
        height: 360px;
    }

    .about-team-caption {
        left: 20px;
        bottom: 20px;
        right: 95px;
    }

    .about-team-caption h3 {
        font-size: 1.75rem;
    }

    .about-team-arrows {
        right: 18px;
        bottom: 18px;
    }

    .about-team-arrow {
        width: 42px;
        height: 42px;
    }

    .about-team-thumbs {
        height: 76px;
        overflow-x: auto;
        grid-template-columns: repeat(6, minmax(90px, 1fr));
    }
}


/* ==========================================================
   PÁGINA NOSOTROS - sexta sección / Industrias
   ========================================================== */
.about-industries-section {
    position: relative;
    padding: 78px 0 80px;
    background: #1f1c1f;
    color: #fff;
}

.about-industries-layout {
    display: grid;
    grid-template-columns: minmax(380px, .72fr) minmax(650px, 1.28fr);
    gap: 60px;
    align-items: center;
}

.about-industries-copy {
    max-width: 430px;
}

.about-industries-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 26px;
    color: #e0a800;
    font-size: .70rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .19em;
    text-transform: uppercase;
}

.about-industries-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #e0a800;
}

.about-industries-copy h2 {
    margin: 0;
    max-width: 420px;
    color: #fff;
    font-size: clamp(3rem, 3.75vw, 4.25rem);
    line-height: .92;
    letter-spacing: -.058em;
    font-weight: 900;
}

.about-industries-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,.62);
    border-left: 1px solid rgba(255,255,255,.62);
}

.about-industry-card {
    min-height: 185px;
    padding: 28px 28px 24px;
    border-right: 1px solid rgba(255,255,255,.62);
    border-bottom: 1px solid rgba(255,255,255,.62);
}

.about-industry-icon {
    width: 31px;
    height: 31px;
    margin-bottom: 24px;
    color: #e0a800;
}

.about-industry-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.about-industry-card h3 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(1.45rem, 1.65vw, 1.85rem);
    line-height: 1.02;
    letter-spacing: -.035em;
    font-weight: 900;
}

.about-industry-card p {
    max-width: 330px;
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: .90rem;
    line-height: 1.64;
}

@media (max-width: 1100px) {
    .about-industries-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .about-industries-copy {
        max-width: 680px;
    }

    .about-industries-copy h2 {
        max-width: 620px;
    }
}

@media (max-width: 720px) {
    .about-industries-section {
        padding: 64px 0 68px;
    }

    .about-industries-kicker {
        margin-bottom: 22px;
        font-size: .67rem;
        letter-spacing: .17em;
    }

    .about-industries-copy h2 {
        max-width: 100%;
        font-size: clamp(2.6rem, 11vw, 3.65rem);
        line-height: .94;
    }

    .about-industries-grid {
        grid-template-columns: 1fr;
        border-left: 0;
    }

    .about-industry-card {
        min-height: 0;
        padding: 24px 0 22px;
        border-right: 0;
    }

    .about-industry-icon {
        margin-bottom: 18px;
    }

    .about-industry-card h3 {
        font-size: 1.45rem;
    }

    .about-industry-card p {
        font-size: .88rem;
    }
}


/* AJUSTE FINO - Nosotros / Industrias: escala tipográfica */
.about-industries-layout {
    grid-template-columns: minmax(445px, .76fr) minmax(650px, 1.24fr);
    gap: 46px;
}

.about-industries-copy {
    max-width: 500px;
}

.about-industries-kicker {
    margin-bottom: 24px;
    font-size: .67rem;
    letter-spacing: .18em;
}

.about-industries-copy h2 {
    max-width: 490px;
    font-size: clamp(2.65rem, 3.2vw, 3.7rem);
    line-height: .93;
    letter-spacing: -.054em;
}

.about-industry-card {
    min-height: 176px;
    padding: 25px 28px 22px;
}

.about-industry-icon {
    width: 27px;
    height: 27px;
    margin-bottom: 20px;
}

.about-industry-card h3 {
    margin-bottom: 10px;
    font-size: clamp(1.28rem, 1.42vw, 1.55rem);
    line-height: 1.03;
}

.about-industry-card p {
    font-size: .84rem;
    line-height: 1.58;
}

@media (max-width: 1180px) {
    .about-industries-layout {
        grid-template-columns: minmax(400px, .72fr) minmax(590px, 1.28fr);
        gap: 36px;
    }

    .about-industries-copy h2 {
        font-size: clamp(2.55rem, 3.1vw, 3.45rem);
    }
}

@media (max-width: 1100px) {
    .about-industries-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .about-industries-copy,
    .about-industries-copy h2 {
        max-width: 650px;
    }
}

@media (max-width: 720px) {
    .about-industries-copy h2 {
        font-size: clamp(2.4rem, 10.2vw, 3.25rem);
        line-height: .95;
    }

    .about-industry-card h3 {
        font-size: 1.3rem;
    }

    .about-industry-card p {
        font-size: .83rem;
    }
}


/* ==========================================================
   PÁGINA NOSOTROS - séptima sección / Gestión integrada
   ========================================================== */
.about-management-section {
    position: relative;
    padding: 78px 0 80px;
    background-color: #f4f2ed;
    background-image:
        linear-gradient(to right, rgba(53,49,41,.055) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(53,49,41,.055) 1px, transparent 1px);
    background-size: 80px 80px;
}

.about-management-layout {
    display: grid;
    grid-template-columns: minmax(600px, 1.05fr) minmax(500px, .95fr);
    gap: 40px;
    align-items: start;
}

.about-management-copy {
    max-width: 720px;
}

.about-management-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
    color: #805d00;
    font-size: .71rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.about-management-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #805d00;
}

.about-management-copy h2 {
    margin: 0;
    max-width: 700px;
    color: #211f20;
    font-size: clamp(3.05rem, 3.9vw, 4.35rem);
    line-height: .92;
    letter-spacing: -.058em;
    font-weight: 900;
}

.about-management-lead {
    max-width: 680px;
    margin: 22px 0 0;
    color: #5a5650;
    font-size: .92rem;
    line-height: 1.72;
}

.about-management-certs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 34px;
}

.about-management-cert {
    min-height: 138px;
    padding: 20px 20px 18px;
    border: 1px solid #d3cec4;
    background: rgba(255,255,255,.38);
}

.about-management-cert-icon {
    width: 27px;
    height: 27px;
    margin-bottom: 28px;
    color: #405a49;
}

.about-management-cert-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.about-management-cert strong {
    display: block;
    margin-bottom: 6px;
    color: #171615;
    font-size: 1.05rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.01em;
}

.about-management-cert span {
    color: #5a5650;
    font-size: .76rem;
    line-height: 1.3;
}

.about-management-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-width: 245px;
    min-height: 50px;
    margin-top: 30px;
    padding: 0 22px;
    background: #e0a800;
    color: #111;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.about-management-note {
    margin: 14px 0 0;
    color: #6a655f;
    font-size: .72rem;
    line-height: 1.5;
}

.about-management-recognition {
    display: grid;
    grid-template-columns: 145px 1fr auto;
    gap: 18px;
    align-items: center;
    max-width: 570px;
    margin-top: 28px;
    padding: 20px 22px;
    border-left: 3px solid #d5d0c7;
    background: rgba(255,255,255,.58);
}

.about-management-stars strong {
    display: block;
    margin-bottom: 6px;
    color: #171615;
    font-size: 1.3rem;
    line-height: 1;
    font-weight: 900;
}

.about-management-stars div {
    display: flex;
    gap: 2px;
    color: #d89e00;
    font-size: .82rem;
}

.about-management-recognition-copy strong,
.about-management-recognition-copy span {
    display: block;
}

.about-management-recognition-copy strong {
    margin-bottom: 5px;
    color: #171615;
    font-size: .83rem;
    line-height: 1.3;
    font-weight: 900;
}

.about-management-recognition-copy span {
    color: #5a5650;
    font-size: .72rem;
    line-height: 1.5;
}

.about-management-recognition-arrow {
    color: #111;
    font-size: 1.05rem;
}

.about-management-document {
    align-self: center;
    margin-top: 175px;
    border: 1px solid #d3cec4;
    background: rgba(255,255,255,.52);
}

.about-management-document-image {
    padding: 24px 20px 18px;
}

.about-management-document-image img {
    width: 100%;
    height: auto;
    display: block;
}

.about-management-document-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 20px;
    border-top: 1px solid #d3cec4;
    color: #111;
    font-size: .71rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

@media (max-width: 1120px) {
    .about-management-layout {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .about-management-document {
        margin-top: 0;
        max-width: 620px;
    }
}

@media (max-width: 760px) {
    .about-management-section {
        padding: 64px 0 68px;
    }

    .about-management-kicker {
        margin-bottom: 20px;
        font-size: .66rem;
        letter-spacing: .16em;
    }

    .about-management-copy h2 {
        max-width: 100%;
        font-size: clamp(2.6rem, 10.8vw, 3.5rem);
        line-height: .94;
    }

    .about-management-lead {
        font-size: .89rem;
        line-height: 1.66;
    }

    .about-management-certs {
        grid-template-columns: 1fr;
    }

    .about-management-cert {
        min-height: 0;
    }

    .about-management-recognition {
        grid-template-columns: 1fr;
    }

    .about-management-document-image {
        padding: 18px 14px 14px;
    }
}


/* ==========================================================
   AJUSTE FINO - Nosotros / Gestión integrada y certificada
   Reducir escala tipográfica general de la sección
   ========================================================== */
.about-management-kicker {
    margin-bottom: 20px;
    font-size: .68rem;
    letter-spacing: .18em;
}

.about-management-copy h2 {
    max-width: 660px;
    font-size: clamp(2.95rem, 3.85vw, 4.45rem);
    line-height: .93;
    letter-spacing: -.055em;
}

.about-management-copy > p {
    max-width: 690px;
    margin-top: 20px;
    font-size: .92rem;
    line-height: 1.68;
}

.about-management-iso-grid {
    gap: 12px;
    margin-top: 34px;
}

.about-management-iso-card {
    min-height: 136px;
    padding: 20px 20px 18px;
}

.about-management-iso-icon {
    width: 25px;
    height: 25px;
    margin-bottom: 24px;
}

.about-management-iso-card h3 {
    margin: 0 0 8px;
    font-size: 1.05rem;
    line-height: 1.08;
}

.about-management-iso-card p {
    font-size: .82rem;
    line-height: 1.48;
}

.about-management-button {
    margin-top: 30px;
    min-height: 50px;
    padding: 12px 24px;
    font-size: .78rem;
    letter-spacing: .13em;
}

.about-management-note {
    margin-top: 14px;
    font-size: .80rem;
    line-height: 1.5;
}

.about-management-award {
    margin-top: 26px;
    padding: 20px 22px;
    grid-template-columns: 145px 1fr 28px;
}

.about-management-stars strong {
    font-size: 1.12rem;
    line-height: 1.05;
}

.about-management-stars .stars {
    margin-top: 8px;
    font-size: .92rem;
    letter-spacing: .08em;
}

.about-management-award-copy h3 {
    margin: 0 0 5px;
    font-size: 1rem;
    line-height: 1.18;
}

.about-management-award-copy p {
    font-size: .82rem;
    line-height: 1.5;
}

.about-management-award-arrow {
    font-size: 1.15rem;
}

.about-management-certificate {
    max-width: 590px;
}

.about-management-certificate-visual {
    padding: 20px;
}

.about-management-certificate-visual img {
    max-height: 220px;
    object-fit: contain;
}

.about-management-certificate-footer {
    padding: 14px 18px;
    font-size: .78rem;
    letter-spacing: .14em;
}

@media (max-width: 1180px) {
    .about-management-copy h2 {
        max-width: 760px;
        font-size: clamp(2.8rem, 5.1vw, 4.2rem);
    }
}

@media (max-width: 760px) {
    .about-management-kicker {
        font-size: .66rem;
    }

    .about-management-copy h2 {
        max-width: 100%;
        font-size: clamp(2.45rem, 10.2vw, 3.5rem);
        line-height: .95;
    }

    .about-management-copy > p {
        font-size: .89rem;
        line-height: 1.62;
    }

    .about-management-iso-card {
        min-height: 0;
        padding: 18px 18px 16px;
    }

    .about-management-award {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 18px;
    }

    .about-management-award-arrow {
        display: none;
    }

    .about-management-certificate-footer {
        font-size: .73rem;
    }
}


/* ==========================================================
   AJUSTE FINO 2 - Nosotros / Gestión integrada y certificada
   Corrección real de escala tipográfica y proporciones
   ========================================================== */
.about-management-section {
    padding: 74px 0 78px;
}

.about-management-layout {
    grid-template-columns: minmax(560px, 1.02fr) minmax(470px, .98fr);
    gap: 38px;
}

.about-management-copy {
    max-width: 680px;
}

.about-management-kicker {
    margin-bottom: 18px;
    font-size: .66rem;
    letter-spacing: .17em;
}

.about-management-copy h2 {
    max-width: 620px;
    font-size: clamp(2.7rem, 3.35vw, 3.85rem);
    line-height: .94;
    letter-spacing: -.052em;
}

.about-management-lead {
    max-width: 650px;
    margin-top: 18px;
    font-size: .88rem;
    line-height: 1.62;
}

.about-management-certs {
    gap: 10px;
    margin-top: 28px;
}

.about-management-cert {
    min-height: 128px;
    padding: 18px 18px 16px;
}

.about-management-cert-icon {
    width: 24px;
    height: 24px;
    margin-bottom: 22px;
}

.about-management-cert strong {
    margin-bottom: 5px;
    font-size: .97rem;
    line-height: 1.02;
}

.about-management-cert span {
    font-size: .73rem;
    line-height: 1.28;
}

.about-management-button {
    min-width: 224px;
    min-height: 46px;
    margin-top: 24px;
    padding: 0 20px;
    font-size: .69rem;
    letter-spacing: .11em;
}

.about-management-note {
    margin-top: 12px;
    font-size: .69rem;
    line-height: 1.45;
}

.about-management-recognition {
    max-width: 560px;
    margin-top: 22px;
    padding: 17px 18px;
    grid-template-columns: 140px 1fr auto;
    gap: 14px;
}

.about-management-stars strong {
    margin-bottom: 5px;
    font-size: 1.08rem;
}

.about-management-stars div {
    font-size: .75rem;
}

.about-management-recognition-copy strong {
    margin-bottom: 4px;
    font-size: .78rem;
    line-height: 1.25;
}

.about-management-recognition-copy span {
    font-size: .69rem;
    line-height: 1.42;
}

.about-management-recognition-arrow {
    font-size: .98rem;
}

.about-management-document {
    max-width: 560px;
    margin-top: 165px;
}

.about-management-document-image {
    padding: 20px 18px 14px;
}

.about-management-document-image img {
    max-height: 212px;
    object-fit: contain;
}

.about-management-document-link {
    padding: 14px 18px;
    font-size: .69rem;
    letter-spacing: .11em;
}

@media (max-width: 1120px) {
    .about-management-layout {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .about-management-copy,
    .about-management-lead {
        max-width: 100%;
    }

    .about-management-copy h2 {
        max-width: 760px;
        font-size: clamp(2.6rem, 5vw, 3.7rem);
    }

    .about-management-document {
        margin-top: 0;
        max-width: 580px;
    }
}

@media (max-width: 760px) {
    .about-management-section {
        padding: 62px 0 66px;
    }

    .about-management-kicker {
        font-size: .64rem;
        letter-spacing: .16em;
    }

    .about-management-copy h2 {
        max-width: 100%;
        font-size: clamp(2.28rem, 9.8vw, 3.2rem);
        line-height: .96;
    }

    .about-management-lead {
        font-size: .86rem;
        line-height: 1.58;
    }

    .about-management-certs {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .about-management-cert {
        min-height: 0;
        padding: 16px 16px 14px;
    }

    .about-management-recognition {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 16px;
    }

    .about-management-document-image {
        padding: 16px 12px 12px;
    }

    .about-management-document-link {
        font-size: .66rem;
    }
}


/* ==========================================================
   AJUSTE FINO 3 - Nosotros / Gestión integrada y certificada
   Ajuste para igualar la referencia aprobada
   ========================================================== */
.about-management-copy {
    max-width: 700px;
}

.about-management-kicker {
    margin-bottom: 16px;
    font-size: .65rem;
    letter-spacing: .18em;
}

.about-management-copy h2 {
    max-width: 700px;
    font-size: clamp(2.55rem, 3.15vw, 4.15rem);
    line-height: .93;
    letter-spacing: -.05em;
}

.about-management-lead {
    max-width: 690px;
    margin-top: 16px;
    font-size: .84rem;
    line-height: 1.58;
}

.about-management-certs {
    margin-top: 24px;
}

@media (max-width: 1120px) {
    .about-management-copy h2 {
        max-width: 760px;
        font-size: clamp(2.45rem, 4.6vw, 3.75rem);
    }
}

@media (max-width: 760px) {
    .about-management-kicker {
        font-size: .62rem;
        letter-spacing: .16em;
    }

    .about-management-copy h2 {
        max-width: 100%;
        font-size: clamp(2.18rem, 9.2vw, 3rem);
        line-height: .95;
    }

    .about-management-lead {
        font-size: .83rem;
        line-height: 1.56;
    }
}


/* ==========================================================
   AJUSTE FINO 4 - Nosotros / Gestión integrada y certificada
   Forzar título en dos líneas como referencia
   ========================================================== */
@media (min-width: 761px) {
    .about-management-layout {
        grid-template-columns: minmax(700px, 1.08fr) minmax(430px, .92fr);
        gap: 34px;
    }

    .about-management-copy {
        max-width: 760px;
    }

    .about-management-copy h2 {
        max-width: 760px;
        font-size: clamp(2.35rem, 3.05vw, 3.65rem);
        line-height: .95;
        letter-spacing: -.05em;
    }

    .about-management-lead {
        max-width: 700px;
        font-size: .83rem;
        line-height: 1.56;
    }
}


/* ==========================================================
   PÁGINA NOSOTROS - última sección / CTA final
   ========================================================== */
.about-final-cta {
    position: relative;
    min-height: 330px;
    overflow: hidden;
    background: #171417;
    color: #fff;
}

.about-final-cta-bg {
    position: absolute;
    inset: 0;
    background: url('../img/contacto-equipo.webp') center 42% / cover no-repeat;
}

.about-final-cta-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,
            rgba(20,17,20,.94) 0%,
            rgba(20,17,20,.90) 34%,
            rgba(20,17,20,.70) 58%,
            rgba(20,17,20,.42) 100%);
}

.about-final-cta-shell {
    position: relative;
    z-index: 2;
    min-height: 330px;
    display: flex;
    align-items: center;
    padding-top: 52px;
    padding-bottom: 52px;
}

.about-final-cta-copy {
    max-width: 760px;
}

.about-final-cta-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    color: #e0a800;
    font-size: .68rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.about-final-cta-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #e0a800;
}

.about-final-cta h2 {
    margin: 0;
    max-width: 740px;
    color: #fff;
    font-size: clamp(2.8rem, 3.6vw, 4.1rem);
    line-height: .93;
    letter-spacing: -.055em;
    font-weight: 900;
}

.about-final-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-width: 180px;
    min-height: 46px;
    margin-top: 28px;
    padding: 0 20px;
    background: #e0a800;
    color: #111;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.about-final-cta-button:hover {
    background: #f2b900;
}

@media (max-width: 760px) {
    .about-final-cta,
    .about-final-cta-shell {
        min-height: 290px;
    }

    .about-final-cta-shell {
        padding-top: 42px;
        padding-bottom: 42px;
    }

    .about-final-cta-kicker {
        font-size: .64rem;
        letter-spacing: .16em;
    }

    .about-final-cta h2 {
        max-width: 100%;
        font-size: clamp(2.3rem, 10vw, 3.2rem);
        line-height: .95;
    }

    .about-final-cta-button {
        margin-top: 24px;
        min-height: 44px;
        font-size: .68rem;
    }
}


/* ==========================================================
   AJUSTE FINAL CTA NOSOTROS - composición horizontal exacta
   ========================================================== */
.about-final-cta {
    min-height: 315px;
}

.about-final-cta-shell {
    min-height: 315px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 80px;
    align-items: center;
    padding-top: 50px;
    padding-bottom: 50px;
}

.about-final-cta-copy {
    max-width: 880px;
}

.about-final-cta-kicker {
    margin-bottom: 22px;
    font-size: .67rem;
    letter-spacing: .18em;
}

.about-final-cta h2 {
    max-width: 860px;
    font-size: clamp(2.75rem, 3.45vw, 4rem);
    line-height: .92;
    letter-spacing: -.052em;
}

.about-final-cta-button {
    min-width: 198px;
    min-height: 52px;
    margin-top: 0;
    padding: 0 28px;
    font-size: .73rem;
    letter-spacing: .12em;
    justify-self: end;
}

@media (max-width: 980px) {
    .about-final-cta-shell {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .about-final-cta-button {
        justify-self: start;
    }
}

@media (max-width: 760px) {
    .about-final-cta,
    .about-final-cta-shell {
        min-height: 290px;
    }

    .about-final-cta-shell {
        padding-top: 40px;
        padding-bottom: 40px;
        gap: 24px;
    }

    .about-final-cta h2 {
        font-size: clamp(2.2rem, 9.6vw, 3.1rem);
        line-height: .94;
    }

    .about-final-cta-button {
        min-width: 180px;
        min-height: 46px;
        padding: 0 20px;
        font-size: .68rem;
    }
}


/* ==========================================================
   PÁGINA SERVICIOS - primera sección / Hero
   ========================================================== */
.services-page-hero {
    position: relative;
    min-height: 345px;
    overflow: hidden;
    background: #191719;
    color: #fff;
}

.services-page-hero-bg {
    position: absolute;
    inset: 0;
    background: url('../img/aridos-planta.webp') center 48% / cover no-repeat;
}

.services-page-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,
            rgba(19,18,19,.95) 0%,
            rgba(19,18,19,.92) 26%,
            rgba(19,18,19,.76) 48%,
            rgba(19,18,19,.48) 67%,
            rgba(19,18,19,.28) 100%),
        linear-gradient(0deg, rgba(10,10,10,.25), rgba(10,10,10,.04));
}

.services-page-hero-shell {
    position: relative;
    z-index: 2;
    min-height: 345px;
    display: grid;
    grid-template-columns: minmax(650px, 1.55fr) minmax(360px, .75fr);
    gap: 46px;
    align-items: center;
    padding-top: 46px;
    padding-bottom: 44px;
}

.services-page-hero-copy {
    max-width: 760px;
}

.services-page-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
    color: #e0a800;
    font-size: .69rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .19em;
    text-transform: uppercase;
}

.services-page-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #e0a800;
}

.services-page-hero h1 {
    margin: 0;
    max-width: 780px;
    color: #fff;
    font-size: clamp(3rem, 3.85vw, 4.35rem);
    line-height: .92;
    letter-spacing: -.058em;
    font-weight: 900;
}

.services-page-hero-copy > p {
    max-width: 770px;
    margin: 22px 0 0;
    color: rgba(255,255,255,.88);
    font-size: .90rem;
    line-height: 1.72;
}

.services-page-hero-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    min-height: 90px;
}

.services-page-stat {
    min-height: 88px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 8px 28px;
}

.services-page-stat-first {
    border-left: 1px solid rgba(255,255,255,.70);
}

.services-page-stat strong {
    display: block;
    margin-bottom: 9px;
    color: #e0a800;
    font-size: clamp(2rem, 2.4vw, 2.75rem);
    line-height: .95;
    letter-spacing: -.03em;
    font-weight: 900;
}

.services-page-stat span {
    display: block;
    color: rgba(255,255,255,.72);
    font-size: .70rem;
    line-height: 1.55;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.services-page-tabs {
    min-height: 50px;
    background: #f7f6f2;
    border-bottom: 1px solid #d8d4ca;
}

.services-page-tabs-inner {
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(24px, 3.2vw, 44px);
    white-space: nowrap;
}

.services-page-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #5a5650;
    font-size: .67rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.services-page-tabs a span {
    color: #805d00;
}

.services-page-tabs a:hover {
    color: #111;
}

@media (max-width: 1120px) {
    .services-page-hero-shell {
        grid-template-columns: 1fr;
        gap: 28px;
        align-items: end;
    }

    .services-page-hero-stats {
        max-width: 470px;
    }

    .services-page-tabs {
        overflow-x: auto;
    }

    .services-page-tabs-inner {
        width: max-content;
        justify-content: flex-start;
        padding-left: 24px;
        padding-right: 24px;
    }
}

@media (max-width: 760px) {
    .services-page-hero {
        min-height: 410px;
    }

    .services-page-hero-shell {
        min-height: 410px;
        padding-top: 42px;
        padding-bottom: 36px;
    }

    .services-page-kicker {
        margin-bottom: 20px;
        font-size: .65rem;
        letter-spacing: .17em;
    }

    .services-page-hero h1 {
        font-size: clamp(2.55rem, 11vw, 3.55rem);
        line-height: .94;
    }

    .services-page-hero-copy > p {
        font-size: .87rem;
        line-height: 1.62;
    }

    .services-page-hero-stats {
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .services-page-stat {
        padding: 8px 16px;
    }

    .services-page-stat strong {
        font-size: 1.85rem;
    }

    .services-page-stat span {
        font-size: .64rem;
    }
}


/* ==========================================================
   PÁGINA SERVICIOS - segunda sección / Capacidad operativa
   ========================================================== */
.services-capacity-section {
    position: relative;
    padding: 66px 0 64px;
    background: #1f1c1f;
    color: #fff;
}

.services-capacity-layout {
    display: grid;
    grid-template-columns: minmax(390px, .75fr) minmax(720px, 1.25fr);
    gap: 56px;
    align-items: center;
}

.services-capacity-copy {
    max-width: 450px;
}

.services-capacity-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
    color: #e0a800;
    font-size: .69rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.services-capacity-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #e0a800;
}

.services-capacity-copy h2 {
    margin: 0;
    max-width: 430px;
    color: #fff;
    font-size: clamp(3rem, 3.75vw, 4.25rem);
    line-height: .91;
    letter-spacing: -.058em;
    font-weight: 900;
}

.services-capacity-copy p {
    max-width: 440px;
    margin: 22px 0 0;
    color: rgba(255,255,255,.76);
    font-size: .88rem;
    line-height: 1.62;
}

.services-capacity-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,.62);
    border-left: 1px solid rgba(255,255,255,.62);
}

.services-capacity-card {
    min-height: 182px;
    padding: 24px 20px 20px;
    border-right: 1px solid rgba(255,255,255,.62);
    border-bottom: 1px solid rgba(255,255,255,.62);
}

.services-capacity-icon {
    width: 28px;
    height: 28px;
    margin-bottom: 22px;
    color: #e0a800;
}

.services-capacity-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.services-capacity-card > strong {
    display: block;
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(1.85rem, 2.1vw, 2.35rem);
    line-height: .95;
    letter-spacing: -.03em;
    font-weight: 900;
}

.services-capacity-card h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: .78rem;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.services-capacity-card p {
    margin: 0;
    color: rgba(255,255,255,.60);
    font-size: .77rem;
    line-height: 1.55;
}

@media (max-width: 1160px) {
    .services-capacity-layout {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .services-capacity-copy,
    .services-capacity-copy p {
        max-width: 680px;
    }
}

@media (max-width: 760px) {
    .services-capacity-section {
        padding: 60px 0 64px;
    }

    .services-capacity-kicker {
        font-size: .66rem;
        letter-spacing: .16em;
    }

    .services-capacity-copy h2 {
        max-width: 100%;
        font-size: clamp(2.55rem, 10.8vw, 3.55rem);
        line-height: .94;
    }

    .services-capacity-copy p {
        font-size: .86rem;
    }

    .services-capacity-grid {
        grid-template-columns: 1fr;
        border-left: 0;
    }

    .services-capacity-card {
        min-height: 0;
        padding: 22px 0 20px;
        border-right: 0;
    }
}


/* ==========================================================
   AJUSTE FINO - Servicios / Capacidad operativa
   Reducir título para verse en 4 líneas
   ========================================================== */
@media (min-width: 761px) {
    .services-capacity-copy {
        max-width: 420px;
    }

    .services-capacity-copy h2 {
        max-width: 410px;
        font-size: clamp(2.55rem, 3.05vw, 3.6rem);
        line-height: .94;
        letter-spacing: -.052em;
    }

    .services-capacity-copy p {
        max-width: 415px;
    }
}


/* ==========================================================
   PÁGINA SERVICIOS - tercera sección / Cosecha y operaciones forestales
   ========================================================== */
.service-detail-section {
    position: relative;
    background: #f3f1ec;
    color: #1f1c1f;
}

.service-detail-shell {
    border-left: 1px solid #d9d4ca;
    border-bottom: 1px solid #d9d4ca;
}

.service-detail-layout {
    display: grid;
    grid-template-columns: minmax(470px, .92fr) minmax(620px, 1.08fr);
    gap: 48px;
    padding: 36px 0 42px 40px;
    align-items: start;
}

.service-detail-copy {
    max-width: 490px;
}

.service-detail-topline {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 12px;
    align-items: start;
    margin-bottom: 10px;
}

.service-detail-number {
    display: block;
    padding-top: 40px;
    color: #b6b0a4;
    font-size: 1.12rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.02em;
}

.service-detail-kicker {
    min-height: 36px;
}

.service-detail-kicker > span {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #8f6500;
    font-size: .72rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.service-detail-kicker-line {
    display: inline-block;
    width: 30px;
    height: 2px;
    background: #b58400;
}

.service-detail-kicker svg {
    width: 15px;
    height: 15px;
    display: block;
    color: #8f6500;
}

.service-detail-kicker strong {
    font-weight: 900;
}

.service-detail-copy h2 {
    margin: 10px 0 22px 52px;
    max-width: 420px;
    color: #1f1c1f;
    font-size: clamp(3.05rem, 3.75vw, 4.2rem);
    line-height: .91;
    letter-spacing: -.06em;
    font-weight: 900;
}

.service-detail-copy > p {
    margin: 0 0 28px 0;
    max-width: 450px;
    color: #5a544b;
    font-size: .92rem;
    line-height: 1.72;
}

.service-detail-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 24px;
    max-width: 480px;
    margin-bottom: 24px;
}

.service-detail-feature {
    display: flex;
    gap: 12px;
    color: #231f20;
    font-size: .85rem;
    line-height: 1.4;
    font-weight: 700;
}

.service-detail-feature span {
    color: #9b7300;
    font-weight: 900;
    flex: 0 0 auto;
}

.service-detail-support-box {
    max-width: 475px;
    padding: 16px 20px 18px;
    margin-bottom: 28px;
    background: rgba(255,255,255,.65);
    border: 1px solid #e3ddd2;
}

.service-detail-support-box h3 {
    margin: 0 0 12px;
    color: #8f6500;
    font-size: .72rem;
    line-height: 1.2;
    letter-spacing: .18em;
    text-transform: uppercase;
    font-weight: 900;
}

.service-detail-support-box p {
    margin: 0;
    color: #5a544b;
    font-size: .84rem;
    line-height: 1.7;
}

.service-detail-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 44px;
    padding: 0 14px 0 12px;
    border: 1px solid #d8d1c6;
    color: #1f1c1f;
    background: rgba(255,255,255,.25);
    text-decoration: none;
    font-size: .72rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    transition: background .2s ease, transform .2s ease;
}

.service-detail-button:hover {
    background: rgba(255,255,255,.65);
    transform: translateY(-1px);
}

.service-detail-button span {
    font-size: 1.05rem;
}

.service-detail-visual img {
    display: block;
    width: 100%;
    min-height: 648px;
    object-fit: cover;
    border: 1px solid #e2ddcf;
}

@media (max-width: 1160px) {
    .service-detail-layout {
        grid-template-columns: 1fr;
        gap: 34px;
        padding: 34px 0 40px 26px;
    }

    .service-detail-copy {
        max-width: 100%;
    }

    .service-detail-copy h2 {
        margin-left: 52px;
        max-width: 540px;
    }

    .service-detail-copy > p,
    .service-detail-features,
    .service-detail-support-box {
        max-width: 100%;
    }
}

@media (max-width: 760px) {
    .service-detail-shell {
        border-left: 0;
    }

    .service-detail-layout {
        gap: 24px;
        padding: 28px 0 34px;
    }

    .service-detail-topline {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .service-detail-number {
        padding-top: 0;
        font-size: 1rem;
    }

    .service-detail-kicker > span {
        flex-wrap: wrap;
        gap: 8px;
        font-size: .66rem;
        letter-spacing: .16em;
    }

    .service-detail-copy h2 {
        margin: 6px 0 18px;
        max-width: 100%;
        font-size: clamp(2.35rem, 10vw, 3.3rem);
        line-height: .94;
    }

    .service-detail-copy > p {
        font-size: .87rem;
        line-height: 1.65;
    }

    .service-detail-features {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .service-detail-support-box {
        padding: 14px 16px 16px;
    }

    .service-detail-support-box p {
        font-size: .82rem;
    }

    .service-detail-visual img {
        min-height: 360px;
    }
}


/* ==========================================================
   PÁGINA SERVICIOS - cuarta sección / Caminos forestales
   ========================================================== */
.service-detail-section-alt .service-detail-layout {
    grid-template-columns: minmax(470px, .9fr) minmax(520px, 1.1fr);
    padding-left: 40px;
}

.service-detail-layout-alt .service-detail-copy {
    max-width: 620px;
}

.service-detail-layout-alt .service-detail-copy h2 {
    max-width: 360px;
}

.service-detail-layout-alt .service-detail-copy > p {
    max-width: 620px;
}

.service-detail-layout-alt .service-detail-features,
.service-detail-layout-alt .service-detail-support-box {
    max-width: 715px;
}

.service-detail-visual-alt img {
    min-height: 526px;
}

@media (max-width: 1160px) {
    .service-detail-section-alt .service-detail-layout {
        grid-template-columns: 1fr;
        padding-left: 26px;
    }

    .service-detail-layout-alt .service-detail-copy,
    .service-detail-layout-alt .service-detail-copy > p,
    .service-detail-layout-alt .service-detail-features,
    .service-detail-layout-alt .service-detail-support-box {
        max-width: 100%;
    }

    .service-detail-visual-alt {
        order: 2;
    }

    .service-detail-layout-alt .service-detail-copy {
        order: 1;
    }
}

@media (max-width: 760px) {
    .service-detail-section-alt .service-detail-layout {
        padding-left: 0;
    }

    .service-detail-visual-alt img {
        min-height: 340px;
    }
}


/* ==========================================================
   PÁGINA SERVICIOS - quinta sección / Producción de áridos
   ========================================================== */
#aridos .service-detail-copy h2 {
    max-width: 380px;
}

#aridos .service-detail-copy > p {
    max-width: 470px;
}

#aridos .service-detail-features,
#aridos .service-detail-support-box {
    max-width: 475px;
}

#aridos .service-detail-visual img {
    min-height: 602px;
}

@media (max-width: 1160px) {
    #aridos .service-detail-copy h2,
    #aridos .service-detail-copy > p,
    #aridos .service-detail-features,
    #aridos .service-detail-support-box {
        max-width: 100%;
    }
}

@media (max-width: 760px) {
    #aridos .service-detail-visual img {
        min-height: 340px;
    }
}


/* ==========================================================
   PÁGINA SERVICIOS - quinta sección / Obras civiles
   ========================================================== */
.service-detail-layout-obras .service-detail-copy h2 {
    max-width: 430px;
}

.service-detail-layout-obras .service-detail-copy > p {
    max-width: 620px;
}

.service-detail-layout-obras .service-detail-features,
.service-detail-layout-obras .service-detail-support-box {
    max-width: 715px;
}

.service-detail-visual-obras img {
    min-height: 438px;
    height: 438px;
    object-position: center;
}

@media (max-width: 1160px) {
    .service-detail-layout-obras .service-detail-copy > p,
    .service-detail-layout-obras .service-detail-features,
    .service-detail-layout-obras .service-detail-support-box {
        max-width: 100%;
    }
}

@media (max-width: 760px) {
    .service-detail-visual-obras img {
        min-height: 330px;
        height: 330px;
    }
}


/* ==========================================================
   PÁGINA SERVICIOS - quinta ficha / Movimiento de tierra
   ========================================================== */
.service-detail-layout-movimiento .service-detail-copy {
    max-width: 490px;
}

.service-detail-layout-movimiento .service-detail-copy h2 {
    max-width: 420px;
}

.service-detail-layout-movimiento .service-detail-copy > p,
.service-detail-layout-movimiento .service-detail-features,
.service-detail-layout-movimiento .service-detail-support-box {
    max-width: 480px;
}

.service-detail-visual-movimiento img {
    min-height: 570px;
    object-position: center;
}

@media (max-width: 1160px) {
    .service-detail-layout-movimiento .service-detail-copy,
    .service-detail-layout-movimiento .service-detail-copy > p,
    .service-detail-layout-movimiento .service-detail-features,
    .service-detail-layout-movimiento .service-detail-support-box {
        max-width: 100%;
    }
}

@media (max-width: 760px) {
    .service-detail-visual-movimiento img {
        min-height: 340px;
    }
}


/* ==========================================================
   PÁGINA SERVICIOS - última sección / CTA final
   ========================================================== */
.services-final-cta {
    position: relative;
    min-height: 292px;
    overflow: hidden;
    background: #111;
    color: #fff;
}

.services-final-cta-bg {
    position: absolute;
    inset: 0;
    background: url('../img/servicios-caminos-forestales.webp') center 48% / cover no-repeat;
    transform: scale(1.02);
}

.services-final-cta-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,
            rgba(8,8,8,.90) 0%,
            rgba(8,8,8,.84) 34%,
            rgba(8,8,8,.68) 62%,
            rgba(8,8,8,.82) 100%);
}

.services-final-cta-shell {
    position: relative;
    z-index: 2;
    min-height: 292px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 58px;
    align-items: center;
    padding-top: 44px;
    padding-bottom: 44px;
}

.services-final-cta-copy {
    max-width: 980px;
}

.services-final-cta-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    color: #e0a800;
    font-size: .71rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.services-final-cta-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #e0a800;
}

.services-final-cta-kicker-icon {
    font-size: .92rem;
    line-height: 1;
}

.services-final-cta h2 {
    margin: 0;
    max-width: 1020px;
    color: #fff;
    font-size: clamp(3rem, 4vw, 4.6rem);
    line-height: .91;
    letter-spacing: -.058em;
    font-weight: 900;
}

.services-final-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-width: 185px;
    min-height: 54px;
    padding: 0 20px;
    background: #e0a800;
    color: #111;
    text-decoration: none;
    font-size: .75rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
    transition: background .2s ease, transform .2s ease;
}

.services-final-cta-button:hover {
    background: #f0b900;
    transform: translateY(-1px);
}

@media (max-width: 980px) {
    .services-final-cta-shell {
        grid-template-columns: 1fr;
        gap: 28px;
        align-items: start;
    }

    .services-final-cta-button {
        justify-self: start;
    }
}

@media (max-width: 760px) {
    .services-final-cta,
    .services-final-cta-shell {
        min-height: 260px;
    }

    .services-final-cta-shell {
        padding-top: 38px;
        padding-bottom: 38px;
    }

    .services-final-cta-kicker {
        flex-wrap: wrap;
        font-size: .65rem;
        letter-spacing: .16em;
        margin-bottom: 17px;
    }

    .services-final-cta h2 {
        max-width: 100%;
        font-size: clamp(2.35rem, 10vw, 3.4rem);
        line-height: .94;
    }

    .services-final-cta-button {
        min-height: 48px;
        font-size: .69rem;
    }
}


/* ==========================================================
   AJUSTE FINAL - Servicios / CTA antes del footer
   Réplica visual de la referencia aprobada
   ========================================================== */
@media (min-width: 981px) {
    .services-final-cta {
        min-height: 296px;
        background: #111;
    }

    .services-final-cta-bg {
        background: url('../img/servicios-cta-referencia.webp') center center / 100% 100% no-repeat;
        transform: none;
    }

    .services-final-cta-overlay {
        display: none;
    }

    .services-final-cta-shell {
        min-height: 296px;
        opacity: 0;
    }
}

@media (max-width: 980px) {
    .services-final-cta-bg {
        background-image: url('../img/camino-forestal.webp'), url('../img/servicios-caminos-forestales.webp');
        background-position: center;
        background-size: cover;
    }

    .services-final-cta h2 {
        font-size: clamp(2.15rem, 7.8vw, 3rem);
        line-height: .95;
    }

    .services-final-cta-kicker {
        font-size: .64rem;
    }
}

/* ==========================================================
   VENTA / ARRIENDO - HERO INICIAL
   ========================================================== */
.rental-hero {
    position: relative;
    min-height: 420px;
    overflow: hidden;
    background: #1d1c20;
    color: #fff;
    border-top: 1px solid rgba(255,255,255,.08);
}

.rental-hero-bg {
    position: absolute;
    inset: 0;
    background: url('../img/aridos-camion.webp') 78% center / cover no-repeat;
    z-index: 1;
}

.rental-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(90deg,
            rgba(29,28,32,1) 0%,
            rgba(29,28,32,.98) 18%,
            rgba(29,28,32,.92) 38%,
            rgba(29,28,32,.68) 58%,
            rgba(25,46,61,.40) 78%,
            rgba(17,88,132,.22) 100%),
        linear-gradient(180deg,
            rgba(0,0,0,.04) 0%,
            rgba(0,0,0,.12) 100%);
}

.rental-hero-shell {
    position: relative;
    z-index: 3;
    min-height: 420px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 404px;
    align-items: center;
    gap: 54px;
    padding-top: 34px;
    padding-bottom: 34px;
}

.rental-hero-copy {
    max-width: 820px;
    padding-right: 16px;
}

.rental-hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 30px;
    color: #e0a800;
    font-size: .78rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    font-weight: 900;
}

.rental-hero-kicker-line {
    width: 32px;
    height: 2px;
    background: #e0a800;
    flex: 0 0 32px;
}

.rental-hero-copy h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(3rem, 4.4vw, 4.15rem);
    line-height: .94;
    letter-spacing: -.055em;
    font-weight: 900;
    max-width: 680px;
}

.rental-hero-copy p {
    max-width: 710px;
    margin: 18px 0 0;
    color: rgba(255,255,255,.88);
    font-size: .98rem;
    line-height: 1.62;
}

.rental-hero-panel {
    width: 100%;
    padding: 4px 8px 0 28px;
    border-left: 1px solid rgba(255,255,255,.72);
}

.rental-hero-panel h2 {
    margin: 0 0 12px;
    color: rgba(255,255,255,.74);
    font-size: 1.45rem;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 800;
}

.rental-hero-panel-list {
    border-top: 1px solid rgba(255,255,255,.72);
}

.rental-hero-item {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr) 30px;
    align-items: center;
    gap: 16px;
    padding: 16px 0;
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,.72);
}

.rental-hero-item-icon {
    width: 42px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e0a800;
    color: #111;
}

.rental-hero-item-icon svg {
    width: 22px;
    height: 22px;
    display: block;
}

.rental-hero-item-copy {
    display: grid;
    gap: 2px;
}

.rental-hero-item-copy strong {
    font-size: 1.04rem;
    line-height: 1.1;
    font-weight: 800;
}

.rental-hero-item-copy small {
    color: rgba(255,255,255,.58);
    font-size: .94rem;
    line-height: 1.2;
}

.rental-hero-item-number {
    justify-self: end;
    color: #e0a800;
    font-size: 1.02rem;
    line-height: 1;
    font-weight: 800;
}

.rental-hero-item:hover .rental-hero-item-copy strong,
.rental-hero-item.is-active .rental-hero-item-copy strong {
    color: #fff;
}

@media (max-width: 1200px) {
    .rental-hero-shell {
        grid-template-columns: minmax(0, 1fr) 370px;
        gap: 36px;
    }

    .rental-hero-copy h1 {
        font-size: clamp(2.8rem, 4.4vw, 3.9rem);
        max-width: 620px;
    }
}

@media (max-width: 900px) {
    .rental-hero {
        min-height: auto;
    }

    .rental-hero-bg {
        background-position: 70% center;
    }

    .rental-hero-shell {
        min-height: auto;
        grid-template-columns: 1fr;
        gap: 30px;
        padding-top: 44px;
        padding-bottom: 44px;
    }

    .rental-hero-copy {
        padding-right: 0;
    }

    .rental-hero-panel {
        max-width: 520px;
        padding: 0 0 0 18px;
    }
}

@media (max-width: 640px) {
    .rental-hero-kicker {
        margin-bottom: 22px;
        font-size: .7rem;
        letter-spacing: .15em;
        gap: 10px;
    }

    .rental-hero-kicker-line {
        width: 28px;
        flex-basis: 28px;
    }

    .rental-hero-copy h1 {
        font-size: clamp(2.45rem, 10vw, 3.45rem);
        line-height: .96;
    }

    .rental-hero-copy p {
        font-size: .94rem;
        line-height: 1.58;
    }

    .rental-hero-panel {
        max-width: 100%;
        padding-left: 14px;
    }

    .rental-hero-panel h2 {
        font-size: 1rem;
        letter-spacing: .09em;
    }

    .rental-hero-item {
        grid-template-columns: 40px minmax(0,1fr) 26px;
        gap: 12px;
        padding: 14px 0;
    }

    .rental-hero-item-icon {
        width: 40px;
        height: 40px;
    }

    .rental-hero-item-copy strong {
        font-size: .98rem;
    }

    .rental-hero-item-copy small {
        font-size: .83rem;
    }

    .rental-hero-item-number {
        font-size: .92rem;
    }
}


/* ==========================================================
   VENTA / ARRIENDO - SEGUNDA SECCIÓN / Alternativas comerciales
   ========================================================== */
.rental-options-section {
    position: relative;
    padding: 68px 0 76px;
    background-color: #f4f2ed;
    background-image:
        linear-gradient(to right, rgba(53,49,41,.045) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(53,49,41,.045) 1px, transparent 1px);
    background-size: 80px 80px;
    color: #1f1c1f;
}

.rental-options-wrap {
    max-width: 1280px;
}

.rental-options-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    color: #805d00;
    font-size: .70rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .19em;
    text-transform: uppercase;
}

.rental-options-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #805d00;
}

.rental-options-section h2 {
    margin: 0;
    color: #1f1c1f;
    font-size: clamp(2.55rem, 3.2vw, 3.7rem);
    line-height: .95;
    letter-spacing: -.05em;
    font-weight: 900;
}

.rental-options-lead {
    margin: 14px 0 0;
    color: #5c574f;
    font-size: .95rem;
    line-height: 1.62;
}

.rental-options-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 34px;
}

.rental-option-card {
    min-height: 250px;
    display: flex;
    flex-direction: column;
    padding: 24px 24px 22px;
    border: 1px solid #d7d2c8;
    background: rgba(255,255,255,.26);
}

.rental-option-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 24px;
}

.rental-option-icon {
    width: 30px;
    height: 30px;
    color: #405a49;
}

.rental-option-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.rental-option-number {
    color: #8d877e;
    font-size: .82rem;
    font-weight: 800;
}

.rental-option-card h3 {
    margin: 0 0 12px;
    color: #171615;
    font-size: clamp(1.45rem, 1.7vw, 1.9rem);
    line-height: 1.02;
    letter-spacing: -.035em;
    font-weight: 900;
}

.rental-option-card p {
    margin: 0;
    color: #5d574f;
    font-size: .88rem;
    line-height: 1.7;
}

.rental-option-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding-top: 22px;
    color: #805d00;
    text-decoration: none;
    font-size: .82rem;
    line-height: 1;
    font-weight: 900;
}

.rental-option-link span {
    font-size: 1.05rem;
    transition: transform .18s ease;
}

.rental-option-link:hover span {
    transform: translateX(3px);
}

@media (max-width: 980px) {
    .rental-options-grid {
        grid-template-columns: 1fr;
    }

    .rental-option-card {
        min-height: 0;
    }
}

@media (max-width: 640px) {
    .rental-options-section {
        padding: 58px 0 62px;
    }

    .rental-options-kicker {
        font-size: .66rem;
        letter-spacing: .16em;
    }

    .rental-options-section h2 {
        font-size: clamp(2.2rem, 9.8vw, 3rem);
    }

    .rental-options-lead {
        font-size: .9rem;
    }

    .rental-option-card {
        padding: 20px 18px 18px;
    }

    .rental-option-card h3 {
        font-size: 1.35rem;
    }

    .rental-option-card p {
        font-size: .85rem;
    }
}


/* ==========================================================
   VENTA / ARRIENDO - TERCERA SECCIÓN / Arriendo de maquinaria
   ========================================================== */
.rental-machinery-section {
    position: relative;
    padding: 62px 0 70px;
    background: #f4f2ed;
    color: #1f1c1f;
}

.rental-machinery-wrap {
    max-width: 1280px;
}

.rental-machinery-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    color: #805d00;
    font-size: .69rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .19em;
    text-transform: uppercase;
}

.rental-machinery-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #805d00;
}

.rental-machinery-section h2 {
    margin: 0;
    color: #171615;
    font-size: clamp(2.35rem, 2.8vw, 3.25rem);
    line-height: .96;
    letter-spacing: -.045em;
    font-weight: 900;
}

.rental-machinery-lead {
    margin: 12px 0 0;
    color: #5b564e;
    font-size: .91rem;
    line-height: 1.6;
}

.rental-machinery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 34px;
}

.rental-machinery-card {
    min-height: 218px;
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid #d7d2c8;
    background: rgba(255,255,255,.72);
}

.rental-machinery-card-image {
    width: 112px;
    height: 100%;
    min-height: 218px;
    display: block;
    object-fit: cover;
    object-position: center;
}

.rental-machinery-card-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 17px 16px 14px;
}

.rental-machinery-card h3 {
    margin: 0 0 8px;
    color: #171615;
    font-size: 1.13rem;
    line-height: 1.07;
    letter-spacing: -.025em;
    font-weight: 900;
}

.rental-machinery-description {
    margin: 0 0 10px;
    color: #5c574f;
    font-size: .78rem;
    line-height: 1.5;
}

.rental-machinery-equipment {
    margin: 0 0 12px;
    color: #736a5f;
    font-size: .68rem;
    line-height: 1.55;
}

.rental-machinery-add {
    width: 100%;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: auto;
    border: 0;
    background: #e0a800;
    color: #111;
    cursor: pointer;
    font-family: inherit;
    font-size: .72rem;
    line-height: 1;
    font-weight: 900;
    transition: background .18s ease, transform .18s ease;
}

.rental-machinery-add span {
    font-size: 1rem;
    font-weight: 500;
}

.rental-machinery-add:hover {
    background: #edb600;
    transform: translateY(-1px);
}

@media (max-width: 1120px) {
    .rental-machinery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .rental-machinery-section {
        padding: 54px 0 60px;
    }

    .rental-machinery-kicker {
        font-size: .65rem;
        letter-spacing: .16em;
    }

    .rental-machinery-section h2 {
        font-size: clamp(2.05rem, 9.5vw, 2.8rem);
    }

    .rental-machinery-lead {
        font-size: .87rem;
    }

    .rental-machinery-grid {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-top: 28px;
    }

    .rental-machinery-card {
        grid-template-columns: 105px minmax(0, 1fr);
        min-height: 205px;
    }

    .rental-machinery-card-image {
        width: 105px;
        min-height: 205px;
    }

    .rental-machinery-card h3 {
        font-size: 1.05rem;
    }
}


/* ==========================================================
   AJUSTE FINO - VENTA / ARRIENDO
   Alternativas comerciales + Arriendo de maquinaria
   ========================================================== */

/* --- Alternativas comerciales: fondo y escala según referencia --- */
.rental-options-section {
    padding: 66px 0 64px;
    background: #fbfaf7;
    background-image: none;
}

.rental-options-kicker {
    margin-bottom: 18px;
    font-size: .64rem;
    letter-spacing: .18em;
}

.rental-options-section h2 {
    font-size: clamp(2.05rem, 2.45vw, 2.75rem);
    line-height: .98;
    letter-spacing: -.04em;
}

.rental-options-lead {
    margin-top: 12px;
    font-size: .84rem;
    line-height: 1.55;
}

.rental-options-grid {
    gap: 12px;
    margin-top: 32px;
}

.rental-option-card {
    min-height: 246px;
    padding: 22px 22px 20px;
    border-color: #d9d4ca;
    background: #f4f1eb;
}

.rental-option-card-top {
    margin-bottom: 22px;
}

.rental-option-icon {
    width: 27px;
    height: 27px;
}

.rental-option-number {
    font-size: .72rem;
}

.rental-option-card h3 {
    margin-bottom: 11px;
    font-size: clamp(1.22rem, 1.42vw, 1.5rem);
    line-height: 1.06;
    letter-spacing: -.025em;
}

.rental-option-card p {
    font-size: .78rem;
    line-height: 1.62;
}

.rental-option-link {
    gap: 9px;
    padding-top: 20px;
    font-size: .76rem;
}

.rental-option-link span {
    font-size: .96rem;
}


/* --- Arriendo de maquinaria: reducir escala general --- */
.rental-machinery-section {
    padding: 58px 0 66px;
}

.rental-machinery-kicker {
    margin-bottom: 16px;
    font-size: .64rem;
    letter-spacing: .18em;
}

.rental-machinery-section h2 {
    font-size: clamp(2rem, 2.35vw, 2.65rem);
    line-height: .98;
    letter-spacing: -.035em;
}

.rental-machinery-lead {
    margin-top: 10px;
    font-size: .82rem;
    line-height: 1.55;
}

.rental-machinery-grid {
    gap: 11px;
    margin-top: 30px;
}

.rental-machinery-card {
    min-height: 208px;
    grid-template-columns: 108px minmax(0, 1fr);
}

.rental-machinery-card-image {
    width: 108px;
    min-height: 208px;
}

.rental-machinery-card-body {
    padding: 15px 15px 13px;
}

.rental-machinery-card h3 {
    margin-bottom: 7px;
    font-size: 1.02rem;
    line-height: 1.08;
}

.rental-machinery-description {
    margin-bottom: 8px;
    font-size: .72rem;
    line-height: 1.48;
}

.rental-machinery-equipment {
    margin-bottom: 10px;
    font-size: .63rem;
    line-height: 1.5;
}

.rental-machinery-add {
    min-height: 40px;
    font-size: .67rem;
}

.rental-machinery-add span {
    font-size: .92rem;
}


/* Responsive */
@media (max-width: 720px) {
    .rental-options-section {
        padding: 54px 0 58px;
    }

    .rental-options-kicker,
    .rental-machinery-kicker {
        font-size: .62rem;
    }

    .rental-options-section h2 {
        font-size: clamp(1.9rem, 8.5vw, 2.5rem);
    }

    .rental-options-lead {
        font-size: .82rem;
    }

    .rental-option-card h3 {
        font-size: 1.22rem;
    }

    .rental-option-card p {
        font-size: .77rem;
    }

    .rental-machinery-section h2 {
        font-size: clamp(1.9rem, 8.4vw, 2.45rem);
    }

    .rental-machinery-lead {
        font-size: .80rem;
    }

    .rental-machinery-card {
        grid-template-columns: 100px minmax(0, 1fr);
        min-height: 196px;
    }

    .rental-machinery-card-image {
        width: 100px;
        min-height: 196px;
    }

    .rental-machinery-card h3 {
        font-size: .98rem;
    }
}


/* ==========================================================
   VENTA / ARRIENDO - VENTA DE ÁRIDOS
   ========================================================== */
.aggregate-sale-section {
    padding: 62px 0 66px;
    background: #1f1d1e;
    color: #fff;
}

.aggregate-sale-wrap {
    max-width: 1280px;
}

.aggregate-sale-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 36px;
    align-items: end;
}

.aggregate-sale-kicker {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: #e0a800;
    font-size: .66rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.aggregate-sale-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #e0a800;
}

.aggregate-sale-kicker-icon {
    width: 16px;
    height: 16px;
    display: inline-flex;
}

.aggregate-sale-kicker-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.aggregate-sale-section h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 2.55vw, 2.85rem);
    line-height: .98;
    letter-spacing: -.04em;
    font-weight: 900;
}

.aggregate-sale-lead {
    margin: 12px 0 0;
    color: rgba(255,255,255,.76);
    font-size: .84rem;
    line-height: 1.55;
}

.aggregate-sale-note {
    margin: 0 0 4px;
    color: rgba(255,255,255,.60);
    font-size: .78rem;
    line-height: 1.45;
    white-space: nowrap;
}

.aggregate-sale-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 32px;
}

.aggregate-sale-card {
    min-height: 162px;
    display: flex;
    flex-direction: column;
    padding: 22px 20px 0;
    border: 1px solid rgba(255,255,255,.68);
    background: #292627;
}

.aggregate-sale-card h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 1.05rem;
    line-height: 1.12;
    letter-spacing: -.02em;
    font-weight: 900;
}

.aggregate-sale-card > p {
    margin: 0;
    color: rgba(255,255,255,.66);
    font-size: .74rem;
    line-height: 1.5;
}

.aggregate-sale-add {
    width: 100%;
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: auto;
    padding: 0;
    border: 0;
    border-top: 1px solid rgba(255,255,255,.68);
    background: transparent;
    color: #e0a800;
    cursor: pointer;
    text-align: left;
    font: inherit;
}

.aggregate-sale-add span {
    font-size: .76rem;
    line-height: 1;
    font-weight: 900;
}

.aggregate-sale-add strong {
    font-size: 1rem;
    line-height: 1;
    font-weight: 400;
}

.aggregate-sale-card:hover {
    background: #302d2e;
}

@media (max-width: 980px) {
    .aggregate-sale-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .aggregate-sale-section {
        padding: 54px 0 58px;
    }

    .aggregate-sale-head {
        grid-template-columns: 1fr;
        gap: 12px;
        align-items: start;
    }

    .aggregate-sale-kicker {
        font-size: .62rem;
        letter-spacing: .16em;
    }

    .aggregate-sale-section h2 {
        font-size: clamp(1.85rem, 8.8vw, 2.45rem);
    }

    .aggregate-sale-lead,
    .aggregate-sale-note {
        font-size: .80rem;
    }

    .aggregate-sale-note {
        white-space: normal;
    }

    .aggregate-sale-grid {
        grid-template-columns: 1fr;
        margin-top: 26px;
    }

    .aggregate-sale-card {
        min-height: 150px;
        padding: 19px 18px 0;
    }

    .aggregate-sale-card h3 {
        font-size: 1rem;
    }

    .aggregate-sale-card > p {
        font-size: .72rem;
    }
}


/* ==========================================================
   VENTA / ARRIENDO - EQUIPOS USADOS
   ========================================================== */
.used-equipment-section {
    padding: 60px 0 72px;
    background: #fbfaf7;
    color: #1f1c1f;
}

.used-equipment-wrap {
    max-width: 1280px;
}

.used-equipment-head {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: end;
    gap: 30px;
}

.used-equipment-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    color: #805d00;
    font-size: .64rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.used-equipment-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #805d00;
}

.used-equipment-section h2 {
    margin: 0;
    font-size: clamp(2rem, 2.35vw, 2.65rem);
    line-height: .98;
    letter-spacing: -.035em;
    font-weight: 900;
}

.used-equipment-lead,
.used-equipment-note {
    color: #5f584f;
    font-size: .82rem;
    line-height: 1.55;
}

.used-equipment-lead {
    margin: 10px 0 0;
}

.used-equipment-note {
    margin: 0 0 2px;
    white-space: nowrap;
}

.used-equipment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 34px;
}

.used-equipment-card {
    min-height: 184px;
    display: grid;
    grid-template-columns: 145px minmax(0, 1fr);
    border: 1px solid #d6d0c6;
    background: #fff;
}

.used-equipment-side {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 24px 20px 18px;
    background: #211f20;
    color: #fff;
}

.used-equipment-icon {
    width: 29px;
    height: 29px;
    color: #e0a800;
}

.used-equipment-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.used-equipment-side strong {
    color: rgba(255,255,255,.67);
    font-size: .72rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.used-equipment-body {
    display: flex;
    flex-direction: column;
    padding: 22px 20px 20px;
}

.used-equipment-body h3 {
    margin: 0 0 16px;
    color: #171615;
    font-size: 1.28rem;
    line-height: 1.05;
    letter-spacing: -.025em;
    font-weight: 900;
}

.used-equipment-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.used-equipment-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    background: #f0ede7;
    color: #39342f;
    font-size: .68rem;
    line-height: 1;
}

.used-equipment-action {
    width: 100%;
    min-height: 44px;
    margin-top: auto;
    border: 0;
    background: #e0a800;
    color: #111;
    font-size: .72rem;
    line-height: 1;
    font-weight: 900;
    cursor: pointer;
}

.used-equipment-action span {
    margin-right: 6px;
    font-size: .95rem;
}

.used-equipment-action:hover {
    background: #efb500;
}

@media (max-width: 980px) {
    .used-equipment-head {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .used-equipment-note {
        white-space: normal;
    }

    .used-equipment-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .used-equipment-section {
        padding: 54px 0 60px;
    }

    .used-equipment-card {
        grid-template-columns: 100px minmax(0,1fr);
    }

    .used-equipment-side {
        padding: 20px 14px 16px;
    }

    .used-equipment-side strong {
        font-size: .62rem;
    }

    .used-equipment-body {
        padding: 18px 14px 16px;
    }

    .used-equipment-body h3 {
        font-size: 1.05rem;
    }

    .used-equipment-tags span {
        font-size: .62rem;
        min-height: 28px;
    }
}

/* ==========================================================
   VENTA / ARRIENDO - ÚLTIMA SECCIÓN / Formulario de cotización
   ========================================================== */
.quote-form-section {
    padding: 32px 0 38px;
    background: #ebe8e1;
}

.quote-form-panel {
    width: min(calc(100% - 48px), 985px);
    padding: 34px 34px 34px;
    border: 1px solid #d6d0c6;
    background: #fff;
}

.quote-form-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    color: #805d00;
    font-size: .67rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.quote-form-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: #805d00;
}

.quote-form-panel h2 {
    margin: 0;
    color: #1e1b1c;
    font-size: clamp(1.85rem, 2.25vw, 2.3rem);
    line-height: 1;
    letter-spacing: -.035em;
    font-weight: 900;
}

.quote-form-lead {
    margin: 10px 0 0;
    color: #5e584f;
    font-size: .78rem;
    line-height: 1.52;
}

.quote-form-rule {
    height: 1px;
    margin: 28px 0 24px;
    background: #ded8ce;
}

.quote-selection-box {
    padding: 18px 20px;
    margin-bottom: 24px;
    background: #f1eee8;
}

.quote-selection-box > strong {
    display: block;
    margin-bottom: 8px;
    color: #181617;
    font-size: .82rem;
    line-height: 1.2;
    font-weight: 900;
}

.quote-selection-box > p {
    margin: 0;
    color: #6b6258;
    font-size: .74rem;
    line-height: 1.45;
}

.quote-selection-items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.quote-selection-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border: 1px solid #d3cbc0;
    background: #fff;
    color: #211e1f;
    font-size: .7rem;
    font-weight: 700;
}

.quote-selection-chip button {
    border: 0;
    padding: 0;
    background: transparent;
    color: #8a6500;
    font-size: .9rem;
    line-height: 1;
    cursor: pointer;
}

.quote-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 16px;
    row-gap: 14px;
}

.quote-field {
    display: grid;
    gap: 7px;
}

.quote-field > span:first-child {
    color: #161414;
    font-size: .72rem;
    line-height: 1;
    font-weight: 900;
}

.quote-field input,
.quote-field select,
.quote-field textarea {
    width: 100%;
    border: 1px solid #d9d3c9;
    border-radius: 0;
    outline: none;
    background: #fff;
    color: #302c29;
    font: inherit;
    font-size: .75rem;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.quote-field input,
.quote-field select {
    height: 44px;
    padding: 0 12px;
}

.quote-field textarea {
    min-height: 94px;
    padding: 11px 12px;
    resize: vertical;
    line-height: 1.42;
}

.quote-field input::placeholder,
.quote-field textarea::placeholder {
    color: #756e65;
    opacity: 1;
}

.quote-field input:focus,
.quote-field select:focus,
.quote-field textarea:focus {
    border-color: #b88a00;
    box-shadow: 0 0 0 2px rgba(184,138,0,.08);
}

.quote-input-with-icon {
    position: relative;
    display: block;
}

.quote-input-with-icon svg {
    position: absolute;
    left: 11px;
    top: 50%;
    width: 16px;
    height: 16px;
    color: #9b958c;
    transform: translateY(-50%);
    pointer-events: none;
}

.quote-input-with-icon input {
    padding-left: 36px;
}

.quote-field-request {
    align-self: start;
}

.quote-field-request select {
    width: 200px;
}

.quote-submit {
    width: 100%;
    min-height: 47px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 14px;
    border: 0;
    background: #e0a800;
    color: #111;
    cursor: pointer;
    font-size: .73rem;
    line-height: 1;
    font-weight: 900;
    transition: background .18s ease, transform .18s ease;
}

.quote-submit:hover {
    background: #efb500;
    transform: translateY(-1px);
}

.quote-submit span:last-child {
    font-size: 1rem;
}

@media (max-width: 760px) {
    .quote-form-section {
        padding: 24px 0 30px;
    }

    .quote-form-panel {
        width: min(calc(100% - 28px), 985px);
        padding: 26px 18px 24px;
    }

    .quote-form-grid {
        grid-template-columns: 1fr;
    }

    .quote-field-request select {
        width: 100%;
    }

    .quote-form-panel h2 {
        font-size: 1.75rem;
    }
}

/* estado visual de elementos agregados a cotización */
[data-quote-item].is-selected {
    box-shadow: inset 0 0 0 2px rgba(70,85,65,.30);
}

.rental-machinery-add.is-selected,
.aggregate-sale-add.is-selected,
.used-equipment-action.is-selected {
    background: #c99700;
}


/* ==========================================================
   VENTA / ARRIENDO - enlaces internos + selección visible
   ========================================================== */
#arriendo,
#aridos,
#usados,
#cotizacion {
    scroll-margin-top: 92px;
}

.rental-hero-item {
    transition: background .18s ease, padding-left .18s ease;
}

.rental-hero-item:hover,
.rental-hero-item.is-active {
    background: rgba(255,255,255,.055);
}

.rental-hero-item:hover {
    padding-left: 8px;
}

/* El elemento elegido debe ser inequívoco */
.rental-machinery-card,
.aggregate-sale-card,
.used-equipment-card {
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.rental-machinery-card.quote-card-selected,
.used-equipment-card.quote-card-selected {
    border-color: #405a49;
    box-shadow: inset 0 0 0 2px #405a49;
    background: #f1f4ef;
}

.aggregate-sale-card.quote-card-selected {
    border-color: #8fb19b;
    box-shadow: inset 0 0 0 2px #8fb19b;
    background: #324039;
}

.rental-machinery-add.is-selected,
.aggregate-sale-add.is-selected,
.used-equipment-action.is-selected {
    background: #405a49 !important;
    color: #fff !important;
    border-color: #405a49 !important;
    justify-content: center;
    gap: 8px;
    box-shadow: none;
}

.aggregate-sale-add.is-selected {
    border-top-color: #8fb19b !important;
}

.quote-selected-check {
    width: 21px;
    height: 21px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 21px;
    border-radius: 50%;
    background: #fff;
    color: #405a49;
    font-size: .78rem !important;
    line-height: 1;
    font-weight: 900 !important;
}

.rental-machinery-add.is-selected:hover,
.aggregate-sale-add.is-selected:hover,
.used-equipment-action.is-selected:hover {
    background: #354b3e !important;
}

.quote-selection-chip {
    border: 1px solid #8fa194;
    background: #e7eee8;
    color: #294334;
}


/* ==========================================================
   CORRECCIÓN INICIO - imagen hero independiente de Nosotros
   ========================================================== */
.hero-bg {
    background-image:
        url('../img/inicio-hero.webp'),
        url('https://constructora-huequecura-wireframe.sofia-carreno-ha.chatgpt.site/images/huequecura/nosotros-hero.webp');
    background-position: center center, center center;
    background-size: cover, cover;
    background-repeat: no-repeat, no-repeat;
}


/* ==========================================================
   AJUSTE FINAL - Navbar + mensajes de formularios
   ========================================================== */
.main-nav > a,
.nav-dropdown-toggle {
    font-weight: 500;
    letter-spacing: .075em;
}

.header-contact {
    font-weight: 700;
    letter-spacing: .10em;
}

.form-status {
    margin: 0 0 18px;
    padding: 12px 14px;
    border: 1px solid;
    font-size: .84rem;
    line-height: 1.5;
    font-weight: 700;
}

.form-status-success {
    color: #244d37;
    background: #edf5ef;
    border-color: #abc9b5;
}

.form-status-error {
    color: #7a2d28;
    background: #fbefed;
    border-color: #d8aaa5;
}

.form-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}


/* ==========================================================
   MPD / INTEGRIDAD - submenu coherente con navbar corporativo
   ========================================================== */
.nav-dropdown-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.nav-dropdown-chevron {
    width: 9px;
    height: 6px;
    flex: 0 0 auto;
    transition: transform .18s ease;
}

.nav-dropdown.open .nav-dropdown-chevron {
    transform: rotate(180deg);
}

.nav-dropdown-toggle.active {
    color: #111;
    outline: 2px solid #dda900;
    outline-offset: -4px;
}

.nav-dropdown-toggle.active::after {
    background: #dda900;
}

.nav-dropdown-menu {
    left: 50%;
    right: auto;
    top: calc(100% + 4px);
    transform: translateX(-50%);
    width: 282px;
    padding: 8px;
    background: #fff;
    border: 1px solid #d8d6d0;
    border-radius: 6px;
    box-shadow: 0 12px 28px rgba(22,25,25,.13);
    overflow: hidden;
    z-index: 1400;
}

.nav-dropdown.open .nav-dropdown-menu {
    display: block;
}

.nav-dropdown-menu a {
    display: flex;
    align-items: center;
    min-height: 40px;
    padding: 9px 11px;
    border-radius: 4px;
    color: #343638;
    font-size: .79rem;
    line-height: 1.28;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    text-decoration: none;
}

.nav-dropdown-menu a:hover,
.nav-dropdown-menu a:focus-visible {
    background: #f1f5f7;
    color: #111;
}

.nav-dropdown-divider {
    height: 1px;
    margin: 5px -8px;
    background: #dedede;
}

.nav-dropdown-menu .nav-dropdown-admin {
    gap: 9px;
    color: #4d5255;
}

.nav-dropdown-admin svg {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    color: #60686d;
}

/* Sin botón de candado separado: Administración vive dentro de Integridad */
.header-actions .header-lock {
    display: none !important;
}

@media (max-width: 980px) {
    .nav-dropdown-toggle {
        justify-content: flex-start;
    }

    .nav-dropdown-menu {
        position: static;
        transform: none;
        width: 100%;
        margin-top: 5px;
        padding: 6px;
        border-radius: 5px;
        box-shadow: none;
    }

    .nav-dropdown-menu a {
        min-height: 39px;
        padding: 9px 10px;
    }

    .nav-dropdown-divider {
        margin: 4px -6px;
    }
}

/* ==========================================================
   MPD / INTEGRIDAD - página institucional integrada al nuevo sitio
   ========================================================== */
.mpd-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 25%, rgba(25,94,131,.34), transparent 34%),
        linear-gradient(115deg, #1d1c1f 0%, #252729 58%, #0b4f74 100%);
    color: #fff;
}

.mpd-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .12;
    background-image:
        linear-gradient(to right, rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 80px 80px;
}

.mpd-hero-layout {
    position: relative;
    z-index: 2;
    min-height: 500px;
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(390px, .82fr);
    align-items: center;
    gap: 72px;
    padding-top: 72px;
    padding-bottom: 72px;
}

.mpd-hero-copy {
    max-width: 780px;
}

.mpd-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
    color: #e0a800;
    font-size: .68rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .19em;
    text-transform: uppercase;
}

.mpd-kicker-line {
    width: 32px;
    height: 2px;
    flex: 0 0 32px;
    background: currentColor;
}

.mpd-kicker-dark {
    color: #806100;
}

.mpd-hero-copy h1 {
    margin: 0;
    max-width: 750px;
    color: #fff;
    font-size: clamp(3.3rem, 5.15vw, 5.4rem);
    line-height: .91;
    letter-spacing: -.06em;
    font-weight: 900;
}

.mpd-hero-lead {
    max-width: 720px;
    margin: 24px 0 0;
    color: rgba(255,255,255,.82);
    font-size: .98rem;
    line-height: 1.72;
}

.mpd-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.mpd-btn {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 22px;
    border: 1px solid rgba(255,255,255,.65);
    font-size: .72rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.mpd-btn:hover {
    transform: translateY(-1px);
}

.mpd-btn-primary {
    background: #e0a800;
    color: #111;
    border-color: #e0a800;
}

.mpd-btn-primary:hover {
    background: #efb500;
    border-color: #efb500;
}

.mpd-btn-ghost {
    color: #fff;
    background: rgba(255,255,255,.03);
}

.mpd-btn-ghost:hover {
    background: rgba(255,255,255,.08);
}

.mpd-hero-panel {
    border-left: 1px solid rgba(255,255,255,.48);
    padding-left: 28px;
}

.mpd-panel-head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 0 18px;
    border-bottom: 1px solid rgba(255,255,255,.42);
}

.mpd-panel-icon {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #e0a800;
    border: 1px solid rgba(224,168,0,.8);
}

.mpd-panel-icon svg {
    width: 24px;
    height: 24px;
}

.mpd-panel-eyebrow {
    display: block;
    margin-bottom: 3px;
    color: rgba(255,255,255,.55);
    font-size: .63rem;
    letter-spacing: .14em;
    font-weight: 800;
    text-transform: uppercase;
}

.mpd-panel-head h2 {
    margin: 0;
    color: #fff;
    font-size: 1.35rem;
    line-height: 1.05;
    font-weight: 800;
}

.mpd-panel-list {
    display: grid;
}

.mpd-panel-row {
    min-height: 78px;
    display: grid;
    grid-template-columns: 32px 1fr 24px;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid rgba(255,255,255,.42);
    color: #fff;
    transition: padding-left .18s ease, background .18s ease;
}

.mpd-panel-row:hover {
    padding-left: 8px;
    background: rgba(255,255,255,.035);
}

.mpd-panel-row-number {
    color: #e0a800;
    font-size: .66rem;
    font-weight: 900;
}

.mpd-panel-row strong,
.mpd-panel-row small {
    display: block;
}

.mpd-panel-row strong {
    color: #fff;
    font-size: .92rem;
    line-height: 1.2;
}

.mpd-panel-row small {
    margin-top: 3px;
    color: rgba(255,255,255,.58);
    font-size: .76rem;
}

.mpd-panel-arrow {
    justify-self: end;
    color: #e0a800;
}

.mpd-commitment-section,
.mpd-channel-section,
.mpd-policies-section {
    position: relative;
    background-color: #f4f2ed;
    background-image:
        linear-gradient(to right, rgba(53,49,41,.045) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(53,49,41,.045) 1px, transparent 1px);
    background-size: 80px 80px;
}

.mpd-commitment-layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 68px;
    padding-top: 82px;
    padding-bottom: 84px;
}

.mpd-commitment-copy {
    max-width: 500px;
}

.mpd-commitment-copy h2,
.mpd-principles-head h2,
.mpd-channel-copy h2,
.mpd-policies-head h2 {
    margin: 0;
    color: #1f1c1f;
    font-size: clamp(2.7rem, 3.7vw, 4rem);
    line-height: .92;
    letter-spacing: -.055em;
    font-weight: 900;
}

.mpd-commitment-copy p,
.mpd-channel-copy p {
    margin: 20px 0 0;
    color: #5d574f;
    font-size: .88rem;
    line-height: 1.72;
}

.mpd-capability-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid #d3cdc2;
    border-left: 1px solid #d3cdc2;
}

.mpd-capability-card {
    min-height: 215px;
    position: relative;
    padding: 26px 26px 24px;
    border-right: 1px solid #d3cdc2;
    border-bottom: 1px solid #d3cdc2;
    background: rgba(255,255,255,.30);
}

.mpd-capability-number {
    position: absolute;
    top: 18px;
    right: 18px;
    color: #a49d91;
    font-size: .66rem;
    font-weight: 900;
}

.mpd-capability-icon {
    width: 31px;
    height: 31px;
    display: inline-flex;
    color: #405a49;
    margin-bottom: 26px;
}

.mpd-capability-icon svg {
    width: 100%;
    height: 100%;
}

.mpd-capability-card h3 {
    margin: 0 0 10px;
    color: #171615;
    font-size: 1.35rem;
    line-height: 1.05;
    font-weight: 900;
}

.mpd-capability-card p {
    margin: 0;
    color: #5d574f;
    font-size: .79rem;
    line-height: 1.62;
}

.mpd-principles-section {
    padding: 78px 0 82px;
    background: #1f1d1f;
    color: #fff;
}

.mpd-principles-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 480px);
    gap: 64px;
    align-items: end;
}

.mpd-principles-head h2 {
    color: #fff;
}

.mpd-principles-head > p {
    margin: 0 0 6px;
    color: rgba(255,255,255,.60);
    font-size: .84rem;
    line-height: 1.68;
}

.mpd-principles-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 44px;
    border-top: 1px solid rgba(255,255,255,.45);
    border-left: 1px solid rgba(255,255,255,.45);
}

.mpd-principles-grid article {
    min-height: 220px;
    padding: 26px 26px 24px;
    border-right: 1px solid rgba(255,255,255,.45);
    border-bottom: 1px solid rgba(255,255,255,.45);
}

.mpd-principle-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    margin-bottom: 30px;
    color: #e0a800;
}

.mpd-principle-icon svg {
    width: 100%;
    height: 100%;
}

.mpd-principles-grid h3 {
    margin: 0 0 11px;
    color: #fff;
    font-size: 1.3rem;
    line-height: 1.08;
    font-weight: 900;
}

.mpd-principles-grid p {
    margin: 0;
    color: rgba(255,255,255,.62);
    font-size: .79rem;
    line-height: 1.62;
}

.mpd-channel-layout {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: 72px;
    align-items: center;
    padding-top: 78px;
    padding-bottom: 78px;
}

.mpd-channel-copy {
    max-width: 530px;
}

.mpd-channel-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    border-top: 1px solid #d3cdc2;
    border-left: 1px solid #d3cdc2;
}

.mpd-channel-card {
    min-height: 218px;
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 26px 26px 24px;
    border-right: 1px solid #d3cdc2;
    border-bottom: 1px solid #d3cdc2;
    background: rgba(255,255,255,.32);
    transition: background .18s ease, transform .18s ease;
}

.mpd-channel-card:hover {
    transform: translateY(-2px);
    background: #fff;
}

.mpd-channel-card-primary {
    background: #e0a800;
    border-color: #c69500;
}

.mpd-channel-card-primary:hover {
    background: #efb500;
}

.mpd-channel-card-number {
    color: #7c7569;
    font-size: .67rem;
    font-weight: 900;
}

.mpd-channel-card-primary .mpd-channel-card-number,
.mpd-channel-card-primary small {
    color: rgba(17,17,17,.65);
}

.mpd-channel-card strong {
    margin-top: 44px;
    color: #171615;
    font-size: 1.25rem;
    line-height: 1.05;
    font-weight: 900;
}

.mpd-channel-card small {
    margin-top: 8px;
    color: #615b52;
    font-size: .76rem;
    line-height: 1.5;
}

.mpd-channel-arrow {
    position: absolute;
    right: 24px;
    bottom: 20px;
    color: #8a6800;
    font-size: 1.15rem;
}

.mpd-admin-strip {
    background: #102d3d;
    color: #fff;
}

.mpd-admin-strip-inner {
    min-height: 118px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.mpd-admin-copy {
    display: flex;
    align-items: center;
    gap: 16px;
}

.mpd-admin-icon {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 46px;
    border: 1px solid rgba(224,168,0,.85);
    color: #e0a800;
}

.mpd-admin-icon svg {
    width: 24px;
    height: 24px;
}

.mpd-admin-copy span,
.mpd-admin-copy strong {
    display: block;
}

.mpd-admin-copy div > span {
    color: #e0a800;
    font-size: .64rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    font-weight: 900;
}

.mpd-admin-copy strong {
    margin-top: 4px;
    color: #fff;
    font-size: 1rem;
    line-height: 1.3;
}

.mpd-admin-button {
    min-height: 45px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    padding: 0 20px;
    border: 1px solid rgba(255,255,255,.55);
    color: #fff;
    font-size: .69rem;
    letter-spacing: .11em;
    font-weight: 900;
    text-transform: uppercase;
}

.mpd-admin-button:hover {
    border-color: #e0a800;
    color: #e0a800;
}

.mpd-policies-section {
    padding: 74px 0 78px;
}

.mpd-policies-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 38px;
}

.mpd-policies-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid #a78a32;
    color: #755900;
    font-size: .71rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.mpd-policy-tags {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    margin-top: 38px;
    border-top: 1px solid #d3cdc2;
    border-left: 1px solid #d3cdc2;
}

.mpd-policy-tags span {
    min-height: 86px;
    display: flex;
    align-items: center;
    padding: 18px 20px;
    border-right: 1px solid #d3cdc2;
    border-bottom: 1px solid #d3cdc2;
    background: rgba(255,255,255,.28);
    color: #262321;
    font-size: .78rem;
    line-height: 1.4;
    font-weight: 700;
}

@media (max-width: 1080px) {
    .mpd-hero-layout,
    .mpd-commitment-layout,
    .mpd-channel-layout {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .mpd-hero-panel {
        max-width: 620px;
    }

    .mpd-principles-head {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .mpd-policy-tags {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 760px) {
    .mpd-hero-layout {
        min-height: auto;
        padding-top: 56px;
        padding-bottom: 58px;
    }

    .mpd-hero-copy h1 {
        font-size: clamp(2.65rem, 12vw, 4rem);
        line-height: .94;
    }

    .mpd-hero-lead {
        font-size: .91rem;
        line-height: 1.62;
    }

    .mpd-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .mpd-btn {
        width: 100%;
    }

    .mpd-hero-panel {
        padding-left: 18px;
    }

    .mpd-commitment-layout,
    .mpd-channel-layout {
        padding-top: 58px;
        padding-bottom: 60px;
    }

    .mpd-commitment-copy h2,
    .mpd-principles-head h2,
    .mpd-channel-copy h2,
    .mpd-policies-head h2 {
        font-size: clamp(2.3rem, 10vw, 3.2rem);
        line-height: .95;
    }

    .mpd-capability-grid,
    .mpd-principles-grid,
    .mpd-channel-actions,
    .mpd-policy-tags {
        grid-template-columns: 1fr;
    }

    .mpd-principles-section {
        padding: 58px 0 60px;
    }

    .mpd-admin-strip-inner,
    .mpd-policies-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .mpd-admin-strip-inner {
        padding-top: 24px;
        padding-bottom: 24px;
    }

    .mpd-admin-button {
        width: 100%;
    }

    .mpd-policies-section {
        padding: 58px 0 62px;
    }
}
/* MPD CANAL DE DENUNCIAS - NUEVA WEB */
.mpd-report-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#1d1c1f 0%,#252729 58%,#0b4f74 100%);color:#fff}
.mpd-report-hero:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.11;background-image:linear-gradient(to right,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.08) 1px,transparent 1px);background-size:80px 80px}
.mpd-report-hero-layout{position:relative;z-index:2;min-height:410px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:70px;align-items:center;padding-top:58px;padding-bottom:58px}
.mpd-report-hero-copy{max-width:700px}.mpd-report-hero-copy h1{margin:0;color:#fff;font-size:clamp(3.2rem,5vw,5.1rem);line-height:.91;letter-spacing:-.06em;font-weight:900}.mpd-report-hero-copy>p{max-width:690px;margin:22px 0 0;color:rgba(255,255,255,.78);font-size:.91rem;line-height:1.7}.mpd-report-back{display:inline-flex;margin-top:25px;padding-bottom:5px;border-bottom:1px solid rgba(224,168,0,.65);color:#e0a800;font-size:.67rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.mpd-report-hero-info{padding-left:28px;border-left:1px solid rgba(255,255,255,.5)}.mpd-report-hero-info-head{display:flex;gap:13px;align-items:center;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.4)}.mpd-report-shield{width:42px;height:42px;display:grid;place-items:center;border:1px solid #e0a800;color:#e0a800}.mpd-report-shield svg{width:23px;height:23px}.mpd-report-hero-info-head small,.mpd-report-hero-info-head strong{display:block}.mpd-report-hero-info-head small{color:rgba(255,255,255,.52);font-size:.61rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800}.mpd-report-hero-info-head strong{margin-top:3px;color:#fff;font-size:1.05rem}.mpd-report-hero-info-row{min-height:72px;display:grid;grid-template-columns:30px 1fr;gap:11px;align-items:center;border-bottom:1px solid rgba(255,255,255,.38)}.mpd-report-hero-info-row>span{color:#e0a800;font-size:.63rem;font-weight:900}.mpd-report-hero-info-row strong,.mpd-report-hero-info-row small{display:block}.mpd-report-hero-info-row strong{color:#fff;font-size:.85rem}.mpd-report-hero-info-row small{margin-top:3px;color:rgba(255,255,255,.55);font-size:.72rem;line-height:1.45}
.mpd-report-form-section{padding:70px 0 82px;background-color:#f4f2ed;background-image:linear-gradient(to right,rgba(53,49,41,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(53,49,41,.04) 1px,transparent 1px);background-size:80px 80px}.mpd-report-form-shell{max-width:1120px}.mpd-report-form-intro{display:grid;grid-template-columns:1fr minmax(300px,460px);gap:44px;align-items:end;margin-bottom:30px}.mpd-report-form-intro h2{margin:0;color:#1f1c1f;font-size:clamp(2.4rem,3.2vw,3.35rem);line-height:.94;letter-spacing:-.05em;font-weight:900}.mpd-report-form-intro>p{margin:0 0 4px;color:#625b52;font-size:.83rem;line-height:1.65}.mpd-report-form-card{overflow:hidden;border:1px solid #d5cfc4;background:#fff;box-shadow:0 12px 38px rgba(37,32,24,.06)}.mpd-progress-wrap{padding:22px 30px 18px;border-bottom:1px solid #ddd7cd;background:#f7f4ee}.mpd-step-indicator{display:flex;align-items:center;justify-content:center}.mpd-step-dot{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border:1px solid #cfc8bd;border-radius:50%;background:#fff;color:#847d72;font-size:.7rem;font-weight:900;transition:.2s}.mpd-step-dot.active,.mpd-step-dot.done{background:#e0a800;border-color:#e0a800;color:#151515}.mpd-step-line{width:min(92px,10vw);height:1px;background:#cec8bd}.mpd-step-line.done{background:#e0a800}.mpd-step-labels{max-width:590px;margin:8px auto 0;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;color:#948c80;font-size:.57rem;letter-spacing:.06em;text-transform:uppercase;text-align:center}.mpd-report-form-body{padding:34px 38px 38px}.mpd-security{display:flex;gap:13px;align-items:flex-start;margin-bottom:28px;padding:16px 18px;border:1px solid #cfded6;background:#eef6f2;color:#29483b}.mpd-security-icon{width:28px;height:28px;flex:0 0 28px}.mpd-security-icon svg{width:100%;height:100%}.mpd-security strong,.mpd-security span{display:block}.mpd-security strong{font-size:.8rem}.mpd-security div>span{margin-top:2px;color:#50675c;font-size:.75rem;line-height:1.5}.mpd-step{display:none}.mpd-step.active{display:block}.mpd-step-heading{display:grid;grid-template-columns:38px 1fr;gap:13px;margin-bottom:28px}.mpd-step-heading>span{padding-top:5px;color:#aa9f90;font-size:.76rem;font-weight:900}.mpd-step-heading h2{margin:0;color:#1e1b1d;font-size:1.8rem;line-height:1.05;letter-spacing:-.035em;font-weight:900;outline:none}.mpd-step-heading p{margin:7px 0 0;color:#71695f;font-size:.79rem;line-height:1.55}.mpd-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mpd-choice{position:relative;min-height:150px;display:grid;grid-template-columns:40px 1fr 24px;gap:14px;align-items:start;padding:23px;border:1px solid #d4cec4;background:#fbfaf7;cursor:pointer;transition:.18s}.mpd-choice:hover{border-color:#a98519;background:#fff}.mpd-choice.selected{border-color:#856600;background:#fff8dc;box-shadow:inset 4px 0 #e0a800}.mpd-choice input{position:absolute;opacity:0;pointer-events:none}.mpd-choice-icon{width:36px;height:36px;color:#405a49}.mpd-choice-icon svg{width:100%;height:100%}.mpd-choice strong,.mpd-choice small{display:block}.mpd-choice strong{color:#1d1b1c;font-size:1rem;line-height:1.15}.mpd-choice small{margin-top:8px;color:#686159;font-size:.76rem;line-height:1.5}.mpd-choice-check{opacity:0;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#405a49;color:#fff;font-size:.7rem;font-weight:900}.mpd-choice.selected .mpd-choice-check{opacity:1}.mpd-identification-box{margin-top:22px;padding:22px;border:1px solid #ddd7cd;background:#f7f4ee}.mpd-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.mpd-field{display:grid;gap:8px;margin-bottom:18px}.mpd-field label{color:#252122;font-size:.73rem;font-weight:800}.mpd-field label span{color:#8d857a;font-weight:500}.mpd-field input,.mpd-field select,.mpd-field textarea{width:100%;min-height:48px;padding:12px 13px;border:1px solid #d3cdc3;border-radius:0;background:#fff;color:#262223;font:inherit;font-size:.82rem;outline:none;transition:.15s}.mpd-field textarea{min-height:145px;resize:vertical;line-height:1.55}.mpd-field input:focus,.mpd-field select:focus,.mpd-field textarea:focus{border-color:#987500;box-shadow:0 0 0 2px rgba(224,168,0,.12)}.mpd-field>small{color:#8a8278;font-size:.68rem;line-height:1.45}.mpd-note{display:flex;flex-direction:column;gap:5px;margin-bottom:20px;padding:16px 18px;border-left:3px solid #e0a800;background:#faf5e5;color:#463d2b}.mpd-note strong{font-size:.77rem}.mpd-note span{font-size:.72rem;line-height:1.5}.mpd-note-key{background:#fff8df}.mpd-check{position:relative;display:grid;grid-template-columns:25px 1fr;gap:12px;align-items:start;margin:13px 0;padding:15px 16px;border:1px solid #ddd7cd;background:#fbfaf7;color:#5f584f;font-size:.76rem;line-height:1.55;cursor:pointer}.mpd-check input{position:absolute;opacity:0}.mpd-check-box{width:20px;height:20px;display:grid;place-items:center;border:1px solid #bcb5aa;color:transparent;background:#fff;font-size:.68rem;font-weight:900}.mpd-check input:checked+.mpd-check-box{background:#405a49;border-color:#405a49;color:#fff}.mpd-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid #e1dcd3}.mpd-form-actions-end{justify-content:flex-end}.mpd-form-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 18px;border:1px solid #cfc8bd;background:#fff;color:#262223;font-size:.68rem;line-height:1;font-weight:900;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;text-decoration:none}.mpd-form-btn-primary{background:#e0a800;border-color:#e0a800;color:#111}.mpd-form-btn-primary:hover{background:#edb400}.mpd-form-btn-secondary:hover{border-color:#8f8578}.mpd-form-btn:disabled{opacity:.55;cursor:not-allowed}.mpd-form-alert{display:grid;gap:4px;margin-bottom:22px;padding:14px 16px;font-size:.75rem;line-height:1.5}.mpd-form-alert-error{border:1px solid #e3c6c3;background:#fff0ef;color:#7f3028}.mpd-report-help{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 22px;border:1px solid #d5cfc4;border-top:0;background:#efebe4}.mpd-report-help strong,.mpd-report-help span{display:block}.mpd-report-help strong{color:#222;font-size:.8rem}.mpd-report-help div>span{margin-top:3px;color:#756e65;font-size:.72rem}.mpd-report-help>a{color:#755900;font-size:.67rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.mpd-skip-link{position:absolute;left:-9999px}.mpd-skip-link:focus{left:12px;top:12px;z-index:9999;padding:10px 14px;background:#fff;color:#111;border:2px solid #111}
.mpd-confirm-section{min-height:680px;padding:74px 0 84px;background-color:#f4f2ed;background-image:linear-gradient(to right,rgba(53,49,41,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(53,49,41,.04) 1px,transparent 1px);background-size:80px 80px}.mpd-confirm-shell{max-width:900px}.mpd-confirm-card{padding:48px 52px;border:1px solid #d4cec3;background:#fff}.mpd-confirm-icon{width:54px;height:54px;margin-bottom:26px;color:#405a49}.mpd-confirm-icon svg{width:100%;height:100%}.mpd-confirm-card h1{margin:0;color:#1e1b1d;font-size:clamp(2.8rem,4.5vw,4.6rem);line-height:.92;letter-spacing:-.055em;font-weight:900}.mpd-confirm-lead{max-width:640px;margin:18px 0 30px;color:#6a6259;font-size:.83rem;line-height:1.65}.mpd-confirm-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #d6d0c6;border-left:1px solid #d6d0c6}.mpd-confirm-data-grid>div{padding:21px 22px;border-right:1px solid #d6d0c6;border-bottom:1px solid #d6d0c6;background:#f8f5ef}.mpd-confirm-data-grid span,.mpd-confirm-data-grid strong{display:block}.mpd-confirm-data-grid span{color:#8a8176;font-size:.61rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800}.mpd-confirm-data-grid strong{margin-top:9px;color:#1e1b1d;font-size:1.15rem;word-break:break-all}.mpd-confirm-warning{display:grid;gap:4px;margin-top:18px;padding:15px 17px;border-left:3px solid #e0a800;background:#fff7de}.mpd-confirm-warning strong{font-size:.77rem}.mpd-confirm-warning span{color:#6c6252;font-size:.72rem;line-height:1.5}.mpd-confirm-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
@media(max-width:900px){.mpd-report-hero-layout,.mpd-report-form-intro{grid-template-columns:1fr;gap:34px}.mpd-report-hero-info{max-width:650px}.mpd-step-labels{display:none}.mpd-report-form-intro{align-items:start}.mpd-report-form-intro>p{max-width:650px}.mpd-report-form-body{padding:30px 26px 32px}}
@media(max-width:680px){.mpd-report-hero-layout{min-height:auto;padding-top:48px;padding-bottom:50px}.mpd-report-hero-copy h1{font-size:clamp(2.8rem,13vw,4rem)}.mpd-report-hero-info{padding-left:18px}.mpd-report-form-section{padding:54px 0 62px}.mpd-report-form-intro h2{font-size:2.35rem}.mpd-progress-wrap{padding:17px 12px}.mpd-step-dot{width:30px;height:30px;flex-basis:30px}.mpd-step-line{width:18px}.mpd-report-form-body{padding:25px 18px 28px}.mpd-step-heading{grid-template-columns:30px 1fr}.mpd-step-heading h2{font-size:1.45rem}.mpd-choice-grid,.mpd-form-grid,.mpd-confirm-data-grid{grid-template-columns:1fr}.mpd-choice{grid-template-columns:34px 1fr 22px;padding:18px}.mpd-form-actions{align-items:stretch;flex-direction:column-reverse}.mpd-form-btn{width:100%}.mpd-report-help{align-items:flex-start;flex-direction:column}.mpd-confirm-section{padding:54px 0 62px}.mpd-confirm-card{padding:32px 22px}.mpd-confirm-card h1{font-size:2.75rem}.mpd-confirm-actions{display:grid;grid-template-columns:1fr;width:100%}}
@media print{.site-header,.site-footer,.mpd-confirm-actions{display:none!important}.mpd-confirm-section{padding:0;background:#fff}.mpd-confirm-card{border:0;padding:20px}}

/* ==========================================================
   MPD - SEGUIMIENTO DE DENUNCIA
   ========================================================== */
.mpd-tracking-hero {
    position: relative;
    padding: 76px 0 72px;
    overflow: hidden;
    background:
        radial-gradient(circle at 82% 38%, rgba(214,167,0,.12), transparent 28%),
        linear-gradient(120deg, #171719 0%, #222125 62%, #20372f 100%);
    color: #fff;
}

.mpd-tracking-hero-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
    gap: 72px;
    align-items: center;
}

.mpd-tracking-hero-copy {
    max-width: 720px;
}

.mpd-tracking-hero-copy h1 {
    margin: 0;
    font-size: clamp(3.2rem, 5.2vw, 5rem);
    line-height: .91;
    letter-spacing: -.06em;
    font-weight: 900;
}

.mpd-tracking-hero-copy > p {
    max-width: 660px;
    margin: 24px 0 0;
    color: rgba(255,255,255,.78);
    font-size: .98rem;
    line-height: 1.72;
}

.mpd-tracking-hero-info {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 18px;
    padding: 28px;
    border: 1px solid rgba(255,255,255,.2);
    background: rgba(255,255,255,.045);
    backdrop-filter: blur(3px);
}

.mpd-tracking-hero-info-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    background: #d9aa00;
    color: #171719;
}

.mpd-tracking-hero-info-icon svg {
    width: 30px;
    height: 30px;
}

.mpd-tracking-hero-info span {
    display: block;
    margin-bottom: 7px;
    color: #d9aa00;
    font-size: .68rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.mpd-tracking-hero-info strong {
    display: block;
    margin-bottom: 10px;
    font-size: 1.35rem;
    line-height: 1.08;
}

.mpd-tracking-hero-info p {
    margin: 0;
    color: rgba(255,255,255,.68);
    font-size: .86rem;
    line-height: 1.62;
}

.mpd-tracking-section {
    padding: 74px 0 82px;
    background: #f3f1ec;
}

.mpd-tracking-shell {
    max-width: 1240px;
}

.mpd-tracking-login-layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr);
    gap: 66px;
    align-items: start;
}

.mpd-tracking-login-copy {
    max-width: 500px;
}

.mpd-tracking-login-copy h2 {
    margin: 0;
    color: #1e1c1d;
    font-size: clamp(2.55rem, 3.2vw, 3.7rem);
    line-height: .94;
    letter-spacing: -.05em;
    font-weight: 900;
}

.mpd-tracking-login-copy > p {
    margin: 20px 0 0;
    color: #5a554e;
    font-size: .91rem;
    line-height: 1.7;
}

.mpd-tracking-security-note {
    display: grid;
    gap: 6px;
    margin-top: 26px;
    padding: 18px 20px;
    border-left: 3px solid #d3a400;
    background: #ece8df;
}

.mpd-tracking-security-note strong {
    color: #242124;
    font-size: .86rem;
}

.mpd-tracking-security-note span {
    color: #625d55;
    font-size: .8rem;
    line-height: 1.5;
}

.mpd-tracking-login-card {
    padding: 30px;
    border: 1px solid #d5d0c5;
    background: #fff;
    box-shadow: 0 18px 50px rgba(32,27,22,.06);
}

.mpd-tracking-login-card .mpd-field + .mpd-field {
    margin-top: 18px;
}

.mpd-tracking-submit {
    width: 100%;
    justify-content: space-between;
    margin-top: 22px;
}

.mpd-case-header {
    display: flex;
    justify-content: space-between;
    gap: 28px;
    align-items: flex-end;
    padding-bottom: 24px;
    border-bottom: 1px solid #d6d0c5;
}

.mpd-case-label {
    display: block;
    margin-bottom: 8px;
    color: #7f6100;
    font-size: .68rem;
    letter-spacing: .17em;
    text-transform: uppercase;
    font-weight: 900;
}

.mpd-case-header h2 {
    margin: 0;
    color: #1f1d1e;
    font-size: clamp(1.75rem, 2.4vw, 2.7rem);
    line-height: 1;
    letter-spacing: -.035em;
}

.mpd-case-header-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.mpd-case-status,
.mpd-case-close {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    padding: 0 14px;
    font-size: .72rem;
    font-weight: 900;
    text-decoration: none;
}

.mpd-case-status {
    background: #e4eadf;
    color: #315442;
    border: 1px solid #b8c8bb;
}

.mpd-case-close {
    background: transparent;
    color: #33302f;
    border: 1px solid #bfb8ad;
}

.mpd-case-summary-grid {
    display: grid;
    grid-template-columns: 1.25fr 1fr .8fr;
    gap: 12px;
    margin-top: 26px;
}

.mpd-case-summary-card {
    min-height: 94px;
    display: grid;
    align-content: center;
    gap: 8px;
    padding: 18px 20px;
    border: 1px solid #d7d1c7;
    background: rgba(255,255,255,.45);
}

.mpd-case-summary-card span {
    color: #817a70;
    font-size: .67rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-weight: 800;
}

.mpd-case-summary-card strong {
    color: #242124;
    font-size: .9rem;
    line-height: 1.35;
}

.mpd-case-content-grid {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: 20px;
    margin-top: 20px;
}

.mpd-case-panel {
    padding: 28px;
    border: 1px solid #d7d1c7;
    background: #fff;
}

.mpd-case-panel-heading h3 {
    margin: 0;
    color: #211f20;
    font-size: 1.5rem;
    line-height: 1.05;
    letter-spacing: -.03em;
}

.mpd-case-panel-heading > p {
    margin: 10px 0 0;
    color: #69635b;
    font-size: .82rem;
    line-height: 1.58;
}

.mpd-case-timeline {
    display: grid;
    gap: 0;
    margin-top: 24px;
}

.mpd-case-timeline-item {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 14px;
    padding: 18px 0;
    border-top: 1px solid #e5e0d7;
}

.mpd-case-timeline-marker {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    background: #313d36;
    color: #fff;
    font-size: .68rem;
    font-weight: 900;
}

.mpd-case-timeline-top {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.mpd-case-timeline-top strong {
    color: #252223;
    font-size: .88rem;
}

.mpd-case-timeline-top time {
    color: #8a8378;
    font-size: .7rem;
}

.mpd-case-timeline-item p {
    margin: 7px 0 0;
    color: #625d55;
    font-size: .8rem;
    line-height: 1.55;
}

.mpd-public-thread {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 420px;
    overflow-y: auto;
    margin-top: 22px;
    padding: 4px 2px 8px;
}

.mpd-public-msg {
    max-width: 88%;
    padding: 13px 15px;
    border: 1px solid #ddd7cd;
    font-size: .8rem;
    line-height: 1.55;
}

.mpd-public-msg.denunciante {
    align-self: flex-end;
    background: #f4eedc;
    border-color: #dfd0a6;
}

.mpd-public-msg.admin {
    align-self: flex-start;
    background: #edf2ee;
    border-color: #cbd7cd;
}

.mpd-public-meta {
    margin-bottom: 5px;
    color: #81796f;
    font-size: .66rem;
    font-weight: 800;
}

.mpd-empty-thread {
    padding: 18px;
    background: #f4f2ed;
    color: #746d63;
    font-size: .8rem;
}

.mpd-new-message-alert {
    display: grid;
    gap: 4px;
    margin-top: 18px;
    padding: 14px 16px;
    background: #e7efe9;
    color: #315442;
    border-left: 3px solid #42634e;
    font-size: .78rem;
}

.mpd-message-form {
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid #e2ddd4;
}

.mpd-message-form .mpd-form-btn {
    margin-top: 14px;
}

.mpd-form-alert-success {
    margin-bottom: 24px;
    border-color: #b7cbbd;
    background: #e8f0ea;
    color: #315442;
}

@media (max-width: 980px) {
    .mpd-tracking-hero-layout,
    .mpd-tracking-login-layout,
    .mpd-case-content-grid {
        grid-template-columns: 1fr;
    }

    .mpd-tracking-hero-info,
    .mpd-tracking-login-copy {
        max-width: 680px;
    }

    .mpd-case-summary-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 680px) {
    .mpd-tracking-hero {
        padding: 60px 0 56px;
    }

    .mpd-tracking-hero-layout {
        gap: 34px;
    }

    .mpd-tracking-hero-copy h1 {
        font-size: clamp(2.55rem, 12vw, 3.5rem);
    }

    .mpd-tracking-section {
        padding: 56px 0 62px;
    }

    .mpd-tracking-login-card,
    .mpd-case-panel {
        padding: 20px 18px;
    }

    .mpd-case-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .mpd-case-header-actions {
        justify-content: flex-start;
    }

    .mpd-case-summary-grid {
        grid-template-columns: 1fr;
    }

    .mpd-case-timeline-top {
        flex-direction: column;
        gap: 4px;
    }

    .mpd-public-msg {
        max-width: 96%;
    }
}

/* ==========================================================
   ETAPA 43 - Estado de envío dentro del formulario de contacto
   ========================================================== */
.contact-form > .form-status {
    margin: 0;
    width: 100%;
}

/* ==========================================================
   ETAPA 54 · Portal público de Licitaciones
   ========================================================== */
.tender-hero{padding:86px 0 72px;background:#20221f;color:#fff}.tender-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:70px;align-items:end}.tender-kicker,.tender-section-head>div>span,.tender-detail-block>span,.tender-deadlines>span{display:block;margin-bottom:12px;color:#dda900;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.tender-hero h1{margin:0;font-size:clamp(3.2rem,6vw,6rem);line-height:.95;letter-spacing:-.05em}.tender-hero p{max-width:720px;margin:22px 0 0;color:#c8ccc7;font-size:1rem;line-height:1.7}.tender-hero aside{border-left:1px solid #4a4d48;padding-left:30px}.tender-hero aside span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#a8ada7}.tender-hero aside strong{display:block;margin-top:5px;color:#f1bd00;font-size:3.5rem;line-height:1}.tender-hero aside p{margin-top:8px;font-size:.82rem}.tender-list-section{padding:78px 0;background:#f4f2ed}.tender-section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}.tender-section-head h2{margin:0;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.04em}.tender-section-head>p{max-width:470px;margin:0;color:#69665f;line-height:1.6;font-size:.85rem}.tender-list{display:grid;gap:14px}.tender-card{display:grid;grid-template-columns:150px minmax(0,1fr) 170px;gap:0;background:#fff;border:1px solid #d7d2c8;min-height:190px}.tender-card-code{display:flex;align-items:flex-start;padding:28px 24px;border-right:1px solid #e0dbd1;color:#7b7469;font-size:.72rem;font-weight:800;letter-spacing:.12em}.tender-card-main{padding:28px 32px}.tender-status{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border:1px solid #cfc9be;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tender-status.open{background:#e7efe9;color:#315442;border-color:#b7cabb}.tender-status.closed{background:#efede8;color:#69635a}.tender-card h3{margin:12px 0 8px;font-size:1.45rem;letter-spacing:-.02em}.tender-card-main>p{margin:0;color:#68645d;line-height:1.55;font-size:.84rem}.tender-card-meta{display:flex;flex-wrap:wrap;gap:26px;margin-top:22px}.tender-card-meta span{font-size:.78rem;font-weight:700;color:#393632}.tender-card-meta small{display:block;margin-bottom:3px;color:#8b857a;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.tender-card-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:28px 24px;border-left:1px solid #e0dbd1;color:#232320;text-decoration:none;font-size:.8rem;font-weight:800}.tender-card-link:hover{background:#f0b800}.tender-card-link span{font-size:1.35rem}.tender-empty{padding:34px;background:#fff;border:1px solid #d9d4ca}.tender-empty strong{font-size:1rem}.tender-empty p{margin:7px 0 0;color:#746f66}.tender-empty.small{padding:20px}.tender-archive-section{padding:62px 0 80px;background:#fff}.tender-section-head.compact{margin-bottom:22px}.tender-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tender-archive-grid>a{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid #ddd8ce;color:#292725;text-decoration:none}.tender-archive-grid>a:hover{border-color:#d6a700;background:#faf7ee}.tender-archive-grid span{font-size:.65rem;letter-spacing:.1em;color:#857f75}.tender-archive-grid strong{font-size:.95rem;line-height:1.35}.tender-archive-grid small{color:#7b756c}.tender-detail-hero{padding:64px 0 56px;background:#20221f;color:#fff}.tender-back{display:inline-flex;color:#4c4944;text-decoration:none;font-size:.78rem;font-weight:700}.tender-back.light{color:#c9cdc8}.tender-detail-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-start;margin-top:34px}.tender-detail-heading h1{max-width:900px;margin:0;font-size:clamp(2.5rem,5vw,4.7rem);line-height:.97;letter-spacing:-.045em}.tender-detail-heading p{max-width:780px;margin:20px 0 0;color:#c7cbc6;line-height:1.65}.tender-detail-section{padding:70px 0 86px;background:#f4f2ed}.tender-detail-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:28px;align-items:start}.tender-detail-grid>main{display:grid;gap:20px}.tender-detail-block,.tender-deadlines{background:#fff;border:1px solid #d9d4ca;padding:30px}.tender-detail-block h2,.tender-deadlines h2{margin:0 0 18px;font-size:1.55rem;letter-spacing:-.025em}.tender-prose{color:#5f5b54;line-height:1.75;font-size:.88rem}.tender-doc-list{display:grid;gap:8px}.tender-doc-list>a{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border:1px solid #ded9cf;color:#2f2d2a;text-decoration:none}.tender-doc-list>a:hover{background:#f7f4eb;border-color:#d6ab21}.tender-doc-icon{width:34px;height:34px;display:grid;place-items:center;background:#20221f;color:#fff;font-weight:900}.tender-doc-list div{display:grid;gap:2px}.tender-doc-list small{color:#9a7700;font-size:.62rem;font-weight:800;letter-spacing:.08em}.tender-doc-list strong{font-size:.86rem}.tender-doc-list em{font-style:normal;color:#898278;font-size:.68rem}.tender-doc-list>a>span:last-child{font-size:.7rem;font-weight:800;color:#6c665e}.tender-deadlines{position:sticky;top:96px}.tender-deadlines dl{margin:0;display:grid}.tender-deadlines dl>div{padding:14px 0;border-top:1px solid #e4dfd6}.tender-deadlines dl>div.primary{margin:5px -10px;padding:14px 10px;background:#f6edca;border-top:0}.tender-deadlines dt{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:#817b72}.tender-deadlines dd{margin:5px 0 0;font-size:.9rem;font-weight:800}.tender-deadlines>p{margin:22px 0 0;color:#777067;font-size:.73rem;line-height:1.55}.tender-detail-section>.container>.tender-empty{max-width:760px;margin:0 auto}.tender-detail-section .tender-empty .tender-back{margin-top:18px}
@media(max-width:980px){.tender-hero-grid,.tender-detail-grid{grid-template-columns:1fr}.tender-hero aside{border-left:0;border-top:1px solid #4a4d48;padding:22px 0 0}.tender-card{grid-template-columns:120px minmax(0,1fr)}.tender-card-link{grid-column:1/-1;border-left:0;border-top:1px solid #e0dbd1;padding:15px 24px}.tender-archive-grid{grid-template-columns:1fr 1fr}.tender-deadlines{position:static}.tender-detail-heading{flex-direction:column}}
@media(max-width:680px){.tender-hero{padding:58px 0 50px}.tender-list-section,.tender-detail-section{padding:50px 0}.tender-section-head{align-items:flex-start;flex-direction:column}.tender-card{grid-template-columns:1fr}.tender-card-code{border-right:0;border-bottom:1px solid #e0dbd1;padding:14px 18px}.tender-card-main{padding:22px 18px}.tender-card-meta{display:grid;gap:12px}.tender-card-link{padding:14px 18px}.tender-archive-grid{grid-template-columns:1fr}.tender-detail-block,.tender-deadlines{padding:22px 18px}.tender-doc-list>a{grid-template-columns:36px minmax(0,1fr)}.tender-doc-list>a>span:last-child{display:none}}


/* ==========================================================
   ETAPA 55 · Licitaciones · mejora visual
   ========================================================== */
.tender-hero{position:relative;padding:94px 0 82px;background:linear-gradient(135deg,#1e211f 0%,#232724 58%,#2a2f2b 100%);overflow:hidden}.tender-hero:before{content:"";position:absolute;right:-120px;top:-120px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(240,184,0,.22) 0%,rgba(240,184,0,0) 70%)}.tender-hero:after{content:"";position:absolute;left:-140px;bottom:-170px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,rgba(255,255,255,0) 72%)}.tender-hero-grid{position:relative;z-index:1;align-items:start;gap:48px}.tender-hero-copy{max-width:820px}.tender-hero h1{max-width:920px;font-size:clamp(3rem,5.6vw,5.55rem)}.tender-hero p{max-width:720px;margin-top:18px;font-size:.95rem;line-height:1.72}.tender-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.tender-hero-btn,.tender-hero-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;text-decoration:none;font-size:.8rem;font-weight:800;letter-spacing:.02em}.tender-hero-btn{background:#f0b800;color:#1e201d}.tender-hero-btn:hover{background:#ffd24f}.tender-hero-link{color:#fff;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.04)}.tender-hero-link:hover{background:rgba(255,255,255,.1)}.tender-hero-side{padding:24px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);backdrop-filter:blur(3px)}.tender-hero-side-title{margin-bottom:16px;color:#f2c31d;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.tender-hero-stats{display:grid;gap:12px}.tender-hero-stats article{padding:16px 18px;border:1px solid rgba(255,255,255,.1);background:rgba(20,20,20,.18)}.tender-hero-stats span{display:block;color:#a9aea9;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.tender-hero-stats strong{display:block;margin-top:6px;color:#fff;font-size:1.95rem;line-height:1}.tender-hero-stats small{display:block;margin-top:8px;color:#cad0ca;font-size:.77rem;line-height:1.5}.tender-list-section{padding:82px 0;background:#f7f5ef}.tender-section-head{margin-bottom:34px}.tender-section-head h2{font-size:clamp(2.15rem,3.8vw,3.35rem)}.tender-card{grid-template-columns:160px minmax(0,1fr) 220px;border:1px solid #ddd8cf;box-shadow:0 14px 36px rgba(0,0,0,.04)}.tender-card-code{background:#fbfaf7;color:#7d766d}.tender-card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tender-area-pill,.tender-meta-pill{display:inline-flex;align-items:center;min-height:27px;padding:4px 10px;border:1px solid #d7d1c6;background:#f5f1e8;color:#5c564f;font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.tender-area-pill.light{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#f2f4f2}.tender-card h3{margin:14px 0 10px;font-size:1.55rem;line-height:1.08}.tender-card-main>p{font-size:.85rem;line-height:1.62}.tender-card-meta{gap:18px}.tender-card-meta span{min-width:140px}.tender-card-link{display:grid;align-content:space-between;padding:24px 22px;background:#f7f5ef}.tender-card-link span{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tender-card-link strong{font-size:1rem;line-height:1.3}.tender-card-link:hover{background:#f0b800;color:#1e201d}.tender-empty-rich{padding:38px 34px;background:linear-gradient(180deg,#fff 0%,#faf8f2 100%)}.tender-archive-section{padding:70px 0 88px;background:#fff}.tender-archive-grid>a{padding:22px;min-height:146px;justify-content:space-between;box-shadow:0 10px 26px rgba(0,0,0,.035)}.tender-detail-hero{position:relative;padding:68px 0 48px;background:linear-gradient(135deg,#1e211f 0%,#232724 60%,#292d29 100%)}.tender-detail-heading{margin-top:24px}.tender-detail-heading p{font-size:.93rem}.tender-detail-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.tender-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}.tender-detail-summary article{padding:16px 18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05)}.tender-detail-summary small{display:block;color:#c0c5c0;font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.tender-detail-summary strong{display:block;margin-top:8px;color:#fff;font-size:.95rem;line-height:1.45}.tender-detail-section{padding:72px 0 90px;background:#f7f5ef}.tender-detail-block,.tender-deadlines{box-shadow:0 12px 30px rgba(0,0,0,.035)}.tender-doc-list{gap:10px}.tender-doc-list>a{padding:16px 18px}.tender-doc-icon{width:38px;height:38px}.tender-info-card{margin-top:20px;padding:16px 18px;border:1px solid #e1dbc9;background:#fbf8ef}.tender-info-card strong{display:block;margin-bottom:8px;color:#2b2926}.tender-info-card p{margin:0;color:#71695e;font-size:.76rem;line-height:1.58}.tender-back:hover{opacity:.8}.tender-doc-list>a>span:last-child{font-weight:800}.tender-deadlines dl>div{padding:15px 0}.tender-deadlines dl>div.primary{background:#f2e2a0}.tender-deadlines dd{line-height:1.4}@media(max-width:980px){.tender-card{grid-template-columns:136px minmax(0,1fr)}.tender-card-link{grid-column:1/-1}.tender-detail-summary{grid-template-columns:1fr}}@media(max-width:680px){.tender-hero{padding:64px 0 56px}.tender-hero-actions{flex-direction:column;align-items:stretch}.tender-hero-btn,.tender-hero-link{width:100%}.tender-card{grid-template-columns:1fr}.tender-card-code{padding:16px 18px}.tender-card-link{padding:16px 18px}.tender-detail-summary{grid-template-columns:1fr}}
\n\n/* Etapa 56 · Acceso a ofertas */\n.tender-offer-cta{margin-top:20px;padding:20px;border:1px solid #d7b844;background:#f9edbc}.tender-offer-cta>span{display:block;color:#806100;font-size:.62rem;font-weight:900;letter-spacing:.11em}.tender-offer-cta>strong{display:block;margin-top:8px;font-size:1.1rem}.tender-offer-cta>p{margin:8px 0 14px;color:#625a40;font-size:.75rem;line-height:1.55}.tender-offer-cta>a{display:flex;align-items:center;justify-content:center;min-height:42px;background:#20221f;color:#fff;text-decoration:none;font-size:.76rem;font-weight:800}.tender-offer-cta.closed{background:#efede8;border-color:#d7d1c6}.tender-offer-cta.closed>span{color:#756f66}.tender-offer-cta.closed>p{margin-bottom:0;color:#746e65}\n

/* Etapa 58 · Resultado público de licitaciones */
.tender-status.awarded{background:#e5efe8;color:#2e5b40;border-color:#acc8b4}.tender-status.deserted{background:#f3eadb;color:#765824;border-color:#ddc796}.tender-result-card{padding:30px;border:1px solid #d9d4ca;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.035)}.tender-result-card.awarded{border-left:5px solid #3f6c50}.tender-result-card.deserted{border-left:5px solid #c89a24}.tender-result-card>span{display:block;margin-bottom:10px;color:#9b7600;font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.tender-result-card h2{margin:0 0 14px;font-size:1.65rem;letter-spacing:-.025em}.tender-result-card strong{display:block;font-size:1.15rem}.tender-result-card small{display:block;margin-top:7px;color:#817a70}.tender-result-card p{margin:18px 0 0;color:#5f5a53;font-size:.86rem;line-height:1.7}
