/* Reset y Variables */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        :root {
            --verde-profundo: #02534D;
            --amarillo-mostaza: #FF9A00;
            --azul-marino: #00002C;
            --gris-medio: #929394;
            --gris-claro: #E6E6E6;
        }

        /* Scroll suave con accesibilidad */
        @media (prefers-reduced-motion: no-preference) {
            html {
                scroll-behavior: smooth;
            }
        }

        body {
            font-family: 'Poppins', sans-serif;
            color: var(--gris-medio);
            line-height: 1.6;
        }

        /* Header/Navigation - TAMAÑO ORIGINAL */
        header {
            background-color: var(--verde-profundo);
            padding: 1.5rem 5%;
            position: fixed;
            width: 100%;
            top: 0;
            z-index: 1000;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }

        nav {
            display: flex;
            justify-content: space-between;
            align-items: center;
            max-width: 1400px;
            margin: 0 auto;
        }

        /* LOGO GRANDE (100px) dentro de contenedor normal */
        .logo {
            height: 45px;
            display: flex;
            align-items: center;
        }

        .logo-img {
            height: 45px; /* LOGO MÁS GRANDE */
            width: auto;
            transition: transform 0.3s ease;
        }

        .logo-img:hover {
            transform: scale(1.05);
            opacity: 0.9;
        }

        .nav-links {
            display: flex;
            gap: 2rem;
            list-style: none;
        }

        .nav-links a {
            color: #E6E6E6;
            text-decoration: none;
            font-weight: 700;
            transition: color 0.3s;
        }

        .nav-links a:hover {
            color: var(--amarillo-mostaza);
        }

        /* Hero Section */
		.hero {
			background: linear-gradient(120deg, var(--azul-marino) 0%, var(--verde-profundo) 100%);
			min-height: 100vh;
			display: flex;
			align-items: center;
			padding: 6rem 5% 4rem;
			position: relative;
			overflow: hidden;
		}

		.hero-pattern {
			position: absolute;
			top: 0;
			right: 0;
			height: 100%;
			width: 58%;
			background-image: url('../img/2R_PNG_11.png');
			background-size: cover;
			background-position: center;
			opacity: 0.25;
			-webkit-mask-image: linear-gradient(to right, transparent, black 12%);
			mask-image: linear-gradient(to right, transparent, black 12%);
			pointer-events: none;
		}
		
		.hero-content {
			max-width: 1400px;
			margin: 0 auto;
			display: grid;
			grid-template-columns: 1.1fr 0.9fr;
			gap: 4rem;
			align-items: center;
			position: relative;
			z-index: 2;
		}

		.eyebrow {
			display: inline-flex;
			align-items: center;
			gap: .5rem;
			color: var(--amarillo-mostaza);
			font-size: 13px;
			font-weight: 600;
			letter-spacing: 2px;
			text-transform: uppercase;
			margin-bottom: 1.2rem;
		}

		.eyebrow::before {
			content: '';
			width: 26px;
			height: 2px;
			background: var(--amarillo-mostaza);
		}

		.hero-text h1 {
			color: white;
			font-size: 3.5rem;
			font-weight: 700;
			margin-bottom: 1.5rem;
			line-height: 1.2;
		}

		.hero-text .subtitle {
			color: var(--amarillo-mostaza);
			font-size: 1.5rem;
			margin-bottom: 2rem;
		}

		.hero-text p {
			color: var(--gris-claro);
			font-size: 1.1rem;
			margin-bottom: 2rem;
		}

		.cta-button {
			background-color: var(--amarillo-mostaza);
			color: white;
			border: none;
			padding: 1rem 2.5rem;
			font-size: 1.1rem;
			font-weight: 600;
			cursor: pointer;
			border-radius: 5px;
			transition: all 0.3s;
		}

		.cta-button:hover {
			background-color: var(--azul-marino);
			transform: translateY(-2px);
			box-shadow: 0 5px 15px rgba(0,0,0,0.3);
		}

		.hero-visual {
			display: flex;
			justify-content: center;
			align-items: center;
			position: relative;
			z-index: 2;
		}

		.visual-frame {
			width: 100%;
			max-width: 420px;
			aspect-ratio: 4/5;
			border-radius: 16px;
			overflow: hidden;
			background: rgba(255,255,255,.04);
			border: 1px solid rgba(255,255,255,.12);
			display: flex;
			align-items: center;
			justify-content: center;
			box-shadow: 0 20px 40px rgba(0,0,0,0.3);
		}

		.hero-icon {
			width: 85%;
			max-width: 520px;
			height: auto;
			display: block;
			border-radius: 15px;
			box-shadow: 0 25px 60px rgba(0,0,44,.3);
			margin-top: 1.8rem;
		}
            
		/* Quienes Somos */
		.quienes {
			display: grid;
			grid-template-columns: 1fr 1.2fr;
			background: #f4f4f3;
			align-items: start;
			gap: 3rem;
			padding: 3.5rem 5%;
		}

		.quienes-content {
			display: flex;
			flex-direction: column;
			justify-content: center;
		}

		.quienes-content .eyebrow {
			display: inline-flex;
			align-items: center;
			gap: .5rem;
			color: var(--verde-profundo);
			font-size: 13px;
			font-weight: 700;
			letter-spacing: 2px;
			text-transform: uppercase;
			margin-bottom: 1.2rem;
			width: fit-content;
		}

		.quienes-content .eyebrow::before {
			content: '';
			width: 26px;
			height: 2px;
			background: var(--amarillo-mostaza);
		}

		.quienes-content h2 {
			color: var(--azul-marino);
			font-size: 2.7rem;
			font-weight: 800;
			line-height: 1.15;
			margin-bottom: 1.2rem;
			max-width: 620px;
		}

		.intro-text {
			max-width: 620px;
			margin-bottom: 1.4rem;
		}

		.intro-text p {
			color: var(--gris-medio);
			font-size: .95rem;
			line-height: 1.6;
			margin-bottom: .8rem;
		}

		.intro-text p:last-child {
			margin-bottom: 0;
		}

		.block-list {
			display: flex;
			flex-direction: column;
			gap: 1.3rem;
		}

		.block {
			border-left: 3px solid var(--verde-profundo);
			padding-left: 1.6rem;
		}

		.block h4 {
			color: var(--azul-marino);
			font-size: .95rem;
			font-weight: 700;
			letter-spacing: 1px;
			text-transform: uppercase;
			margin-bottom: .4rem;
		}

		.block p {
			color: var(--gris-medio);
			font-size: .9rem;
			line-height: 1.6;
			max-width: 600px;
		}

		.block.valores {
			border-left-color: var(--amarillo-mostaza);
		}

		.valores-tags {
			display: flex;
			flex-wrap: wrap;
			gap: .6rem;
			margin-top: .3rem;
		}

		.valores-tags span {
			background: rgba(2,83,77,.08);
			color: var(--verde-profundo);
			font-size: .82rem;
			font-weight: 600;
			padding: .4rem .9rem;
			border-radius: 20px;
		}

		.quienes-visual {
			display: flex;
			align-items: flex-start;
			justify-content: center;
		}

		.quienes-photo-card {
			position: relative;
			width: 100%;
			max-width: 520px;
			margin: 0 auto;
			aspect-ratio: 3/3.6;
			border-radius: 22px;
			overflow: hidden;
			box-shadow: 0 25px 60px rgba(0,0,44,.25);
			background-image: url('../img/quienes.jpg');
			background-size: cover;
			background-position: center;
		}

		.quienes-photo-card::after {
			content: '';
			position: absolute;
			inset: 0;
			background: linear-gradient(
				to top,
				rgba(0,0,44,.95) 0%,
				rgba(0,0,44,.85) 30%,
				rgba(0,0,44,.35) 60%,
				rgba(0,0,44,.05) 100%
			);
		}

		.quienes-photo-overlay {
			position: absolute;
			left: 0; right: 0; bottom: 0;
			z-index: 2;
			padding: 1.8rem 1.6rem;
		}

		.quienes-photo-overlay .kicker {
			color: var(--amarillo-mostaza);
			font-size: .78rem;
			font-weight: 700;
			letter-spacing: 2px;
			text-transform: uppercase;
			margin-bottom: 1rem;
		}

		.quienes-photo-overlay h3 {
			color: white;
			font-size: 1.7rem;
			font-weight: 800;
			line-height: 1.25;
			margin-bottom: 1rem;
		}

		.quienes-photo-overlay h3 span {
			color: var(--amarillo-mostaza);
		}

		.quienes-photo-overlay p {
			color: var(--gris-claro);
			font-size: .9rem;
			line-height: 1.6;
			max-width: 400px;
		}

		@media (max-width: 960px) {
			.quienes {
				grid-template-columns: 1fr;
			}
		}

        /* Nuestro Valor Agregado */
		.valor {
			position: relative;
			background: linear-gradient(120deg, var(--azul-marino) 0%, var(--verde-profundo) 100%);
			padding: 6.5rem 5%;
			overflow: hidden;
		}

		.valor-pattern {
			position: absolute;
			inset: 0;
			background-image: url('../img/PATRO.png');
			background-size: 260px;
			background-repeat: repeat;
			opacity: 0.06;
			pointer-events: none;
		}

		.valor-inner {
			position: relative;
			z-index: 2;
			max-width: 1300px;
			margin: 0 auto;
		}

		.valor .header-block {
			max-width: 700px;
			margin-bottom: 3.5rem;
		}

		.valor .eyebrow {
			display: inline-flex;
			align-items: center;
			gap: .5rem;
			color: var(--amarillo-mostaza);
			font-size: 13px;
			font-weight: 700;
			letter-spacing: 2px;
			text-transform: uppercase;
			margin-bottom: 1.1rem;
		}

		.valor .eyebrow::before {
			content: '';
			width: 26px;
			height: 2px;
			background: var(--amarillo-mostaza);
		}

		.valor h2 {
			color: white;
			font-size: 2.6rem;
			font-weight: 800;
			line-height: 1.2;
			margin-bottom: 1rem;
		}

		.valor h2 span {
			color: var(--amarillo-mostaza);
		}

		.valor .header-block p {
			color: var(--gris-claro);
			font-size: 1.02rem;
			line-height: 1.7;
		}

		.valor-grid {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 1.8rem;
		}

		.vcard {
			background: rgba(255,255,255,.04);
			border: 1px solid rgba(255,255,255,.1);
			border-radius: 16px;
			padding: 2.2rem 2rem;
		}

		.vcard .vicon {
			width: 46px;
			height: 46px;
			border-radius: 0 60% 60% 60%;
			background: var(--amarillo-mostaza);
			margin-bottom: 1.4rem;
		}

		.vcard h4 {
			color: white;
			font-size: 1.15rem;
			font-weight: 700;
			margin-bottom: 1.2rem;
			line-height: 1.3;
		}

		.vcard ul {
			list-style: none;
			padding: 0;
			margin: 0;
		}

		.vcard ul li {
			color: var(--gris-claro);
			font-size: .9rem;
			line-height: 1.6;
			opacity: .88;
			padding-left: 1.2rem;
			position: relative;
			margin-bottom: 0.9rem;
		}

		.vcard ul li:last-child {
			margin-bottom: 0;
		}

		.vcard ul li::before {
			content: '';
			position: absolute;
			left: 0;
			top: 0.5rem;
			width: 6px;
			height: 6px;
			border-radius: 50%;
			background: var(--amarillo-mostaza);
		}

		@media (max-width: 900px) {
			.valor-grid {
				grid-template-columns: 1fr;
			}
		}

        /* Nuestros Servicios */
		.serv8b {
			position: relative;
			background: #f4f4f3;
			padding: 6.5rem 5%;
			overflow: hidden;
		}

		.serv8b-bgpattern {
			position: absolute;
			top: -60px;
			right: -60px;
			width: 280px;
			height: 280px;
			background: var(--amarillo-mostaza);
			opacity: 0.06;
			border-radius: 0 0 0 100%;
			pointer-events: none;
		}

		.serv8b-inner {
			position: relative;
			z-index: 2;
			max-width: 1100px;
			margin: 0 auto;
		}

		.serv8b .header-block {
			max-width: 750px;
			margin: 0 auto 4.5rem;
			text-align: center;
		}

		.serv8b .eyebrow {
			display: inline-flex;
			align-items: center;
			gap: .5rem;
			justify-content: center;
			color: var(--verde-profundo);
			font-size: 13px;
			font-weight: 700;
			letter-spacing: 2px;
			text-transform: uppercase;
			margin-bottom: 1.1rem;
		}

		.serv8b .eyebrow::before {
			content: '';
			width: 26px;
			height: 2px;
			background: var(--amarillo-mostaza);
		}

		.serv8b h2 {
			color: var(--azul-marino);
			font-size: 2.5rem;
			font-weight: 800;
			line-height: 1.2;
			margin-bottom: 1rem;
		}

		.serv8b h2 span {
			color: var(--verde-profundo);
		}

		.serv8b .header-block p {
			color: var(--gris-medio);
			font-size: 1.02rem;
			line-height: 1.7;
		}

		.timeline {
			position: relative;
			padding-left: 78px;
		}

		.timeline::before {
			content: '';
			position: absolute;
			left: 27px;
			top: 6px;
			bottom: 6px;
			width: 3px;
			background: linear-gradient(to bottom, var(--amarillo-mostaza) 0%, var(--verde-profundo) 50%, var(--azul-marino) 100%);
			border-radius: 3px;
		}

		.tstop {
			position: relative;
			margin-bottom: 1.6rem;
		}

		.tstop:last-child {
			margin-bottom: 0;
		}

		.tstop .marker {
			position: absolute;
			left: -78px;
			top: 0;
			width: 56px;
			height: 56px;
			border-radius: 0 50% 50% 50%;
			color: white;
			display: flex;
			align-items: center;
			justify-content: center;
			font-weight: 800;
			font-size: 1.15rem;
			box-shadow: 0 0 0 7px #f4f4f3, 0 10px 20px rgba(0,0,44,.2);
			z-index: 2;
		}

		.tstop:nth-child(1) .marker { background: var(--amarillo-mostaza); color: var(--azul-marino); }
		.tstop:nth-child(2) .marker { background: var(--verde-profundo); }
		.tstop:nth-child(3) .marker { background: var(--azul-marino); }

		.tstop-card {
			position: relative;
			background: white;
			border-radius: 18px;
			box-shadow: 0 15px 35px rgba(0,0,44,.07);
			overflow: hidden;
			transition: box-shadow .3s ease;
		}

		.tstop-card[open] {
			box-shadow: 0 22px 45px rgba(0,0,44,.12);
		}

		.tstop-card .accent-bar {
			position: absolute;
			top: 0; left: 0; bottom: 0;
			width: 5px;
			z-index: 2;
		}

		.tstop:nth-child(1) .accent-bar { background: var(--amarillo-mostaza); }
		.tstop:nth-child(2) .accent-bar { background: var(--verde-profundo); }
		.tstop:nth-child(3) .accent-bar { background: var(--azul-marino); }

		.tstop-card summary {
			list-style: none;
			cursor: pointer;
			padding: 2rem 2.4rem;
			position: relative;
			transition: background .2s ease;
		}

		.tstop-card summary::-webkit-details-marker {
			display: none;
		}

		.tstop-card summary:hover {
			background: #fdfdfc;
		}

		.tstop-card .card-head {
			display: flex;
			align-items: flex-start;
			justify-content: space-between;
			gap: 1rem;
			margin-bottom: .3rem;
			flex-wrap: wrap;
			padding-right: 3rem;
		}

		.tstop-card h3 {
			color: var(--azul-marino);
			font-size: 1.4rem;
			font-weight: 800;
		}

		.tstop-card .area-tag {
			font-size: .68rem;
			font-weight: 700;
			letter-spacing: 1px;
			text-transform: uppercase;
			padding: .3rem .7rem;
			border-radius: 20px;
			white-space: nowrap;
		}

		.tstop:nth-child(1) .area-tag { background: rgba(255,154,0,.12); color: #c77400; }
		.tstop:nth-child(2) .area-tag { background: rgba(2,83,77,.1); color: var(--verde-profundo); }
		.tstop:nth-child(3) .area-tag { background: rgba(0,0,44,.08); color: var(--azul-marino); }

		.tstop-card .tagline {
			color: var(--gris-medio);
			font-size: .88rem;
			font-style: italic;
			padding-right: 3rem;
		}

		.tstop-card .sarrow {
			position: absolute;
			top: 2rem;
			right: 2.4rem;
			width: 36px;
			height: 36px;
			border-radius: 50%;
			background: #f4f4f3;
			color: var(--azul-marino);
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 1.2rem;
			font-weight: 600;
			transition: transform .25s ease, background .25s ease, color .25s ease;
		}

		.tstop-card[open] .sarrow {
			transform: rotate(45deg);
			background: var(--amarillo-mostaza);
			color: var(--azul-marino);
		}

		.card-body {
			padding: 0 2.4rem 2.3rem;
			animation: accordion-fade .3s ease;
		}

		@keyframes accordion-fade {
			from { opacity: 0; transform: translateY(-8px); }
			to { opacity: 1; transform: translateY(0); }
		}

		.card-body .intro {
			color: var(--gris-medio);
			font-size: .92rem;
			line-height: 1.7;
			margin-bottom: 1.4rem;
		}

		.card-body .group-title {
			color: var(--verde-profundo);
			font-size: .78rem;
			font-weight: 700;
			text-transform: uppercase;
			letter-spacing: .5px;
			margin: 1.6rem 0 .9rem;
		}

		.card-body .group-title:first-of-type {
			margin-top: 0;
		}

		.mini-grid {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 1rem 1.6rem;
		}

		.mini-grid .mitem {
			padding: 1rem 1.1rem;
			background: #fdfdfc;
			border: 1px solid #f0f0f0;
			border-radius: 10px;
			transition: background .2s ease, border-color .2s ease;
		}

		.mini-grid .mitem:hover {
			background: white;
			border-color: var(--amarillo-mostaza);
		}

		.mini-grid .mitem strong {
			color: var(--azul-marino);
			display: block;
			font-size: .87rem;
			margin-bottom: .3rem;
		}

		.mini-grid .mitem span {
			color: var(--gris-medio);
			font-size: .82rem;
			line-height: 1.5;
		}

		.credit-tags {
			display: flex;
			flex-wrap: wrap;
			gap: .5rem;
			margin-top: 1rem;
		}

		.credit-tags span {
			background: rgba(2,83,77,.07);
			color: var(--verde-profundo);
			font-size: .75rem;
			font-weight: 600;
			padding: .35rem .8rem;
			border-radius: 20px;
		}

		@media (max-width: 700px) {
			.timeline { padding-left: 56px; }
			.timeline::before { left: 19px; }
			.tstop .marker { left: -56px; width: 40px; height: 40px; font-size: .9rem; }
			.mini-grid { grid-template-columns: 1fr; }
			.tstop-card summary { padding: 1.6rem 1.6rem; }
			.card-body { padding: 0 1.6rem 1.8rem; }
			.card-head, .tagline { padding-right: 2.5rem; }
			.sarrow { right: 1.6rem; top: 1.6rem; }
		}
		
		/* Experiencia */
		.exp1 {
			position: relative;
			background: linear-gradient(120deg, var(--azul-marino) 0%, var(--verde-profundo) 100%);
			padding: 6.5rem 5%;
			overflow: hidden;
		}

		.exp1-pattern {
			position: absolute;
			inset: 0;
			background-image: url('../img/PATRO.png');
			background-size: 260px;
			background-repeat: repeat;
			opacity: 0.06;
			pointer-events: none;
		}

		.exp1-inner {
			position: relative;
			z-index: 2;
			max-width: 1300px;
			margin: 0 auto;
		}

		.exp1 .header-block {
			max-width: 750px;
			margin-bottom: 3.5rem;
		}

		.exp1 .eyebrow {
			display: inline-flex;
			align-items: center;
			gap: .5rem;
			color: var(--amarillo-mostaza);
			font-size: 13px;
			font-weight: 700;
			letter-spacing: 2px;
			text-transform: uppercase;
			margin-bottom: 1.1rem;
		}

		.exp1 .eyebrow::before {
			content: '';
			width: 26px;
			height: 2px;
			background: var(--amarillo-mostaza);
		}

		.exp1 h2 {
			color: white;
			font-size: 2.5rem;
			font-weight: 800;
			line-height: 1.2;
		}

		.exp1 h2 span {
			color: var(--amarillo-mostaza);
		}

		.feature-row {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 1.8rem;
			margin-bottom: 3rem;
		}

		.feature {
			background: rgba(255,255,255,.04);
			border: 1px solid rgba(255,255,255,.1);
			border-radius: 16px;
			padding: 2.2rem;
		}

		.feature h4 {
			color: white;
			font-size: 1.15rem;
			font-weight: 700;
			margin-bottom: .9rem;
		}

		.feature p {
			color: var(--gris-claro);
			font-size: .92rem;
			line-height: 1.7;
			opacity: .9;
		}

		.feature .badge {
			display: inline-block;
			margin-top: 1.2rem;
			background: rgba(255,154,0,.14);
			color: var(--amarillo-mostaza);
			font-size: .75rem;
			font-weight: 700;
			padding: .35rem .8rem;
			border-radius: 20px;
		}

		.cases-title {
			color: var(--amarillo-mostaza);
			font-size: .85rem;
			font-weight: 700;
			letter-spacing: 1.5px;
			text-transform: uppercase;
			margin-bottom: 1.4rem;
		}

		.case-grid {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 1.8rem;
		}

		.case {
			position: relative;
			background: white;
			border-radius: 16px;
			padding: 2.2rem;
			border-left: 4px solid var(--amarillo-mostaza);
		}

		.case .quote-mark {
			color: var(--gris-claro);
			font-size: 2.6rem;
			font-weight: 800;
			line-height: .5;
			margin-bottom: .6rem;
			display: block;
		}

		.case p {
			color: var(--gris-medio);
			font-size: .92rem;
			line-height: 1.7;
		}

		.case p strong {
			color: var(--azul-marino);
		}

		@media (max-width: 900px) {
			.feature-row,
			.case-grid {
				grid-template-columns: 1fr;
			}
		}
 
        /* Indicadores */
		.ind1 {
			background: #f4f4f3;
			padding: 6.5rem 5%;
		}
		.ind1-inner {
			max-width: 1300px;
			margin: 0 auto;
		}
		.ind1 .header-block {
			max-width: 700px;
			margin: 0 auto 3.5rem;
			text-align: center;
		}
		.ind1 .eyebrow {
			display: inline-flex;
			align-items: center;
			gap: .5rem;
			justify-content: center;
			color: var(--verde-profundo);
			font-size: 13px;
			font-weight: 700;
			letter-spacing: 2px;
			text-transform: uppercase;
			margin-bottom: 1.1rem;
		}
		.ind1 .eyebrow::before {
			content: '';
			width: 26px;
			height: 2px;
			background: var(--amarillo-mostaza);
		}
		.ind1 h2 {
			color: var(--azul-marino);
			font-size: 2.5rem;
			font-weight: 800;
			line-height: 1.2;
		}
		.ind-grid {
			display: grid;
			grid-template-columns: repeat(5, 1fr);
			gap: 1.2rem;
		}
		.ind-card {
			position: relative;
			border-radius: 16px;
			overflow: hidden;
			aspect-ratio: 3/3.6;
			padding: 1.6rem;
			display: flex;
			flex-direction: column;
			justify-content: flex-end;
			background-size: cover;
			background-position: center;
		}
		.ind-card .card-overlay {
			position: absolute;
			inset: 0;
			background: linear-gradient(
				to top,
				rgba(0,0,44,.92) 0%,
				rgba(2,83,77,.75) 45%,
				rgba(2,83,77,.35) 75%,
				rgba(2,83,77,.15) 100%
			);
			z-index: 1;
		}
		.ind-card .icon-box {
			position: relative;
			z-index: 2;
			width: 40px;
			height: 40px;
			background: var(--amarillo-mostaza);
			border-radius: 50%;
			display: flex;
			align-items: center;
			justify-content: center;
			margin-bottom: auto;
		}
		.ind-card .icon-box span {
			color: var(--azul-marino);
			font-size: 1.05rem;
			font-weight: 800;
		}
		.ind-card .stat-num {
			position: relative;
			z-index: 2;
			color: white;
			font-size: 2.3rem;
			font-weight: 900;
			line-height: 1;
			margin-bottom: .5rem;
		}
		.ind-card .stat-label {
			position: relative;
			z-index: 2;
			color: var(--amarillo-mostaza);
			font-size: .72rem;
			font-weight: 700;
			letter-spacing: 1px;
			text-transform: uppercase;
			margin-bottom: .6rem;
		}
		.ind-card .stat-desc {
			position: relative;
			z-index: 2;
			color: var(--gris-claro);
			font-size: .78rem;
			line-height: 1.45;
			opacity: .9;
		}
		@media (max-width: 1100px) {
			.ind-grid {
				grid-template-columns: repeat(3, 1fr);
			}
		}
		@media (max-width: 700px) {
			.ind-grid {
				grid-template-columns: 1fr 1fr;
			}
		}
		
		/* Empresas que confían */
		.clients-bar {
			background:  #f4f4f3;
			padding: 50px clamp(16px, 5vw, 60px);
			border-bottom: 1px solid rgba(0,0,0,0.06);
			overflow: hidden;
		}

		.clients-label {
			text-align: center;
			font-size: 1.1rem;
			font-weight: 700;
			color: var(--azul-marino);
			letter-spacing: 2px;
			text-transform: uppercase;
			margin-bottom: 50px;
		}

		.clients-label::before,
		.clients-label::after {
			content: '';
			display: inline-block;
			width: 40px;
			height: 1.5px;
			background: var(--amarillo-mostaza);
			vertical-align: middle;
			margin: 0 18px;
		}

		.logos-wrapper {
			overflow: hidden;
			width: 100%;
			-webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
			mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
		}

		.logos-track {
			display: flex;
			align-items: center;
			gap: 4rem;
			width: fit-content;
			animation: scroll-logos 28s linear infinite;
		}

		.logos-wrapper:hover .logos-track {
			animation-play-state: paused;
		}

		.logo-item {
			flex-shrink: 0;
			display: flex;
			align-items: center;
			justify-content: center;
		}

		.logo-item img {
			height: 42px;
			width: auto;
			object-fit: contain;
			filter: grayscale(1) opacity(0.55);
			transition: filter 0.3s ease;
		}

		.logo-item img:hover {
			filter: grayscale(0) opacity(1);
		}

		@keyframes scroll-logos {
			from {
				transform: translateX(0);
			}
			to {
				transform: translateX(-50%);
			}
		}
 
        /* Condiciones de Respaldo de la Marca */
		.resp2 {
			background: #f4f4f3;
			padding: 6.5rem 5%;
		}

		.resp2-inner {
			max-width: 1250px;
			margin: 0 auto;
			display: grid;
			grid-template-columns: 0.75fr 1.25fr;
			gap: 4rem;
			align-items: start;
		}

		.seal-col {
			position: sticky;
			top: 2rem;
			text-align: center;
		}

		.seal {
			width: 200px;
			height: 200px;
			background: var(--azul-marino);
			border-radius: 50%;
			display: flex;
			align-items: center;
			justify-content: center;
			padding: 2rem;
			margin: 0 auto 2rem;
		}

		.seal img {
			width: 100%;
			height: auto;
			display: block;
		}
		.seal-col .eyebrow {
			display: inline-flex;
			align-items: center;
			gap: .5rem;
			justify-content: center;
			color: var(--verde-profundo);
			font-size: 13px;
			font-weight: 700;
			letter-spacing: 2px;
			text-transform: uppercase;
			margin-bottom: 1rem;
		}

		.seal-col .eyebrow::before {
			content: '';
			width: 20px;
			height: 2px;
			background: var(--amarillo-mostaza);
		}

		.seal-col h2 {
			color: var(--azul-marino);
			font-size: 1.7rem;
			font-weight: 800;
			line-height: 1.3;
			margin-bottom: 1rem;
		}

		.seal-col p {
			color: var(--gris-medio);
			font-size: .9rem;
			line-height: 1.65;
		}

		.list-col .condition {
			display: flex;
			gap: 1.6rem;
			padding: 1.8rem 0;
			border-bottom: 1px solid #eee;
		}

		.list-col .condition:first-child {
			padding-top: 0;
		}

		.cnum {
			flex-shrink: 0;
			color: transparent;
			-webkit-text-stroke: 1.3px var(--amarillo-mostaza);
			font-size: 1.7rem;
			font-weight: 800;
			width: 44px;
		}

		.ctext h4 {
			color: var(--azul-marino);
			font-size: 1.05rem;
			font-weight: 700;
			margin-bottom: .5rem;
		}

		.ctext p {
			color: var(--gris-medio);
			font-size: .9rem;
			line-height: 1.65;
		}

		@media (max-width: 900px) {
			.resp2-inner {
				grid-template-columns: 1fr;
			}
			.seal-col {
				position: static;
			}
		}
		
		/* Nuestra Filosofía */
		.fil2 {
			position: relative;
			background: linear-gradient(120deg, var(--azul-marino) 0%, var(--verde-profundo) 100%);
			padding: 7rem 5%;
			overflow: hidden;
		}

		.fil2-pattern {
			position: absolute;
			inset: 0;
			background-image: url('../img/PATRO.png');
			background-size: 260px;
			background-repeat: repeat;
			opacity: 0.06;
			pointer-events: none;
		}

		.fil2-inner {
			position: relative;
			z-index: 2;
			max-width: 950px;
			margin: 0 auto;
			text-align: center;
		}

		.fil2 .eyebrow {
			display: inline-flex;
			align-items: center;
			gap: .5rem;
			justify-content: center;
			color: var(--amarillo-mostaza);
			font-size: 13px;
			font-weight: 700;
			letter-spacing: 2px;
			text-transform: uppercase;
			margin-bottom: 1.6rem;
		}

		.fil2 .eyebrow::before {
			content: '';
			width: 26px;
			height: 2px;
			background: var(--amarillo-mostaza);
		}

		.statement {
			color: white;
			font-size: 2rem;
			font-weight: 700;
			line-height: 1.45;
			margin-bottom: 1.6rem;
		}

		.statement span {
			color: var(--amarillo-mostaza);
		}

		.statement::before {
			content: '"';
			display: block;
			color: var(--amarillo-mostaza);
			font-size: 3.5rem;
			font-weight: 800;
			line-height: .3;
			margin-bottom: 1.4rem;
		}

		.lead-text {
			color: var(--gris-claro);
			font-size: 1rem;
			line-height: 1.8;
			max-width: 780px;
			margin: 0 auto 4rem;
			opacity: .9;
		}

		.pillars-row {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 1.6rem;
			text-align: left;
		}

		.pillar {
			background: rgba(255,255,255,.04);
			border: 1px solid rgba(255,255,255,.1);
			border-radius: 14px;
			padding: 1.8rem 1.6rem;
		}

		.pillar .picon {
			width: 36px;
			height: 36px;
			border-radius: 0 50% 50% 50%;
			background: var(--amarillo-mostaza);
			margin-bottom: 1.1rem;
		}

		.pillar h4 {
			color: white;
			font-size: .98rem;
			font-weight: 700;
			margin-bottom: .7rem;
		}

		.pillar p {
			color: var(--gris-claro);
			font-size: .85rem;
			line-height: 1.6;
			opacity: .85;
		}

		@media (max-width: 800px) {
			.pillars-row {
				grid-template-columns: 1fr;
			}
		}
 
        /* Cotización */
		.cot1 {
			background: #f4f4f3;
			padding: 6rem 5%;
		}

		.cot1-inner {
			max-width: 1250px;
			margin: 0 auto;
			display: grid;
			grid-template-columns: 0.85fr 1.15fr;
			border-radius: 22px;
			overflow: hidden;
			box-shadow: 0 30px 60px rgba(0,0,44,.12);
		}

		.cot1-info {
			position: relative;
			background: linear-gradient(150deg, var(--verde-profundo) 0%, var(--azul-marino) 100%);
			padding: 3.5rem 3rem;
			color: white;
			overflow: hidden;
		}

		.cot1-info .pattern-layer {
			position: absolute;
			inset: 0;
			background-image: url('../img/PATRO.png');
			background-size: 220px;
			background-repeat: repeat;
			opacity: 0.08;
			pointer-events: none;
		}

		.cot1-info-content {
			position: relative;
			z-index: 2;
		}

		.cot1 .eyebrow {
			display: inline-flex;
			align-items: center;
			gap: .5rem;
			color: var(--amarillo-mostaza);
			font-size: 12px;
			font-weight: 700;
			letter-spacing: 2px;
			text-transform: uppercase;
			margin-bottom: 1.2rem;
		}

		.cot1 .eyebrow::before {
			content: '';
			width: 22px;
			height: 2px;
			background: var(--amarillo-mostaza);
		}

		.cot1-info h2 {
			font-size: 2rem;
			font-weight: 800;
			line-height: 1.25;
			margin-bottom: 1.2rem;
		}

		.cot1-info h2 span {
			color: var(--amarillo-mostaza);
		}

		.cot1-info p.desc {
			color: var(--gris-claro);
			font-size: .92rem;
			line-height: 1.7;
			margin-bottom: 2.4rem;
			opacity: .9;
		}

		.benefit-list {
			display: flex;
			flex-direction: column;
			gap: 1.3rem;
			margin-bottom: 3rem;
		}

		.benefit {
			display: flex;
			gap: .9rem;
			align-items: flex-start;
		}

		.benefit .bmark {
			flex-shrink: 0;
			width: 24px;
			height: 24px;
			border-radius: 50%;
			background: rgba(255,154,0,.18);
			color: var(--amarillo-mostaza);
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: .7rem;
			font-weight: 800;
			margin-top: .1rem;
		}

		.benefit p {
			font-size: .85rem;
			color: var(--gris-claro);
			line-height: 1.5;
			opacity: .9;
		}

		.icon-badge {
			width: 56px;
			margin-bottom: 1.4rem;
			opacity: .9;
		}

		.cot1-form {
			background: white;
			padding: 3.5rem 3rem;
		}

		.cot1-form h3 {
			color: var(--azul-marino);
			font-size: 1.3rem;
			font-weight: 700;
			margin-bottom: .4rem;
		}

		.cot1-form .subtitle {
			color: var(--gris-medio);
			font-size: .88rem;
			margin-bottom: 2rem;
		}

		.cot1-form .form-row {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 1.2rem;
			margin-bottom: 1.2rem;
		}

		.cot1-form .form-group label {
			display: block;
			color: var(--verde-profundo);
			font-size: .82rem;
			font-weight: 700;
			margin-bottom: .5rem;
		}

		.cot1-form .form-group input,
		.cot1-form .form-group select,
		.cot1-form .form-group textarea {
			width: 100%;
			padding: .85rem 1rem;
			border: 1.5px solid #e5e5e5;
			border-radius: 8px;
			font-family: 'Poppins', sans-serif;
			font-size: .9rem;
			color: var(--azul-marino);
			background: #fdfdfc;
			transition: .2s;
		}

		.cot1-form .form-group input:focus,
		.cot1-form .form-group select:focus,
		.cot1-form .form-group textarea:focus {
			outline: none;
			border-color: var(--verde-profundo);
			background: white;
			box-shadow: 0 0 0 3px rgba(2,83,77,.08);
		}

		.cot1-form .form-group textarea {
			resize: vertical;
			min-height: 100px;
		}

		.cot1-form .submit-btn {
			width: 100%;
			background: var(--amarillo-mostaza);
			color: var(--azul-marino);
			border: none;
			padding: 1.05rem;
			border-radius: 8px;
			font-family: 'Poppins', sans-serif;
			font-size: 1rem;
			font-weight: 700;
			cursor: pointer;
			margin-top: .6rem;
			transition: .2s;
		}

		.cot1-form .submit-btn:hover {
			background: var(--azul-marino);
			color: white;
		}

		@media (max-width: 900px) {
			.cot1-inner {
				grid-template-columns: 1fr;
			}
			.cot1-form .form-row {
				grid-template-columns: 1fr;
			}
		}

        /* CTA Final */
		.cta1 {
			position: relative;
			background: linear-gradient(120deg, var(--azul-marino) 0%, var(--verde-profundo) 100%);
			padding: 6rem 5%;
			text-align: center;
			overflow: hidden;
		}

		.cta1-pattern {
			position: absolute;
			inset: 0;
			background-image: url('../img/PATRO.png');
			background-size: 240px;
			background-repeat: repeat;
			opacity: 0.07;
			pointer-events: none;
		}

		.cta1-inner {
			position: relative;
			z-index: 2;
			max-width: 700px;
			margin: 0 auto;
		}

		.cta1 .eyebrow {
			display: inline-flex;
			align-items: center;
			gap: .5rem;
			justify-content: center;
			color: var(--amarillo-mostaza);
			font-size: 13px;
			font-weight: 700;
			letter-spacing: 2px;
			text-transform: uppercase;
			margin-bottom: 1.2rem;
		}

		.cta1 .eyebrow::before {
			content: '';
			width: 26px;
			height: 2px;
			background: var(--amarillo-mostaza);
		}

		.cta1 h2 {
			color: white;
			font-size: 2.6rem;
			font-weight: 800;
			margin-bottom: 1rem;
		}

		.cta1 p {
			color: var(--gris-claro);
			font-size: 1.05rem;
			margin-bottom: 2.2rem;
			opacity: .9;
		}

		.cta1-buttons {
			display: flex;
			gap: 1rem;
			justify-content: center;
			flex-wrap: wrap;
		}

		.btn-primary {
			background: var(--amarillo-mostaza);
			color: var(--azul-marino);
			padding: 1rem 2.3rem;
			border-radius: 6px;
			font-weight: 700;
			font-size: .98rem;
			text-decoration: none;
			display: inline-block;
		}

		.btn-secondary {
			background: transparent;
			color: white;
			border: 1.5px solid rgba(255,255,255,.35);
			padding: 1rem 2.3rem;
			border-radius: 6px;
			font-weight: 600;
			font-size: .98rem;
			text-decoration: none;
			display: inline-block;
		}

		/* Footer */
		.foot1 {
			background: var(--azul-marino);
			padding: 4.5rem 5% 0;
		}

		.foot1-inner {
			max-width: 1300px;
			margin: 0 auto;
		}

		.foot1-top {
			display: grid;
			grid-template-columns: 1.3fr 0.8fr 0.8fr 1fr;
			gap: 2.5rem;
			padding-bottom: 3.5rem;
			border-bottom: 1px solid rgba(255,255,255,.1);
		}

		.foot1-brand img {
			height: 38px;
			margin-bottom: 1.2rem;
		}

		.foot1-brand p {
			color: var(--gris-claro);
			font-size: .88rem;
			line-height: 1.7;
			opacity: .75;
			max-width: 280px;
		}

		.foot1-col h5 {
			color: white;
			font-size: .85rem;
			font-weight: 700;
			text-transform: uppercase;
			letter-spacing: 1px;
			margin-bottom: 1.3rem;
		}

		.foot1-col ul {
			list-style: none;
			display: flex;
			flex-direction: column;
			gap: .8rem;
		}

		.foot1-col ul a {
			color: var(--gris-claro);
			text-decoration: none;
			font-size: .88rem;
			opacity: .8;
			transition: .2s;
		}

		.foot1-col ul a:hover {
			color: var(--amarillo-mostaza);
			opacity: 1;
		}

		.foot1-social {
			display: flex;
			gap: .7rem;
			margin-top: 1.4rem;
		}

		.foot1-social a {
			width: 36px;
			height: 36px;
			border-radius: 50%;
			background: rgba(255,255,255,.06);
			border: 1px solid rgba(255,255,255,.12);
			display: flex;
			align-items: center;
			justify-content: center;
			color: white;
			text-decoration: none;
			font-size: .85rem;
		}

		.foot1-social a:hover {
			background: var(--amarillo-mostaza);
			color: var(--azul-marino);
			border-color: var(--amarillo-mostaza);
		}

		.foot1-bottom {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 1.6rem 0;
			flex-wrap: wrap;
			gap: 1rem;
		}

		.foot1-bottom p {
			color: var(--gris-medio);
			font-size: .8rem;
		}

		.foot1-bottom-links {
			display: flex;
			gap: 1.5rem;
		}

		.foot1-bottom-links a {
			color: var(--gris-medio);
			font-size: .8rem;
			text-decoration: none;
		}

		.foot1-bottom-links a:hover {
			color: var(--amarillo-mostaza);
		}

		@media (max-width: 900px) {
			.foot1-top {
				grid-template-columns: 1fr 1fr;
			}
		}

        /* Responsive */
        @media (max-width: 768px) {
            .hero-content,
            .about-content {
                grid-template-columns: 1fr;
            }

            .hero-text h1 {
                font-size: 2.5rem;
            }

            .nav-links {
                display: none;
            }

            .logo-img {
                height: 40px; 
            }

            /* Responsive para formulario */
            .form-grid {
                grid-template-columns: 1fr;
            }
            
            .form-group.full-width {
                grid-column: span 1;
            }
            
            .form-footer {
                flex-direction: column;
                align-items: stretch;
            }
            
            .quotation-form {
                padding: 2rem;
            }
        }

        /* Menu Hamburguesa */
        .menu-toggle {
            display: none;
            flex-direction: column;
            background: none;
            border: none;
            cursor: pointer;
        }

        .menu-toggle span {
            width: 25px;
            height: 3px;
            background: white;
            margin: 3px 0;
            transition: 0.3s;
        }

        @media (max-width: 768px) {
            .menu-toggle {
                display: flex;
            }
            
            .nav-links {
                position: fixed;
                top: 80px;
                left: 0;
                width: 100%;
                background: var(--verde-profundo);
                flex-direction: column;
                padding: 2rem;
                display: none;
                box-shadow: 0 5px 10px rgba(0,0,0,0.2);
            }
            
            .nav-links.active {
                display: flex;
            }
        }

		@media (prefers-reduced-motion: reduce) {
			* { animation: none !important; transition: none !important; }
		}

		.reveal {
			opacity: 0;
			transform: translateY(32px);
			transition: opacity .7s cubic-bezier(.2,.6,.3,1), transform .7s cubic-bezier(.2,.6,.3,1);
		}
		.reveal.is-visible {
			opacity: 1;
			transform: translateY(0);
		}
		.reveal { transition-delay: var(--d, 0s); }

		header {
			transition: padding .3s ease, box-shadow .3s ease;
		}
		header.scrolled {
			padding-top: 0.9rem;
			padding-bottom: 0.9rem;
			box-shadow: 0 8px 24px rgba(0,0,0,.18);
		}

		.vcard,
		.feature,
		.case,
		.ind-card,
		.pillar,
		.condition,
		.theme,
		.scard {
			transition: transform .3s ease, box-shadow .3s ease;
		}
		.vcard:hover,
		.feature:hover,
		.pillar:hover {
			transform: translateY(-6px);
			box-shadow: 0 16px 32px rgba(0,0,0,.18);
		}
		.case:hover {
			transform: translateY(-4px);
			box-shadow: 0 20px 40px rgba(0,0,44,.1);
		}
		.ind-card { transition: transform .35s ease, box-shadow .35s ease; }
		.ind-card:hover {
			transform: translateY(-8px) scale(1.02);
			box-shadow: 0 20px 45px rgba(0,0,0,.3);
		}

		.sdetail {
			animation: accordion-fade .35s ease;
		}
		@keyframes accordion-fade {
			from { opacity: 0; transform: translateY(-6px); }
			to { opacity: 1; transform: translateY(0); }
		}
		@keyframes float-icon {
			0%, 100% { transform: translateY(0); }
			50% { transform: translateY(-14px); }
		}

		.seal img {
			animation: seal-pulse 5s ease-in-out infinite;
		}
		@keyframes seal-pulse {
			0%, 100% { transform: scale(1); }
			50% { transform: scale(1.035); }
		}

		.cta-button,
		.btn-primary,
		.submit-btn {
			position: relative;
			overflow: hidden;
			z-index: 1;
			transition: color .35s ease, transform .2s ease;
		}
		.cta-button::before,
		.btn-primary::before,
		.submit-btn::before {
			content: '';
			position: absolute;
			top: 0; left: 0;
			width: 0%; height: 100%;
			background: var(--azul-marino);
			transition: width .35s ease;
			z-index: -1;
		}
		.cta-button:hover::before,
		.btn-primary:hover::before,
		.submit-btn:hover::before {
			width: 100%;
		}
		.cta-button:hover,
		.btn-primary:hover,
		.submit-btn:hover {
			color: #fff;
		}
		.cta-button:active,
		.btn-primary:active,
		.submit-btn:active {
			transform: scale(.97);
		}

		.btn-secondary {
			transition: transform .2s ease, background .3s ease;
		}
		.btn-secondary:hover {
			transform: translateY(-2px);
			background: rgba(255,255,255,.08);
		}

		.nav-links a {
			position: relative;
		}
		.nav-links a::after {
			content: '';
			position: absolute;
			left: 0; bottom: -4px;
			width: 0%; height: 2px;
			background: var(--amarillo-mostaza);
			transition: width .25s ease;
		}
		.nav-links a:hover::after {
			width: 100%;
		}

		#scroll-progress {
			position: fixed;
			top: 0; left: 0;
			height: 3px;
			width: 0%;
			background: var(--amarillo-mostaza);
			z-index: 2000;
			transition: width .1s ease-out;
		}

		@media (max-width: 768px) {

			header {
				padding: 1rem 5%;
			}

			/* — Hero — */
			.hero {
				min-height: auto;
				padding: 7rem 5% 3rem;
			}

			.hero-content {
				grid-template-columns: 1fr;
				gap: 2rem;
				text-align: center;
			}

			.hero-text h1 {
				font-size: 2rem;
			}

			.hero-text .subtitle {
				font-size: 1.15rem;
			}

			.hero-text p {
				font-size: .95rem;
			}

			.hero-pattern {
				width: 100%;
				opacity: .12;
			}

			.hero-icon {
				width: 70%;
				max-width: 300px;
				margin: 0 auto;
			}

			.hero-visual {
				justify-content: center;
			}

			.hero-text .eyebrow {
				justify-content: center;
			}

			/* — Quiénes somos — */
			.quienes {
				padding: 2.5rem 5%;
				gap: 2rem;
			}

			.quienes-content h2 {
				font-size: 1.8rem;
			}

			.quienes-photo-card {
				aspect-ratio: 4/3;
			}

			.quienes-photo-overlay h3 {
				font-size: 1.3rem;
			}

			.quienes-photo-overlay p {
				font-size: .82rem;
			}

			/* — Servicios — */
			.serv2f {
				padding: 3.5rem 5%;
			}

			.serv2f h2 {
				font-size: 1.7rem;
			}

			details.srow-d summary {
				grid-template-columns: 36px 1fr 36px;
				gap: .8rem;
				padding: 1.4rem 0;
			}

			.snum {
				font-size: 1.2rem;
			}

			.stitle h3 {
				font-size: 1.05rem;
			}

			.stitle .tagline {
				font-size: .8rem;
			}

			.sarrow {
				width: 36px;
				height: 36px;
				font-size: .9rem;
			}

			.sdetail .pillar-intro,
			.subgroups,
			.flat-list {
				padding-left: 0;
			}

			.subgroups,
			.flat-list {
				grid-template-columns: 1fr;
			}

			/* — Experiencia — */
			.exp1 {
				padding: 3.5rem 5%;
			}

			.exp1 h2 {
				font-size: 1.7rem;
			}

			.feature-row,
			.case-grid {
				grid-template-columns: 1fr;
			}

			.feature {
				padding: 1.6rem;
			}

			.case {
				padding: 1.6rem;
			}

			/* — Clients bar — */
			.clients-bar {
				padding: 2rem 5%;
			}

			.clients-label {
				font-size: .75rem;
				margin-bottom: 1.5rem;
				letter-spacing: 1px;
			}

			.clients-label::before,
			.clients-label::after {
				width: 20px;
				margin: 0 10px;
			}

			.logo-item img {
				height: 28px;
			}

			.logos-track {
				gap: 2.5rem;
			}

			/* — Indicadores — */
			.ind1 {
				padding: 3.5rem 5%;
			}

			.ind1 h2 {
				font-size: 1.7rem;
			}

			.ind-grid {
				grid-template-columns: 1fr 1fr;
				gap: 1rem;
			}

			.ind-card {
				aspect-ratio: auto;
				padding: 1.4rem;
				min-height: 160px;
			}

			.ind-card .stat-num {
				font-size: 1.8rem;
			}

			/* — Valor agregado — */
			.valor {
				padding: 3.5rem 5%;
			}

			.valor h2 {
				font-size: 1.7rem;
			}

			.valor .header-block {
				margin-bottom: 2.5rem;
			}

			.valor-grid {
				grid-template-columns: 1fr;
				gap: 1.2rem;
			}

			.vcard {
				padding: 1.6rem 1.4rem;
			}

			/* — Respaldo de marca — */
			.resp2 {
				padding: 3.5rem 5%;
			}

			.resp2-inner {
				grid-template-columns: 1fr;
				gap: 2rem;
			}

			.seal-col {
				position: static;
			}

			.seal {
				width: 140px;
				height: 140px;
				padding: 1.4rem;
				margin-bottom: 1.2rem;
			}

			.seal-col h2 {
				font-size: 1.4rem;
			}

			/* — Filosofía — */
			.fil2 {
				padding: 3.5rem 5%;
			}

			.statement {
				font-size: 1.35rem;
			}

			.lead-text {
				font-size: .9rem;
				margin-bottom: 2.5rem;
			}

			.pillars-row {
				grid-template-columns: 1fr;
				gap: 1rem;
			}

			/* — Cotización — */
			.cot1 {
				padding: 3rem 5%;
			}

			.cot1-inner {
				grid-template-columns: 1fr;
				border-radius: 16px;
			}

			.cot1-info {
				padding: 2.2rem 1.6rem;
			}

			.cot1-info h2 {
				font-size: 1.5rem;
			}

			.cot1-form {
				padding: 2.2rem 1.6rem;
			}

			.cot1-form .form-row {
				grid-template-columns: 1fr;
			}

			/* — CTA Final — */
			.cta1 {
				padding: 3.5rem 5%;
			}

			.cta1 h2 {
				font-size: 1.7rem;
			}

			.cta1 p {
				font-size: .92rem;
			}

			.cta1-buttons {
				flex-direction: column;
				align-items: center;
			}

			.btn-primary,
			.btn-secondary {
				width: 100%;
				max-width: 320px;
				text-align: center;
			}

			/* — Footer — */
			.foot1 {
				padding: 3rem 5% 0;
			}

			.foot1-top {
				grid-template-columns: 1fr;
				gap: 2rem;
				padding-bottom: 2rem;
			}

			.foot1-bottom {
				flex-direction: column;
				text-align: center;
				gap: .8rem;
				padding: 1.2rem 0;
			}

			.foot1-bottom-links {
				justify-content: center;
			}
		}

		/* —— Teléfonos chicos (≤ 480px) —— */
		@media (max-width: 480px) {

			.hero-text h1 {
				font-size: 1.6rem;
			}

			.hero-text .subtitle {
				font-size: 1rem;
			}

			.cta-button {
				width: 100%;
				text-align: center;
				padding: .9rem 1.5rem;
				font-size: 1rem;
			}

			.quienes-content h2 {
				font-size: 1.5rem;
			}

			.serv2f h2,
			.exp1 h2,
			.ind1 h2,
			.valor h2,
			.cta1 h2 {
				font-size: 1.4rem;
			}

			.ind-grid {
				grid-template-columns: 1fr;
			}

			.ind-card {
				min-height: 140px;
			}

			.statement {
				font-size: 1.15rem;
			}

			.nav-links {
				top: 65px;
			}
		}