:root{--mango-color-primary:#124a45;--mango-color-secondary:#272525;--mango-color-text:#2b2826;--mango-color-accent:#f3f0eb;--mango-color-beige:#ece7df;--mango-color-sand:#e4ded4;--mango-font-primary:"Cormorant Garamond", sans-serif;--mango-font-weight-primary:400;--mango-font-secondary:"Lexend Giga", sans-serif;--mango-font-weight-secondary:500;--mango-font-text:"Inter", sans-serif;--mango-font-weight-text:400;--mango-content-width:1320px;--mango-button-radius:6px;}.mango{font-family: "Inter", Sans-serif;font-size: 16px;color: #2b2826;}
.mango .mango-section-inner, .mango .mango-container--boxed > .mango-container-inner{max-width: 1320px;}

/* Eclectus · estilos del diseño (CSS personalizado del kit de Mango). */
:root {
	--ec-green: #124a45;
	--ec-dark: #272525;
	--ec-cream: #f3f0eb;
	--ec-beige: #ece7df;
	--ec-paper: #faf8f4;
	--ec-sand: #e4ded4;
	--ec-ink: #2b2826;
	--ec-muted: #6b645d;
	--ec-serif: "Cormorant Garamond", Georgia, serif;
	--ec-sans: "Inter", system-ui, sans-serif;
	--ec-display: "Lexend Giga", "Inter", sans-serif;
}

html { scroll-behavior: smooth; }
body { background: var(--ec-cream); color: var(--ec-ink); font-family: var(--ec-sans); -webkit-font-smoothing: antialiased; }
.mango h1, .mango h2, .mango h3, .mango p { letter-spacing: normal; }
.mango em { font-style: italic; }

/* Botones */
.ec-btn .mango-button {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 14px 24px !important; border: 1px solid currentColor; border-radius: 0 !important;
	background: transparent !important; box-shadow: none !important;
	font: 500 12.5px/1 var(--ec-sans) !important; letter-spacing: .2em !important; text-transform: uppercase;
	transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
.ec-btn-ghost .mango-button { color: var(--ec-cream) !important; border-color: rgba(243, 240, 235, .7); }
.ec-btn-ghost .mango-button:hover { background: var(--ec-cream) !important; color: var(--ec-ink) !important; }
.ec-btn-solid .mango-button { background: var(--ec-cream) !important; color: var(--ec-ink) !important; border-color: var(--ec-cream); }
.ec-btn-solid .mango-button:hover { background: #fff !important; }
.ec-btn-line .mango-button { color: var(--ec-ink) !important; border-color: var(--ec-ink); }
.ec-btn-line .mango-button:hover { background: var(--ec-ink) !important; color: var(--ec-cream) !important; }
.ec-btn-link .mango-button { padding: 0 0 3px !important; border: 0; border-bottom: 1px solid currentColor; color: var(--ec-ink) !important; }

/* Marcos de foto */
.ec-frame .mango-image { margin: 0; padding: 10px; border: 1px solid #e5dfd6; background: var(--ec-paper); }
.ec-frame .mango-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ec-frame-dark .mango-image { border-color: rgba(243, 240, 235, .35); background: transparent; }
.ec-frame-dark .mango-image img { aspect-ratio: 260 / 320; height: auto !important; }
.ec-frame-card .mango-image img { aspect-ratio: 391 / 400; }
.ec-frame-project .mango-image { padding: 8px; }
.ec-frame-project .mango-image img { aspect-ratio: 227 / 282; }

/* Hero */
.ec-hero { position: relative; min-height: 880px; overflow: hidden; color: var(--ec-cream); }
.ec-hero::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(20, 13, 8, .62) 0%, rgba(20, 13, 8, .40) 28%, rgba(20, 13, 8, .52) 58%, rgba(20, 13, 8, .66) 100%); }
.ec-hero > .mango-container-inner { position: relative; z-index: 1; min-height: 880px; }
.ec-nav { height: 78px; padding: 0 60px !important; border-bottom: 1px solid rgba(243, 240, 235, .22); }
.ec-menu { display: flex; gap: 30px; }
.ec-menu a { color: var(--ec-cream); font: 500 13px/1 var(--ec-sans); letter-spacing: .2em; text-decoration: none; text-transform: uppercase; }
.ec-menu a:hover { opacity: .7; }
.ec-nav-cta .mango-button { padding: 13px 20px !important; }
.ec-hero-body { flex: 1; padding: 0 20px 88px !important; }
.ec-hero-kicker .mango-heading-title { margin: 0 0 6px; color: var(--ec-cream); font: italic 400 34px/1.2 var(--ec-serif) !important; text-align: center; }
.ec-hero-title .mango-heading-title { margin: 0; color: var(--ec-cream); font-family: var(--ec-display) !important; font-weight: 500 !important; font-size: 14.6vw !important; line-height: .82 !important; letter-spacing: -.045em !important; text-transform: uppercase; text-align: center; white-space: nowrap; }

/* Bandas con la marca (E con olas) */
.ec-band { position: relative; }
.ec-band::before, .ec-band-both::after { content: ""; position: absolute; left: 0; right: 0; height: 56px; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20186%20247%22%3E%3Cg%20fill%3D%22%232b6560%22%20fill-opacity%3D%221%22%3E%3Cg%20transform%3D%22translate%281.182961%2C%20184.419597%29%22%3E%3Cg%3E%3Cpath%20d%3D%22M%2018.875%20-70.375%20L%2018.875%20-152.5%20C%2031.789062%20-160.675781%2043.070312%20-166.316406%2052.71875%20-169.421875%20C%2062.363281%20-172.523438%2070.941406%20-174.078125%2078.453125%20-174.078125%20C%2084.992188%20-174.078125%2090.960938%20-173.257812%2096.359375%20-171.625%20C%20101.753906%20-169.988281%20106.898438%20-168.148438%20111.796875%20-166.109375%20C%20116.703125%20-164.066406%20121.648438%20-162.226562%20126.640625%20-160.59375%20C%20131.628906%20-158.957031%20136.984375%20-158.140625%20142.703125%20-158.140625%20C%20146.617188%20-158.140625%20150.742188%20-158.628906%20155.078125%20-159.609375%20C%20159.410156%20-160.597656%20164.109375%20-162.234375%20169.171875%20-164.515625%20L%20171.390625%20-160.109375%20C%20158.304688%20-152.753906%20147.066406%20-147.6875%20137.671875%20-144.90625%20C%20128.273438%20-142.125%20119.976562%20-140.734375%20112.78125%20-140.734375%20C%20105.914062%20-140.734375%2099.867188%20-141.628906%2094.640625%20-143.421875%20C%2089.410156%20-145.222656%2084.503906%20-147.226562%2079.921875%20-149.4375%20C%2075.347656%20-151.644531%2070.566406%20-153.566406%2065.578125%20-155.203125%20C%2060.597656%20-156.835938%2055.003906%20-157.410156%2048.796875%20-156.921875%20L%2048.796875%20-90.96875%20C%2054.515625%20-93.25%2059.820312%20-94.796875%2064.71875%20-95.609375%20C%2069.625%20-96.429688%2074.203125%20-96.84375%2078.453125%20-96.84375%20C%2084.992188%20-96.84375%2090.960938%20-96.023438%2096.359375%20-94.390625%20C%20101.753906%20-92.765625%20106.898438%20-90.925781%20111.796875%20-88.875%20C%20116.703125%20-86.832031%20121.648438%20-84.992188%20126.640625%20-83.359375%20C%20131.628906%20-81.722656%20136.984375%20-80.90625%20142.703125%20-80.90625%20C%20146.617188%20-80.90625%20150.742188%20-81.394531%20155.078125%20-82.375%20C%20159.410156%20-83.363281%20164.109375%20-85.082031%20169.171875%20-87.53125%20L%20171.390625%20-83.125%20C%20158.148438%20-75.601562%20146.75%20-70.453125%20137.1875%20-67.671875%20C%20127.625%20-64.890625%20119.242188%20-63.5%20112.046875%20-63.5%20C%20105.515625%20-63.5%2099.710938%20-64.273438%2094.640625%20-65.828125%20C%2089.578125%20-67.378906%2084.753906%20-69.21875%2080.171875%20-71.34375%20C%2075.597656%20-73.46875%2070.976562%20-75.304688%2066.3125%20-76.859375%20C%2061.65625%20-78.421875%2056.46875%20-79.203125%2050.75%20-79.203125%20C%2046.34375%20-79.203125%2041.5625%20-78.546875%2036.40625%20-77.234375%20C%2031.257812%20-75.921875%2025.414062%20-73.632812%2018.875%20-70.375%20Z%20M%2017.40625%20-7.59375%20L%2015.203125%20-12.015625%20C%2028.273438%20-20.191406%2039.675781%20-25.832031%2049.40625%20-28.9375%20C%2059.132812%20-32.039062%2067.835938%20-33.59375%2075.515625%20-33.59375%20C%2082.378906%20-33.59375%2088.628906%20-32.773438%2094.265625%20-31.140625%20C%2099.910156%20-29.503906%20105.304688%20-27.664062%20110.453125%20-25.625%20C%20115.609375%20-23.582031%20120.757812%20-21.742188%20125.90625%20-20.109375%20C%20131.050781%20-18.472656%20136.566406%20-17.65625%20142.453125%20-17.65625%20C%20146.378906%20-17.65625%20150.546875%20-18.144531%20154.953125%20-19.125%20C%20159.367188%20-20.101562%20164.109375%20-21.738281%20169.171875%20-24.03125%20L%20171.390625%20-19.609375%20C%20158.304688%20-12.253906%20146.941406%20-7.1875%20137.296875%20-4.40625%20C%20127.660156%20-1.632812%20119.242188%20-0.25%20112.046875%20-0.25%20C%20105.347656%20-0.25%2099.382812%20-1.066406%2094.15625%20-2.703125%20C%2088.925781%20-4.335938%2083.976562%20-6.21875%2079.3125%20-8.34375%20C%2074.65625%20-10.46875%2069.914062%20-12.34375%2065.09375%20-13.96875%20C%2060.269531%20-15.601562%2055%20-16.421875%2049.28125%20-16.421875%20C%2044.863281%20-16.421875%2040.082031%20-15.765625%2034.9375%20-14.453125%20C%2029.789062%20-13.148438%2023.945312%20-10.863281%2017.40625%20-7.59375%20Z%20M%2017.40625%20-7.59375%20%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E") repeat-x 0 center / 64px 34px; opacity: .55; pointer-events: none; }
.ec-band::before { top: 0; }
.ec-band-both::after { bottom: 0; }
.ec-cta.ec-band::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20186%20247%22%3E%3Cg%20fill%3D%22%233b3939%22%20fill-opacity%3D%221%22%3E%3Cg%20transform%3D%22translate%281.182961%2C%20184.419597%29%22%3E%3Cg%3E%3Cpath%20d%3D%22M%2018.875%20-70.375%20L%2018.875%20-152.5%20C%2031.789062%20-160.675781%2043.070312%20-166.316406%2052.71875%20-169.421875%20C%2062.363281%20-172.523438%2070.941406%20-174.078125%2078.453125%20-174.078125%20C%2084.992188%20-174.078125%2090.960938%20-173.257812%2096.359375%20-171.625%20C%20101.753906%20-169.988281%20106.898438%20-168.148438%20111.796875%20-166.109375%20C%20116.703125%20-164.066406%20121.648438%20-162.226562%20126.640625%20-160.59375%20C%20131.628906%20-158.957031%20136.984375%20-158.140625%20142.703125%20-158.140625%20C%20146.617188%20-158.140625%20150.742188%20-158.628906%20155.078125%20-159.609375%20C%20159.410156%20-160.597656%20164.109375%20-162.234375%20169.171875%20-164.515625%20L%20171.390625%20-160.109375%20C%20158.304688%20-152.753906%20147.066406%20-147.6875%20137.671875%20-144.90625%20C%20128.273438%20-142.125%20119.976562%20-140.734375%20112.78125%20-140.734375%20C%20105.914062%20-140.734375%2099.867188%20-141.628906%2094.640625%20-143.421875%20C%2089.410156%20-145.222656%2084.503906%20-147.226562%2079.921875%20-149.4375%20C%2075.347656%20-151.644531%2070.566406%20-153.566406%2065.578125%20-155.203125%20C%2060.597656%20-156.835938%2055.003906%20-157.410156%2048.796875%20-156.921875%20L%2048.796875%20-90.96875%20C%2054.515625%20-93.25%2059.820312%20-94.796875%2064.71875%20-95.609375%20C%2069.625%20-96.429688%2074.203125%20-96.84375%2078.453125%20-96.84375%20C%2084.992188%20-96.84375%2090.960938%20-96.023438%2096.359375%20-94.390625%20C%20101.753906%20-92.765625%20106.898438%20-90.925781%20111.796875%20-88.875%20C%20116.703125%20-86.832031%20121.648438%20-84.992188%20126.640625%20-83.359375%20C%20131.628906%20-81.722656%20136.984375%20-80.90625%20142.703125%20-80.90625%20C%20146.617188%20-80.90625%20150.742188%20-81.394531%20155.078125%20-82.375%20C%20159.410156%20-83.363281%20164.109375%20-85.082031%20169.171875%20-87.53125%20L%20171.390625%20-83.125%20C%20158.148438%20-75.601562%20146.75%20-70.453125%20137.1875%20-67.671875%20C%20127.625%20-64.890625%20119.242188%20-63.5%20112.046875%20-63.5%20C%20105.515625%20-63.5%2099.710938%20-64.273438%2094.640625%20-65.828125%20C%2089.578125%20-67.378906%2084.753906%20-69.21875%2080.171875%20-71.34375%20C%2075.597656%20-73.46875%2070.976562%20-75.304688%2066.3125%20-76.859375%20C%2061.65625%20-78.421875%2056.46875%20-79.203125%2050.75%20-79.203125%20C%2046.34375%20-79.203125%2041.5625%20-78.546875%2036.40625%20-77.234375%20C%2031.257812%20-75.921875%2025.414062%20-73.632812%2018.875%20-70.375%20Z%20M%2017.40625%20-7.59375%20L%2015.203125%20-12.015625%20C%2028.273438%20-20.191406%2039.675781%20-25.832031%2049.40625%20-28.9375%20C%2059.132812%20-32.039062%2067.835938%20-33.59375%2075.515625%20-33.59375%20C%2082.378906%20-33.59375%2088.628906%20-32.773438%2094.265625%20-31.140625%20C%2099.910156%20-29.503906%20105.304688%20-27.664062%20110.453125%20-25.625%20C%20115.609375%20-23.582031%20120.757812%20-21.742188%20125.90625%20-20.109375%20C%20131.050781%20-18.472656%20136.566406%20-17.65625%20142.453125%20-17.65625%20C%20146.378906%20-17.65625%20150.546875%20-18.144531%20154.953125%20-19.125%20C%20159.367188%20-20.101562%20164.109375%20-21.738281%20169.171875%20-24.03125%20L%20171.390625%20-19.609375%20C%20158.304688%20-12.253906%20146.941406%20-7.1875%20137.296875%20-4.40625%20C%20127.660156%20-1.632812%20119.242188%20-0.25%20112.046875%20-0.25%20C%20105.347656%20-0.25%2099.382812%20-1.066406%2094.15625%20-2.703125%20C%2088.925781%20-4.335938%2083.976562%20-6.21875%2079.3125%20-8.34375%20C%2074.65625%20-10.46875%2069.914062%20-12.34375%2065.09375%20-13.96875%20C%2060.269531%20-15.601562%2055%20-16.421875%2049.28125%20-16.421875%20C%2044.863281%20-16.421875%2040.082031%20-15.765625%2034.9375%20-14.453125%20C%2029.789062%20-13.148438%2023.945312%20-10.863281%2017.40625%20-7.59375%20Z%20M%2017.40625%20-7.59375%20%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); opacity: .8; }

/* Quiénes somos */
.ec-about { background: var(--ec-green); color: var(--ec-cream); padding: 112px 0 136px; }
.ec-about-grid > .mango-container-inner { grid-template-columns: 282px minmax(0, 1fr) 282px !important; }
.ec-about-center { max-width: 540px; margin: 0 auto; text-align: center; }
.ec-kicker .mango-heading-title { margin: 0 0 22px; color: var(--ec-cream); font: 500 20px/1 var(--ec-serif) !important; letter-spacing: .32em !important; text-transform: uppercase; }
.ec-about-lead .mango-heading-title { margin: 0 0 26px; color: var(--ec-cream); font: 400 31px/1.38 var(--ec-serif) !important; }
.ec-about-small { color: rgba(243, 240, 235, .86); font: 400 15px/1.85 var(--ec-sans); }
.ec-about-small { margin-bottom: 26px; }
.ec-about-small p { margin: 0; }

/* Tarjetas */
.ec-cards { background: var(--ec-cream); padding: 96px 0 92px; }
.ec-label .mango-heading-title { margin: 22px 0 0; color: var(--ec-ink); font: 500 13px/1 var(--ec-sans) !important; letter-spacing: .26em !important; text-transform: uppercase; text-align: center; }

/* Formas de trabajar */
.ec-ways { background: var(--ec-dark); color: var(--ec-cream); padding: 96px 0; }
.ec-ways-grid > .mango-container-inner { grid-template-columns: minmax(0, 549px) minmax(0, 1fr) !important; align-items: start; }
.ec-ways-title .mango-heading-title { margin: 0 0 26px; color: var(--ec-cream); font: 400 62px/1.02 var(--ec-serif) !important; }
.ec-acc .mango-accordion-item { margin: 0 !important; border: 0 !important; border-top: 1px solid #464443 !important; border-radius: 0 !important; background: transparent !important; }
.ec-acc .mango-accordion-item:last-child { border-bottom: 1px solid #464443 !important; }
.ec-acc .mango-accordion-header { padding: 21px 0 !important; min-height: 0 !important; background: transparent !important; color: var(--ec-cream) !important; }
.ec-acc .mango-accordion-title { margin: 0; color: var(--ec-cream) !important; font: 500 14px/1.2 var(--ec-sans) !important; letter-spacing: .2em !important; text-transform: uppercase; }
.ec-acc .mango-accordion-icon svg { width: 14px; height: 14px; color: var(--ec-cream); }
.ec-acc .mango-accordion-content, .ec-acc .mango-accordion-body { padding: 0 0 20px !important; color: #cfc8bf !important; font: 400 15px/1.75 var(--ec-sans) !important; }
.ec-ways-text { max-width: 430px; margin-top: 36px; color: #d9d3cb; font: 400 15.5px/1.82 var(--ec-sans); }
.ec-mosaic > .mango-container-inner { grid-template-rows: 260px 260px; }
.ec-tile, .ec-tile .mango-widget-container, .ec-tile .mango-image { height: 100%; margin: 0; }
.ec-tile img { display: block; width: 100%; height: 100% !important; object-fit: cover; }
.ec-tile-tall { grid-row: span 2; }

/* Jennifer */
.ec-jen { background: var(--ec-cream); padding: 96px 0 110px; }
.ec-jen-grid > .mango-container-inner { grid-template-columns: minmax(0, 598px) minmax(0, 1fr) !important; }
.ec-jen-photo .mango-image { margin: 0; }
.ec-jen-photo img { display: block; width: 100%; height: 560px !important; object-fit: cover; object-position: center 25%; }
.ec-jen-title .mango-heading-title { margin: 0 0 30px; color: var(--ec-green); font: 400 46px/1.16 var(--ec-serif) !important; }
.ec-jen-text { color: var(--ec-ink); font: 400 15.5px/1.82 var(--ec-sans); }
.ec-jen-text { margin-bottom: 26px; }
.ec-jen-text p { margin: 0; }

/* Proyectos */
.ec-projects { background: var(--ec-beige); padding: 96px 0 100px; border-top: 1px solid #ddd6cc; }
.ec-projects-head { margin-bottom: 40px; }
.ec-projects-title .mango-heading-title { margin: 0; color: var(--ec-green); font: 400 60px/1 var(--ec-serif) !important; }
.ec-project { text-align: center; }
.ec-project-name .mango-heading-title { margin: 26px 0 6px; color: var(--ec-ink); font: 400 27px/1.1 var(--ec-serif) !important; }
.ec-project-meta .mango-heading-title { margin: 0; color: var(--ec-muted); font: 500 12px/1.3 var(--ec-sans) !important; letter-spacing: .22em !important; text-transform: uppercase; }

/* Llamada final y pie */
.ec-cta { background: var(--ec-dark); color: var(--ec-cream); padding: 160px 0 96px; }
.ec-cta-inner { text-align: center; }
.ec-cta-title .mango-heading-title { margin: 0 0 22px; color: var(--ec-cream); font: 400 66px/1.05 var(--ec-serif) !important; }
.ec-cta-text { max-width: 520px; margin: 0 auto 30px; color: #ddd7cf; font: 400 16px/1.7 var(--ec-sans); }
.ec-cta-text p { margin: 0; }
.ec-footer { background: var(--ec-dark); padding: 40px 0 44px; border-top: 1px solid #3d3a39; }
.ec-foot-logo { display: inline-block; color: var(--ec-cream); }
.ec-wordmark { display: block; width: 112px; height: auto; fill: currentColor; color: var(--ec-cream); }
.ec-foot-links { display: flex; flex-wrap: wrap; gap: 24px; }
.ec-foot-links a { color: var(--ec-cream); font: 500 13px/1 var(--ec-sans); letter-spacing: .1em; text-decoration: underline; text-underline-offset: 4px; }

/* Tablet y teléfono */
@media (max-width: 1024px) {
	.ec-about-grid > .mango-container-inner { grid-template-columns: 1fr 1fr !important; }
	.ec-about-center { grid-column: 1 / -1; grid-row: 1; }
	.ec-ways-grid > .mango-container-inner, .ec-jen-grid > .mango-container-inner { grid-template-columns: 1fr !important; }
	.ec-ways-title .mango-heading-title, .ec-projects-title .mango-heading-title { font-size: 48px !important; }
}

@media (max-width: 767px) {
	.ec-hero, .ec-hero > .mango-container-inner { min-height: 640px; }
	.ec-nav { height: 64px; padding: 0 20px !important; }
	.ec-menu { display: none; }
	.ec-nav-cta { margin-left: auto; }
	.ec-nav-cta .mango-button { padding: 11px 14px !important; font-size: 11px !important; }
	.ec-hero-body { padding-bottom: 56px !important; }
	.ec-hero-kicker .mango-heading-title { font-size: 22px !important; }
	.ec-hero-title .mango-heading-title { font-size: 14.2vw !important; }
	.ec-about { padding: 88px 0 104px; }
	.ec-about-grid { gap: 20px !important; }
	.ec-about-lead .mango-heading-title { font-size: 25px !important; }
	.ec-cards, .ec-ways, .ec-jen, .ec-projects { padding: 64px 0; }
	.ec-ways-title .mango-heading-title, .ec-projects-title .mango-heading-title { font-size: 42px !important; }
	.ec-mosaic > .mango-container-inner { grid-template-rows: 180px 180px 180px; }
	.ec-tile-tall { grid-row: span 2; }
	.ec-jen-photo img { height: 420px !important; }
	.ec-jen-title .mango-heading-title { font-size: 34px !important; }
	.ec-project-name .mango-heading-title { margin-top: 16px; font-size: 21px !important; }
	.ec-project-meta .mango-heading-title { font-size: 10.5px !important; letter-spacing: .16em !important; }
	.ec-cta { padding: 120px 0 72px; }
	.ec-cta-title .mango-heading-title { font-size: 44px !important; }
	.ec-cta-buttons .mango-button { justify-content: center; width: 100%; }
}

/* Servicios en el acordeón de la portada */
.ec-acc .mango-accordion-content p, .ec-acc .mango-accordion-body p { margin: 0 0 12px; }
.ec-acc-price { color: var(--ec-cream); font: 400 15px/1.4 var(--ec-sans); }
.ec-acc-price strong { font: 500 24px/1 var(--ec-serif); letter-spacing: .02em; }
.ec-cop, .ec-per { color: #a9a199; font-size: 13px; letter-spacing: .04em; }
.ec-acc-links { display: flex; flex-wrap: wrap; gap: 22px; }
.ec-acc-links a { color: var(--ec-cream) !important; font: 500 12px/1 var(--ec-sans); letter-spacing: .18em; text-transform: uppercase; text-decoration: underline; text-underline-offset: 5px; }
.ec-acc-links a + a { color: #a9a199 !important; }
.ec-ways-guide { margin-top: 40px; }
.ec-guide-title { margin: 0 0 14px; color: var(--ec-cream); font: italic 400 28px/1.1 var(--ec-serif); }
.ec-guide { margin: 0; padding: 0; list-style: none; }
.ec-guide li { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px dashed #464443; color: #cfc8bf; font: 400 14.5px/1.4 var(--ec-sans); }
.ec-guide a { color: var(--ec-cream); text-align: right; text-decoration: none; white-space: nowrap; }
.ec-guide a::after { content: " →"; }
.ec-guide a:hover { text-decoration: underline; }
.ec-ways-more { margin-top: 30px; }
@media (min-width: 1025px) { .ec-mosaic { position: sticky; top: 40px; } }

/* Página Servicios */
.ec-head, .ec-head > .mango-container-inner { min-height: 620px; }
.ec-head-body { flex: 1; padding: 0 20px 80px !important; text-align: center; }
.ec-head-title .mango-heading-title { margin: 0 0 20px; color: var(--ec-cream); font: 400 76px/1 var(--ec-serif) !important; }
.ec-head-text { max-width: 560px; margin: 0 auto; color: rgba(243, 240, 235, .9); font: 400 16px/1.7 var(--ec-sans); }
.ec-head-text p { margin: 0; }
.ec-svc { background: var(--ec-cream); padding: 96px 0; }
.ec-svc-card { padding: 44px 44px 40px !important; border: 1px solid #e0d9cf; background: var(--ec-paper); scroll-margin-top: 24px; }
.ec-svc-card > .mango-container-inner { height: 100%; }
.ec-svc-num .mango-heading-title { margin: 0 0 18px; color: var(--ec-muted); font: 500 12px/1 var(--ec-sans) !important; letter-spacing: .3em !important; }
.ec-svc-name .mango-heading-title { margin: 0 0 8px; color: var(--ec-green); font: 400 44px/1.05 var(--ec-serif) !important; }
.ec-svc-sub .mango-heading-title { margin: 0 0 22px; color: var(--ec-muted); font: italic 400 21px/1.3 var(--ec-serif) !important; }
.ec-svc-desc { color: var(--ec-ink); font: 400 15.5px/1.75 var(--ec-sans); }
.ec-svc-desc p { margin: 0 0 22px; }
.ec-svc-items ul { margin: 0 0 28px; padding: 0; list-style: none; }
.ec-svc-items li { position: relative; padding: 10px 0 10px 22px; border-top: 1px solid #e6e0d7; color: var(--ec-ink); font: 400 14.5px/1.45 var(--ec-sans); }
.ec-svc-items li::before { content: ""; position: absolute; left: 2px; top: 17px; width: 7px; height: 7px; border-radius: 50%; background: var(--ec-green); }
.ec-svc-pricebox { margin-top: auto; }
.ec-svc-price { margin: 0 0 22px; padding-top: 22px; color: var(--ec-ink); font: 400 15px/1.4 var(--ec-sans); }
.ec-svc-price strong { font: 500 34px/1 var(--ec-serif); }
.ec-svc-price .ec-cop, .ec-svc-price .ec-per { color: var(--ec-muted); }
.ec-svc-label { display: block; margin-bottom: 8px; color: var(--ec-muted); font: 500 11px/1 var(--ec-sans); letter-spacing: .26em; text-transform: uppercase; }
.ec-svc-card-dark { border-color: var(--ec-green); background: var(--ec-green); }
.ec-svc-card-dark .mango-heading-title, .ec-svc-card-dark .ec-svc-desc, .ec-svc-card-dark li, .ec-svc-card-dark .ec-svc-price { color: var(--ec-cream) !important; }
.ec-svc-card-dark .ec-svc-num .mango-heading-title, .ec-svc-card-dark .ec-svc-sub .mango-heading-title, .ec-svc-card-dark .ec-svc-label { color: rgba(243, 240, 235, .7) !important; }
.ec-svc-card-dark li { border-color: rgba(243, 240, 235, .2); }
.ec-svc-card-dark li::before { background: var(--ec-cream); }
.ec-svc-card-dark .ec-btn-line .mango-button { color: var(--ec-cream) !important; border-color: var(--ec-cream); }
.ec-svc-card-dark .ec-btn-line .mango-button:hover { background: var(--ec-cream) !important; color: var(--ec-green) !important; }
.ec-svc-guide { background: var(--ec-green); color: var(--ec-cream); padding: 112px 0 120px; text-align: center; }
.ec-guide-h .mango-heading-title { margin: 0 0 48px; color: var(--ec-cream); font: 400 54px/1.05 var(--ec-serif) !important; }
.ec-guide-step { padding: 30px 20px !important; border: 1px solid rgba(243, 240, 235, .3); align-items: center; }
.ec-guide-q .mango-heading-title { margin: 0 0 18px; color: var(--ec-cream); font: italic 400 25px/1.25 var(--ec-serif) !important; }
.ec-guide-step > .mango-container-inner { height: 100%; justify-content: space-between; align-items: center; }
.ec-guide-a .mango-button { color: var(--ec-cream) !important; font-size: 11.5px !important; letter-spacing: .14em !important; white-space: nowrap; }

@media (max-width: 1024px) {
	.ec-svc-grid > .mango-container-inner { grid-template-columns: 1fr !important; }
}

@media (max-width: 767px) {
	.ec-head, .ec-head > .mango-container-inner { min-height: 520px; }
	.ec-head-title .mango-heading-title { font-size: 46px !important; }
	.ec-svc { padding: 56px 0; }
	.ec-svc-card { padding: 30px 22px !important; }
	.ec-svc-name .mango-heading-title { font-size: 34px !important; }
	.ec-svc-guide { padding: 88px 0 96px; }
	.ec-guide-h .mango-heading-title { font-size: 38px !important; }
	.ec-guide li { flex-direction: column; gap: 4px; }
	.ec-guide a { text-align: left; }
}

/* ===== v3: menú, logo, secciones nuevas ===== */
.ec-nav-left .mango-html { display: flex; align-items: center; gap: 44px; }
.ec-logo { display: inline-flex; color: var(--ec-cream); }
.ec-logo .ec-wordmark { width: 118px; }
.ec-burger { display: none; position: relative; }
.ec-burger summary { display: flex; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; cursor: pointer; list-style: none; }
.ec-burger summary::-webkit-details-marker { display: none; }
.ec-burger summary span { display: block; width: 24px; height: 1.5px; margin: 0 auto; background: var(--ec-cream); transition: transform .2s ease, opacity .2s ease; }
.ec-burger[open] summary span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.ec-burger[open] summary span:nth-child(2) { opacity: 0; }
.ec-burger[open] summary span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
.ec-burger-panel { position: fixed; top: 64px; left: 0; right: 0; z-index: 50; display: flex; flex-direction: column; padding: 8px 20px 24px; background: var(--ec-dark); box-shadow: 0 20px 40px rgba(0,0,0,.25); }
.ec-burger-panel a { padding: 16px 0; border-bottom: 1px solid #3d3a39; color: var(--ec-cream); font: 500 13px/1 var(--ec-sans); letter-spacing: .2em; text-decoration: none; text-transform: uppercase; }
.ec-hero > .mango-container-inner > .ec-nav { position: relative; z-index: 5; }

.ec-hero-lead { max-width: 560px; margin: 0 auto 26px; text-align: center; color: rgba(243,240,235,.92); font: 400 17px/1.6 var(--ec-sans); }
.ec-hero-lead p { margin: 0; }
.ec-hero-buttons { margin-bottom: 44px; }

/* Encabezado de páginas internas */
.ec-head-buttons { margin-top: 30px; }
.ec-head-proj, .ec-head-proj > .mango-container-inner { min-height: 560px; }

/* Títulos de sección genéricos */
.ec-kicker-dark .mango-heading-title { color: var(--ec-muted) !important; font-size: 15px !important; text-align: center; }
.ec-sec-title .mango-heading-title { margin: 0 0 44px; color: var(--ec-green); font: 400 54px/1.06 var(--ec-serif) !important; text-align: center; }
.ec-left .mango-heading-title { text-align: left; }
.ec-faq-grid .ec-kicker-dark .mango-heading-title, .ec-svc-intro .ec-kicker-dark .mango-heading-title,
.ec-form-grid .ec-kicker-dark .mango-heading-title, .ec-proj-grid .ec-kicker-dark .mango-heading-title { text-align: left; }
.ec-left .mango-heading-title { margin-bottom: 26px; }

/* Tarjetas clicables */
a.mango-container, .ec-card, .ec-project, .ec-mini { color: inherit; text-decoration: none; }
.ec-card img, .ec-project img { transition: transform .5s ease; }
.ec-card .mango-image, .ec-project .mango-image { overflow: hidden; }
.ec-card:hover img, .ec-project:hover img { transform: scale(1.04); }
.ec-card-link { display: block; margin-top: 10px; color: var(--ec-muted); font: 500 11px/1 var(--ec-sans); letter-spacing: .2em; text-align: center; text-transform: uppercase; }
.ec-card:hover .ec-card-link { color: var(--ec-green); }
.ec-project:hover .ec-project-name .mango-heading-title { color: var(--ec-green); }

/* Cómo funciona */
.ec-how { background: var(--ec-paper); padding: 100px 0; border-top: 1px solid #e5dfd6; }
.ec-how-step { padding: 34px 28px !important; border-top: 1px solid var(--ec-green); }
.ec-how-num .mango-heading-title { margin: 0 0 18px; color: var(--ec-green); font: italic 400 42px/1 var(--ec-serif) !important; }
.ec-how-t .mango-heading-title { margin: 0 0 10px; color: var(--ec-ink); font: 500 13px/1.3 var(--ec-sans) !important; letter-spacing: .2em !important; text-transform: uppercase; }
.ec-how-d { color: var(--ec-muted); font: 400 15px/1.7 var(--ec-sans); }
.ec-how-d p { margin: 0; }

/* Opiniones */
.ec-reviews { background: var(--ec-cream); padding: 100px 0; border-top: 1px solid #e5dfd6; }
.ec-rev-inner { max-width: 640px; margin: 0 auto; text-align: center; }
.ec-rev-inner .ec-sec-title .mango-heading-title { margin-bottom: 26px; }
.ec-rev-badge { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 22px; padding: 14px 24px; border: 1px solid #e0d9cf; background: var(--ec-paper); }
.ec-rev-g { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #fff; color: #4285f4; font: 700 17px/1 Arial, sans-serif; box-shadow: 0 1px 3px rgba(0,0,0,.15); }
.ec-rev-badge strong { color: var(--ec-ink); font: 500 32px/1 var(--ec-serif); }
.ec-stars { color: #d9a441; font-size: 19px; letter-spacing: 2px; }
.ec-rev-src { color: var(--ec-muted); font: 500 12px/1 var(--ec-sans); letter-spacing: .14em; text-transform: uppercase; }
.ec-rev-text { margin-bottom: 26px; color: var(--ec-ink); font: 400 16px/1.75 var(--ec-sans); }
.ec-rev-text p { margin: 0; }

/* Preguntas frecuentes */
.ec-faq { background: var(--ec-beige); padding: 100px 0; }
.ec-faq-grid > .mango-container-inner { grid-template-columns: minmax(0, 420px) minmax(0, 1fr) !important; }
.ec-faq-note { color: var(--ec-muted); font: 400 15.5px/1.75 var(--ec-sans); }
.ec-faq-note a { color: var(--ec-green); }
.ec-acc-light .mango-accordion-item { border-top-color: #d8d0c4 !important; }
.ec-acc-light .mango-accordion-item:last-child { border-bottom-color: #d8d0c4 !important; }
.ec-acc-light .mango-accordion-header, .ec-acc-light .mango-accordion-title { color: var(--ec-ink) !important; }
.ec-acc-light .mango-accordion-title { font: 400 23px/1.3 var(--ec-serif) !important; letter-spacing: 0 !important; text-transform: none; }
.ec-acc-light .mango-accordion-icon svg { color: var(--ec-green); }
.ec-acc-light .mango-accordion-content, .ec-acc-light .mango-accordion-body { color: var(--ec-muted) !important; }

/* Página de servicio */
.ec-svc-detail { padding-top: 100px; }
.ec-svc-intro > .mango-container-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 470px) !important; }
.ec-svc-sticky { position: sticky; top: 24px; }
.ec-svc-label-h .mango-heading-title { margin: 0 0 16px; color: var(--ec-green); font: 500 12px/1 var(--ec-sans) !important; letter-spacing: .26em !important; text-transform: uppercase; }
.ec-svc-small { margin: 18px 0 0; color: var(--ec-muted); font: 400 14px/1.5 var(--ec-sans); }
.ec-svc-small a { color: var(--ec-green); }
.ec-check { margin: 0; padding: 0; list-style: none; }
.ec-check li { position: relative; padding: 16px 0 16px 40px; border-top: 1px solid #e0d9cf; color: var(--ec-ink); font: 400 17px/1.55 var(--ec-sans); }
.ec-check li:last-child { border-bottom: 1px solid #e0d9cf; }
.ec-check li::before { content: "✓"; position: absolute; left: 0; top: 14px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--ec-green); color: var(--ec-cream); font-size: 13px; }
.ec-svc-btn2 .mango-button { color: var(--ec-green) !important; }
.ec-svc-card-dark .ec-svc-btn2 .mango-button { color: var(--ec-cream) !important; }
.ec-svc-name a { color: inherit; text-decoration: none; }
.ec-others { background: var(--ec-paper); padding: 96px 0; border-top: 1px solid #e5dfd6; }
.ec-mini { height: 100%; padding: 32px 30px !important; border: 1px solid #e0d9cf; background: #fff; transition: border-color .25s ease, transform .25s ease; }
.ec-mini:hover { border-color: var(--ec-green); transform: translateY(-3px); }
.ec-mini-num .mango-heading-title { margin: 0 0 12px; color: var(--ec-muted); font: 500 12px/1 var(--ec-sans) !important; letter-spacing: .3em !important; }
.ec-mini-name .mango-heading-title { margin: 0 0 14px; color: var(--ec-green); font: 400 30px/1.1 var(--ec-serif) !important; }
.ec-mini-price { margin: 0 0 18px; color: var(--ec-ink); font: 400 14px/1.4 var(--ec-sans); }
.ec-mini-price strong { font: 500 24px/1 var(--ec-serif); }
.ec-mini-link { color: var(--ec-green); font: 500 11.5px/1 var(--ec-sans); letter-spacing: .2em; text-transform: uppercase; }

/* Formulario */
.ec-formsec { background: var(--ec-cream); padding: 100px 0; border-top: 1px solid #e5dfd6; }
.ec-form-grid > .mango-container-inner { grid-template-columns: minmax(0, 400px) minmax(0, 1fr) !important; }
.ec-form label { color: var(--ec-ink); font: 500 12px/1.3 var(--ec-sans); letter-spacing: .12em; text-transform: uppercase; }
.ec-form input[type=text], .ec-form input[type=email], .ec-form input[type=tel], .ec-form select, .ec-form textarea {
	width: 100%; padding: 14px 16px; border: 1px solid #d8d0c4; border-radius: 0; background: var(--ec-paper); color: var(--ec-ink); font: 400 15px/1.4 var(--ec-sans); }
.ec-form input:focus, .ec-form select:focus, .ec-form textarea:focus { outline: none; border-color: var(--ec-green); }
.ec-form .mango-field-option label, .ec-form .mango-acceptance label, .ec-form [type=checkbox] + label { text-transform: none; letter-spacing: 0; font-weight: 400; font-size: 14.5px; }
.ec-form button[type=submit] { padding: 17px 24px; border: 0; border-radius: 0; background: var(--ec-green); color: var(--ec-cream); font: 500 12.5px/1 var(--ec-sans); letter-spacing: .2em; text-transform: uppercase; cursor: pointer; }
.ec-form button[type=submit]:hover { background: #0d3834; }

/* Portafolio y proyecto */
.ec-portfolio { padding-top: 90px; }
.ec-group { margin-bottom: 80px; scroll-margin-top: 20px; }
.ec-group-title .mango-heading-title { margin-bottom: 36px; }
.ec-proj { padding: 96px 0; }
.ec-proj-grid > .mango-container-inner { grid-template-columns: minmax(0, 400px) minmax(0, 1fr) !important; }
.ec-proj-grid > .mango-container-inner > .mango-container:first-child { position: sticky; top: 24px; }
.ec-proj-desc { margin-bottom: 26px; color: var(--ec-ink); font: italic 400 22px/1.5 var(--ec-serif); }
.ec-proj-desc p { margin: 0; }
.ec-facts { margin: 0; padding: 0; list-style: none; }
.ec-facts li { display: flex; flex-direction: column; gap: 5px; padding: 14px 0; border-top: 1px solid #e0d9cf; color: var(--ec-ink); font: 400 15px/1.4 var(--ec-sans); }
.ec-facts span { color: var(--ec-muted); font: 500 11px/1 var(--ec-sans); letter-spacing: .24em; text-transform: uppercase; }
.ec-gal .mango-image img { aspect-ratio: 4 / 3; height: auto !important; }
.ec-gallery > .mango-container-inner > :first-child { grid-column: 1 / -1; }
.ec-gallery > .mango-container-inner > :first-child img { aspect-ratio: 16 / 10; }

/* Pie */
.ec-foot-top { padding-bottom: 36px; border-bottom: 1px solid #3d3a39; }
.ec-foot-tag { margin: 16px 0 0; color: #a9a199; font: 400 14px/1.5 var(--ec-sans); }
.ec-foot-cols { display: flex; gap: 72px; }
.ec-foot-cols div { display: flex; flex-direction: column; gap: 12px; }
.ec-foot-h { margin: 0 0 4px; color: #a9a199; font: 500 11px/1 var(--ec-sans); letter-spacing: .24em; text-transform: uppercase; }
.ec-foot-cols a { color: var(--ec-cream); font: 400 15px/1.3 var(--ec-sans); text-decoration: none; }
.ec-foot-cols a:hover { text-decoration: underline; }
.ec-foot-bottom { margin-top: 28px; }
.ec-footer { padding: 64px 0 40px; }
.ec-footer .ec-wordmark { width: 150px; }

@media (max-width: 1024px) {
	.ec-menu { display: none; }
	.ec-burger { display: block; }
	.ec-burger-panel { top: 78px; }
	.ec-faq-grid > .mango-container-inner, .ec-svc-intro > .mango-container-inner, .ec-form-grid > .mango-container-inner,
	.ec-proj-grid > .mango-container-inner { grid-template-columns: 1fr !important; }
	.ec-svc-sticky, .ec-proj-grid > .mango-container-inner > .mango-container:first-child { position: static; }
}

@media (max-width: 767px) {
	.ec-nav-left .mango-html { gap: 6px; flex-direction: row-reverse; }
	.ec-logo .ec-wordmark { width: 96px; }
	.ec-burger-panel { top: 64px; }
	.ec-nav-cta { display: none; }
	.ec-nav > .mango-container-inner, .ec-nav { justify-content: flex-start !important; }
	.ec-hero-lead { font-size: 15.5px; padding: 0 6px; }
	.ec-hero-buttons { width: 100%; margin-bottom: 34px; }
	.ec-hero-buttons .mango-button, .ec-head-buttons .mango-button { justify-content: center; width: 100%; }
	.ec-head-buttons { width: 100%; }
	.ec-sec-title .mango-heading-title { font-size: 38px !important; margin-bottom: 28px; }
	.ec-how, .ec-reviews, .ec-faq, .ec-others, .ec-formsec, .ec-proj { padding: 64px 0; }
	.ec-how-step { padding: 24px 4px !important; }
	.ec-rev-badge { flex-wrap: wrap; justify-content: center; }
	.ec-acc-light .mango-accordion-title { font-size: 20px !important; }
	.ec-check li { font-size: 15.5px; }
	.ec-foot-cols { gap: 40px; }
	.ec-group { margin-bottom: 56px; }
	.ec-svc-detail { padding-top: 64px; }
}
.ec-hero-lead, .ec-hero-kicker, .ec-head-text { text-shadow: 0 1px 14px rgba(0,0,0,.55); }
.ec-hero-buttons .ec-btn-ghost .mango-button, .ec-head-buttons .ec-btn-ghost .mango-button { background: rgba(20,13,8,.38) !important; color: #fff !important; border-color: rgba(255,255,255,.85); }
.ec-hero-buttons .ec-btn-ghost .mango-button:hover, .ec-head-buttons .ec-btn-ghost .mango-button:hover { background: var(--ec-cream) !important; color: var(--ec-ink) !important; }
.ec-proj-desc, .ec-proj-desc p { font-family: var(--ec-serif) !important; font-size: 23px !important; line-height: 1.5 !important; }
.ec-form select { padding: 14px 16px !important; height: auto !important; border-radius: 0 !important; border: 1px solid #d8d0c4 !important; background-color: var(--ec-paper) !important; font: 400 15px/1.4 var(--ec-sans) !important; }
.ec-form label:has(input[type=checkbox]) { text-transform: none; letter-spacing: 0; font-weight: 400; font-size: 14.5px; }
/* ¿Para qué espacio? */
.ec-frame-space .mango-image img { aspect-ratio: 16 / 10; height: auto !important; }
.ec-space-label .mango-heading-title { margin-top: 26px; text-align: left; font-size: 15px !important; }
.ec-space-sub .mango-heading-title { margin: 8px 0 16px; color: var(--ec-muted); font: italic 400 21px/1.3 var(--ec-serif) !important; }
.ec-space-list { margin: 0; padding: 0; list-style: none; }
.ec-space-list a { display: flex; justify-content: space-between; gap: 16px; padding: 15px 0; border-top: 1px solid #e0d9cf; color: var(--ec-ink); text-decoration: none; font: 400 16px/1.3 var(--ec-sans); transition: color .2s ease, padding .2s ease; }
.ec-space-list li:last-child a { border-bottom: 1px solid #e0d9cf; }
.ec-space-list a span::before { content: "→ "; color: var(--ec-green); }
.ec-space-list a em { color: var(--ec-muted); font: 500 21px/1.1 var(--ec-serif); font-style: normal; white-space: nowrap; }
.ec-space-list a:hover { color: var(--ec-green); padding-left: 6px; }
.ec-space-note { margin-top: 48px; text-align: center; color: var(--ec-muted); font: italic 400 22px/1.4 var(--ec-serif); }
.ec-space-note p { margin: 0; }
.ec-space-note strong { color: var(--ec-green); font-weight: 500; }
@media (max-width: 767px) { .ec-space-list a { font-size: 15px; } .ec-space-list a em { font-size: 18px; } .ec-space-note { font-size: 19px; } }
.ec-space-note, .ec-space-note p { font-family: var(--ec-serif) !important; }
/* Muro de reseñas */
.ec-rev-wide { max-width: none !important; width: 100%; }
.ec-rev-wallbox { width: 100%; margin-bottom: 36px; }
.ec-rev-tabs { display: flex; justify-content: center; gap: 10px; margin-bottom: 30px; }
.ec-rev-tabs label { padding: 10px 18px; border: 1px solid #d8d0c4; color: var(--ec-ink); font: 500 11.5px/1 var(--ec-sans); letter-spacing: .18em; text-transform: uppercase; cursor: pointer; }
.ec-rev-tabs input { position: absolute; opacity: 0; pointer-events: none; }
.ec-rev-tabs label:has(input:checked) { border-color: var(--ec-green); background: var(--ec-green); color: var(--ec-cream); }
.ec-rev-cards { columns: 3 300px; column-gap: 24px; text-align: left; }
.ec-rev-card { break-inside: avoid; margin: 0 0 24px; padding: 28px 28px 24px; border: 1px solid #e0d9cf; background: var(--ec-paper); }
.ec-rev-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; color: #d9a441; font-size: 16px; letter-spacing: 2px; }
.ec-rev-top .ec-rev-g { width: 24px; height: 24px; font-size: 13px; letter-spacing: 0; }
.ec-rev-card blockquote { margin: 0 0 20px; color: var(--ec-ink); font: 400 19px/1.5 var(--ec-serif); }
.ec-rev-card figcaption { display: flex; align-items: center; gap: 12px; }
.ec-rev-av { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--ec-green); color: var(--ec-cream); font: 500 13px/1 var(--ec-sans); letter-spacing: .05em; }
.ec-rev-card strong { display: block; color: var(--ec-ink); font: 500 14.5px/1.3 var(--ec-sans); }
.ec-rev-card em { color: var(--ec-muted); font: 400 12.5px/1.3 var(--ec-sans); font-style: normal; }
.ec-rev-wall:has(input[value="residencial"]:checked) .ec-rev-card:not([data-kind="residencial"]),
.ec-rev-wall:has(input[value="comercial"]:checked) .ec-rev-card:not([data-kind="comercial"]) { display: none; }
/* Filas de servicios (portada) */
.ec-ways-intro { max-width: 470px; margin-bottom: 26px; color: #cfc8bf; font: 400 15.5px/1.7 var(--ec-sans); }
.ec-ways-intro p { margin: 0; }
.ec-rows { margin: 0; padding: 0; list-style: none; counter-reset: none; }
.ec-rows a { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto 22px; align-items: center; gap: 14px; padding: 20px 0; border-top: 1px solid #464443; color: var(--ec-cream); text-decoration: none; transition: padding .2s ease, background-color .2s ease; }
.ec-rows li:last-child a { border-bottom: 1px solid #464443; }
.ec-rows a:hover { padding-left: 10px; padding-right: 6px; background: rgba(243,240,235,.04); }
.ec-row-n { color: #8f877f; font: italic 400 20px/1 var(--ec-serif); }
.ec-row-main strong { display: block; font: 500 13.5px/1.3 var(--ec-sans); letter-spacing: .18em; text-transform: uppercase; }
.ec-row-main em { display: block; margin-top: 6px; color: #a9a199; font: italic 400 18px/1.25 var(--ec-serif); }
.ec-row-price { color: var(--ec-cream); font: 500 21px/1 var(--ec-serif); white-space: nowrap; }
.ec-row-go { color: var(--ec-cream); font-size: 18px; transition: transform .2s ease; }
.ec-rows a:hover .ec-row-go { transform: translateX(4px); }
/* Tarjeta de servicio entera clicable */
.ec-svc-link { transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease; }
.ec-svc-link:hover { border-color: var(--ec-green); transform: translateY(-3px); box-shadow: 0 18px 40px rgba(18,74,69,.08); }
.ec-svc-go { display: inline-block; padding: 14px 22px; border: 1px solid var(--ec-ink); color: var(--ec-ink); font: 500 12px/1 var(--ec-sans); letter-spacing: .2em; text-transform: uppercase; transition: background-color .25s ease, color .25s ease; }
.ec-svc-link:hover .ec-svc-go { background: var(--ec-ink); color: var(--ec-cream); }
.ec-svc-card-dark .ec-svc-go { border-color: var(--ec-cream); color: var(--ec-cream); }
.ec-svc-card-dark.ec-svc-link:hover .ec-svc-go { background: var(--ec-cream); color: var(--ec-green); }
/* Preguntas */
.ec-faq-more { margin-top: 22px; }
.ec-faq-alt { background: var(--ec-cream); }
.ec-faq { scroll-margin-top: 10px; }
.ec-head-buttons > .mango-container-inner { flex-wrap: wrap; justify-content: center; }
@media (max-width: 767px) {
	.ec-rows a { grid-template-columns: 26px minmax(0, 1fr) 18px; }
	.ec-row-price { grid-column: 2; grid-row: 2; font-size: 18px; }
	.ec-row-go { grid-column: 3; grid-row: 1 / span 2; }
	.ec-row-main em { font-size: 16.5px; }
}
.ec-head::before { background: linear-gradient(180deg, rgba(20,13,8,.62) 0%, rgba(20,13,8,.48) 40%, rgba(20,13,8,.72) 100%) !important; }
/* Página Jennifer */
.ec-story p { margin: 0 0 18px; color: var(--ec-ink); font: 400 16px/1.8 var(--ec-sans); }
.ec-story { margin-bottom: 14px; }
.ec-stats-sec { background: var(--ec-green); padding: 104px 0; color: var(--ec-cream); }
.ec-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center; }
.ec-stats div { padding: 10px; border-left: 1px solid rgba(243,240,235,.22); }
.ec-stats div:first-child { border-left: 0; }
.ec-stats strong { display: block; font: 400 64px/1 var(--ec-serif); }
.ec-stats span { display: block; margin-top: 12px; color: rgba(243,240,235,.8); font: 500 12px/1.3 var(--ec-sans); letter-spacing: .22em; text-transform: uppercase; }
.ec-timeline { margin: 0; padding: 0; list-style: none; border-left: 1px solid var(--ec-green); }
.ec-timeline li { position: relative; padding: 0 0 26px 28px; }
.ec-timeline li::before { content: ""; position: absolute; left: -5px; top: 6px; width: 9px; height: 9px; border-radius: 50%; background: var(--ec-green); }
.ec-timeline strong { display: block; color: var(--ec-ink); font: 400 24px/1.25 var(--ec-serif); }
.ec-timeline span { display: block; margin-top: 4px; color: var(--ec-muted); font: 400 14px/1.4 var(--ec-sans); }
.ec-country { height: 100%; margin: 0; padding: 28px 28px 24px; border: 1px solid #e0d9cf; background: #fff; }
.ec-flag { margin: 0 0 10px; font-size: 30px; line-height: 1; }
.ec-country h3 { margin: 0; color: var(--ec-green); font: 400 32px/1.1 var(--ec-serif); }
.ec-cities { margin: 6px 0 0; color: var(--ec-muted); font: italic 400 18px/1.3 var(--ec-serif); }
.ec-country-n { display: block; margin: 16px 0 8px; color: var(--ec-muted); font: 500 11px/1 var(--ec-sans); letter-spacing: .2em; text-transform: uppercase; }
.ec-country-list { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.ec-country-list a { display: inline-block; padding: 7px 12px; border: 1px solid #e0d9cf; color: var(--ec-ink); font: 400 13.5px/1.2 var(--ec-sans); text-decoration: none; transition: border-color .2s ease, color .2s ease; }
.ec-country-list a:hover { border-color: var(--ec-green); color: var(--ec-green); }
.ec-country-note { margin: 16px 0 0; color: var(--ec-ink); font: 400 15px/1.6 var(--ec-sans); }
.ec-quote-grid > .mango-container-inner { grid-template-columns: minmax(0, 360px) minmax(0, 1fr) !important; }
.ec-quote { margin: 0 0 24px; color: var(--ec-cream); font: 400 46px/1.2 var(--ec-serif); }
.ec-quote-by { margin: 0; color: rgba(243,240,235,.75); font: 500 12px/1 var(--ec-sans); letter-spacing: .24em; text-transform: uppercase; }
.ec-partner { background: var(--ec-paper); padding: 100px 0; border-top: 1px solid #e5dfd6; }
.ec-partner-grid > .mango-container-inner { grid-template-columns: minmax(0, 320px) minmax(0, 560px) !important; justify-content: center; }
.ec-partner-photo .mango-image img { aspect-ratio: 4 / 5; height: auto !important; object-fit: cover; }
@media (max-width: 1024px) {
	.ec-quote-grid > .mango-container-inner, .ec-partner-grid > .mango-container-inner { grid-template-columns: 1fr !important; }
}
@media (max-width: 767px) {
	.ec-stats { grid-template-columns: 1fr 1fr; row-gap: 36px; }
	.ec-stats div:nth-child(3) { border-left: 0; }
	.ec-stats strong { font-size: 48px; }
	.ec-stats-sec { padding: 80px 0; }
	.ec-quote { font-size: 32px; }
	.ec-timeline strong { font-size: 21px; }
	.ec-partner { padding: 64px 0; }
}
.ec-quote { padding: 0 !important; border: 0 !important; background: none !important; }
.ec-partner-grid .ec-kicker-dark .mango-heading-title, .ec-jen-grid .ec-kicker-dark .mango-heading-title { text-align: left; }
.ec-country { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 170px; text-align: center; }
.ec-country-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.ec-country-row .ec-country { flex: 0 0 calc(25% - 12px); height: auto; }
@media (max-width: 1024px) { .ec-country-row .ec-country { flex-basis: calc(33.333% - 11px); } }
@media (max-width: 767px) { .ec-country-row { gap: 10px; } .ec-country-row .ec-country { flex-basis: calc(50% - 5px); } }
@media (max-width: 767px) { .ec-country { min-height: 130px; padding: 20px 12px; } .ec-country h3 { font-size: 24px; } .ec-cities { font-size: 15px; } }