/* Electric Control public homepage — editorial direction based on official brand manual. */
body.ec-home-editorial {
  --home-navy: #0f1c2e;
  --home-graphite: #2b2f38;
  --home-gray: #e6e8eb;
  --home-green: #7dbf2a;
  --home-paper: #fff;
  --home-font: "Montserrat", "Open Sans", system-ui, sans-serif;
  color: var(--home-navy);
  background: var(--home-paper);
  background-image: none;
  font-family: var(--home-font);
}

/* Prevent global legacy main sizing from leaving a blank rail beside the public site. */
body.ec-home-editorial #main-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
body.ec-home-editorial #main-content > #inicio {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

body.ec-home-editorial #main-content > section {
  scroll-margin-top: 88px;
}

body.ec-home-editorial .ec-container {
  width: min(100% - 96px, 1440px);
  max-width: 1440px;
}

/* Immersive opening scene */
body.ec-home-editorial .ec-header:not(.scrolled) {
  background: linear-gradient(180deg, rgba(15, 28, 46, .8), transparent);
  border-bottom: 1px solid rgba(255,255,255,.16);
}

body.ec-home-editorial .ec-hero {
  height: min(920px, 100svh);
  min-height: 680px;
  justify-content: flex-start;
  background: var(--home-navy);
}

body.ec-home-editorial .ec-hero-slide-bg {
  background-position: center 48%;
  transform: scale(1.015);
  animation: home-image-settle 1.1s ease-out both;
}

@keyframes home-image-settle {
  from { transform: scale(1.07); }
  to { transform: scale(1.015); }
}

body.ec-home-editorial .ec-hero-slide::before,
body.ec-home-editorial .ec-hero-slide::after {
  display: none;
}

body.ec-home-editorial .ec-hero-slide-shade {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(8,17,29,.94) 0%, rgba(15,28,46,.76) 34%, rgba(15,28,46,.12) 76%),
    linear-gradient(0deg, rgba(8,17,29,.78) 0%, transparent 35%);
}

body.ec-home-editorial .ec-hero-slide-content {
  width: min(100% - 112px, 1440px);
  max-width: 1440px;
  margin: 82px auto 0;
  padding: 0;
  text-align: left;
  animation: home-copy-enter .7s .12s ease-out both;
}

@keyframes home-copy-enter {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

body.ec-home-editorial .ec-hero-label {
  display: flex;
  width: fit-content;
  padding: 0;
  margin: 0 0 28px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
}

body.ec-home-editorial .ec-hero-label .ec-dot {
  width: 7px;
  height: 7px;
  border-radius: 0;
  background: var(--home-green);
  box-shadow: 0 0 0 5px rgba(125,191,42,.15);
}

body.ec-home-editorial .ec-hero-slide-content h1 {
  max-width: 900px;
  margin: 0 0 22px;
  color: #fff;
  font-size: clamp(3.25rem, 7.15vw, 7.4rem);
  font-weight: 700;
  line-height: .99;
  letter-spacing: -.075em;
  text-wrap: balance;
}

body.ec-home-editorial .ec-hero-slide-content h1 .ec-highlight,
body.ec-home-editorial .ec-hero-slide-content h1 em,
body.ec-home-editorial .ec-hero-slide-content h1 span {
  color: var(--home-green);
}

body.ec-home-editorial .ec-hero-slide-content p {
  max-width: 600px;
  margin: 0 0 30px;
  color: rgba(255,255,255,.82);
  font-size: clamp(1rem, 1.3vw, 1.22rem);
  line-height: 1.65;
}

body.ec-home-editorial .ec-hero-ctas {
  justify-content: flex-start;
  gap: 28px;
}

body.ec-home-editorial .ec-hero-ctas .ec-btn {
  min-height: 50px;
  padding: 0 22px;
  border-radius: 0;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.ec-home-editorial .ec-hero-ctas .ec-btn-primary {
  color: var(--home-navy);
  background: var(--home-green);
  border-color: var(--home-green);
  box-shadow: none;
}

body.ec-home-editorial .ec-hero-ctas .ec-btn-ghost {
  padding-inline: 0;
  color: #fff;
  border-color: transparent;
  background: transparent;
}

body.ec-home-editorial .ec-hero-indicators {
  right: max(48px, calc((100vw - 1440px) / 2));
  bottom: 52px;
  left: auto;
  transform: none;
  gap: 8px;
}

body.ec-home-editorial .ec-hero-indicators button {
  width: 30px;
  height: 2px;
  border: 0;
  border-radius: 0;
  background: rgba(255,255,255,.44);
}

body.ec-home-editorial .ec-hero-indicators button.active {
  width: 54px;
  background: var(--home-green);
}

body.ec-home-editorial .ec-hero-scroll {
  right: max(48px, calc((100vw - 1440px) / 2));
  bottom: 112px;
  left: auto;
  transform: none;
  color: rgba(255,255,255,.68);
}

body.ec-home-editorial .ec-hero-scroll-line {
  background: linear-gradient(180deg, var(--home-green), transparent);
}

/* Manifesto: editorial copy instead of summary tiles */
body.ec-home-editorial .ec-intro {
  padding: clamp(82px, 10vw, 156px) 0;
  background: var(--home-paper);
}

body.ec-home-editorial .ec-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(290px, .55fr);
  gap: clamp(48px, 8vw, 132px);
  align-items: end;
}

body.ec-home-editorial .ec-intro-text { display: contents; }
body.ec-home-editorial .ec-intro-text > .ec-section-label,
body.ec-home-editorial .ec-intro-text > h2 { grid-column: 1; }
body.ec-home-editorial .ec-intro-text > .ec-section-label { grid-row: 1; }
body.ec-home-editorial .ec-intro-text > h2 {
  grid-row: 2;
  max-width: 900px;
  margin: 0;
  color: var(--home-navy);
  font-size: clamp(2.7rem, 5.7vw, 6.2rem);
  line-height: 1.02;
  letter-spacing: -.065em;
}

body.ec-home-editorial .ec-section-label {
  color: var(--home-green);
  background: transparent;
  border: 0;
  padding: 0;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .19em;
}

body.ec-home-editorial .ec-intro-subtitle {
  grid-column: 2;
  grid-row: 2;
  max-width: 420px;
  margin: 0 0 30px;
  color: var(--home-graphite);
  font-size: 1rem;
  line-height: 1.85;
}

body.ec-home-editorial .ec-intro-highlights {
  grid-column: 2;
  grid-row: 3;
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--home-gray);
}

body.ec-home-editorial .ec-intro-highlights li {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 13px 0;
  border-bottom: 1px solid var(--home-gray);
}

body.ec-home-editorial .ec-intro-highlights strong { color: var(--home-navy); font-size: .8rem; }
body.ec-home-editorial .ec-intro-highlights span { color: #68717c; font-size: .72rem; }
body.ec-home-editorial .ec-intro-visual { display: none; }

/* Capabilities: indexed editorial list, not a card grid */
body.ec-home-editorial .ec-bento {
  padding: clamp(70px, 9vw, 132px) 0;
  background: #f5f6f7;
}

body.ec-home-editorial .ec-bento .ec-container {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
  column-gap: clamp(48px, 8vw, 130px);
  align-items: start;
}

body.ec-home-editorial #bento-heading { grid-column: 1; grid-row: 2; max-width: 420px; font-size: clamp(2.4rem, 4.5vw, 4.8rem); line-height: 1.05; letter-spacing: -.06em; }
body.ec-home-editorial .ec-bento .ec-section-label { grid-column: 1; grid-row: 1; }
body.ec-home-editorial .ec-bento-grid {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: block;
  margin: 0;
  border-top: 1px solid #cfd4d9;
}

body.ec-home-editorial .ec-bento-item {
  position: relative;
  display: grid;
  grid-template-columns: 54px minmax(180px, .72fr) minmax(0, 1fr) 26px;
  gap: 18px;
  align-items: center;
  min-height: 94px;
  padding: 18px 0;
  overflow: visible;
  border: 0;
  border-bottom: 1px solid #cfd4d9;
  border-radius: 0;
  color: var(--home-navy);
  background: transparent;
  box-shadow: none;
  text-decoration: none;
}

body.ec-home-editorial .ec-bento-item-bg,
body.ec-home-editorial .ec-bento-item::before,
body.ec-home-editorial .ec-bento-icon { display: none; }
body.ec-home-editorial .ec-bento-item::after { content: counter(home-service, decimal-leading-zero); }
body.ec-home-editorial .ec-bento-grid { counter-reset: home-service; }
body.ec-home-editorial .ec-bento-item { counter-increment: home-service; }
body.ec-home-editorial .ec-bento-item::after {
  grid-column: 1;
  grid-row: 1;
  color: var(--home-green);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .08em;
}

body.ec-home-editorial .ec-bento-item-content {
  display: contents;
  padding: 0;
  color: inherit;
}

body.ec-home-editorial .ec-bento-item h3 {
  grid-column: 2;
  margin: 0;
  color: var(--home-navy);
  font-size: clamp(1.05rem, 1.7vw, 1.55rem);
  font-weight: 600;
  letter-spacing: -.035em;
}

body.ec-home-editorial .ec-bento-item p {
  grid-column: 3;
  margin: 0;
  color: #68717c;
  font-size: .78rem;
  line-height: 1.55;
}

body.ec-home-editorial .ec-bento-arrow {
  position: static;
  grid-column: 4;
  grid-row: 1;
  display: grid;
  width: auto;
  height: auto;
  color: var(--home-green);
  background: transparent;
  opacity: 1;
  transform: none;
}

body.ec-home-editorial .ec-bento-arrow svg { width: 19px; height: 19px; }
body.ec-home-editorial .ec-bento-item:hover { padding-left: 10px; background: transparent; box-shadow: none; }
body.ec-home-editorial .ec-bento-item:hover h3 { color: #5b941c; }
body.ec-home-editorial .ec-bento .ec-btn-outline { border-radius: 0; }
body.ec-home-editorial .ec-bento .ec-container > .ec-reveal { grid-column: 2; text-align: left !important; margin-top: 24px !important; }

body.ec-home-editorial .ec-capabilities {
  padding: 22px 0;
  background: var(--home-navy);
  border: 0;
}
body.ec-home-editorial .ec-capability-item { color: white; font-size: .68rem; font-weight: 600; letter-spacing: .18em; }
body.ec-home-editorial .ec-capability-dot { color: var(--home-green); }

/* Featured project: seamless split panel */
body.ec-home-editorial .ec-featured-project {
  padding: 0;
  background: var(--home-navy);
}

body.ec-home-editorial .ec-featured-project > .ec-container {
  width: 100%;
  max-width: none;
  display: grid;
  grid-template-columns: minmax(330px, .68fr) minmax(0, 1.32fr);
  align-items: stretch;
  gap: 0;
}

body.ec-home-editorial .ec-featured-project > .ec-container > .ec-section-label,
body.ec-home-editorial .ec-featured-project > .ec-container > h2 { display: none; }
body.ec-home-editorial .ec-featured-project-grid {
  display: contents;
}

body.ec-home-editorial .ec-featured-project-content {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(44px, 8vw, 116px) clamp(32px, 7vw, 110px);
  color: white;
}

body.ec-home-editorial .ec-featured-project-content .ec-badge {
  width: fit-content;
  margin-bottom: 24px;
  color: var(--home-green);
  background: transparent;
  border: 0;
  padding: 0;
  font-size: .68rem;
  letter-spacing: .18em;
  text-transform: uppercase;
}

body.ec-home-editorial .ec-featured-project-content h3 {
  margin: 0 0 24px;
  color: #fff;
  font-size: clamp(2rem, 3.6vw, 4.1rem);
  line-height: 1.05;
  letter-spacing: -.06em;
}

body.ec-home-editorial .ec-featured-project-content > p { color: rgba(255,255,255,.75); font-size: .9rem; line-height: 1.8; }
body.ec-home-editorial .ec-featured-project-content .ec-project-meta { order: 2; display: flex; flex-wrap: wrap; gap: 22px; margin: 18px 0 24px; padding: 18px 0 0; border-color: rgba(255,255,255,.2); }
body.ec-home-editorial .ec-featured-project-content .ec-meta-label { color: var(--home-green); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; }
body.ec-home-editorial .ec-featured-project-content .ec-project-meta-item span:last-child { color: #fff; font-size: .76rem; }
body.ec-home-editorial .ec-featured-project-content .ec-link { order: 3; width: fit-content; color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
body.ec-home-editorial .ec-featured-project-img {
  grid-column: 2;
  grid-row: 1;
  min-height: 620px;
  margin: 0;
  background-position: center;
  background-size: cover;
}

/* Project collection: cinematic horizontal story rail */
body.ec-home-editorial .ec-projects-carousel { padding: 0 0 72px; background: var(--home-navy); }
body.ec-home-editorial .ec-projects-carousel .ec-container { width: 100%; max-width: none; padding: 0 48px; }
body.ec-home-editorial .ec-projects-track { display: flex; gap: 18px; overflow-x: auto; padding: 0 0 14px; scroll-snap-type: x mandatory; }
body.ec-home-editorial .ec-project-card {
  position: relative;
  flex: 0 0 min(42vw, 620px);
  min-height: 350px;
  overflow: hidden;
  border-radius: 0;
  background: var(--home-graphite);
  scroll-snap-align: start;
}
body.ec-home-editorial .ec-project-card-bg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .6s ease; }
body.ec-home-editorial .ec-project-card-bg.ec-photo-bg::after { display: none; }
body.ec-home-editorial .ec-project-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(8,17,29,.92),rgba(8,17,29,.04) 78%); }
body.ec-home-editorial .ec-project-card-content { position: absolute; z-index: 1; inset: auto 28px 28px; display: flex; flex-direction: column; align-items: flex-start; color: white; }
body.ec-home-editorial .ec-project-card-content .ec-badge { padding: 0; color: var(--home-green); background: transparent; border: 0; font-size: .65rem; letter-spacing: .14em; text-transform: uppercase; }
body.ec-home-editorial .ec-project-card-content h3 { max-width: 520px; color: #fff; font-size: clamp(1.3rem,2.2vw,2rem); letter-spacing: -.04em; }
body.ec-home-editorial .ec-project-card-meta { color: rgba(255,255,255,.7); font-size: .74rem; }
body.ec-home-editorial .ec-project-card .ec-link { color: #fff; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
body.ec-home-editorial .ec-project-card:hover .ec-project-card-bg { transform: scale(1.04); }

/* Sectors as clean editorial rows */
body.ec-home-editorial .ec-sectors { padding: clamp(74px, 9vw, 132px) 0; background: #f5f6f7; }
body.ec-home-editorial .ec-sectors .ec-container { display: grid; grid-template-columns: minmax(250px,.72fr) minmax(0,1.28fr); column-gap: clamp(48px,8vw,130px); align-items: start; }
body.ec-home-editorial .ec-sectors .ec-section-header { grid-column: 1; grid-row: 1 / span 2; text-align: left; margin: 0; }
body.ec-home-editorial .ec-sectors .ec-section-header h2 { font-size: clamp(2.4rem,4.5vw,4.8rem); line-height: 1.05; letter-spacing: -.06em; }
body.ec-home-editorial .ec-sectors .ec-section-header p { max-width: 380px; color: #68717c; font-size: .88rem; line-height: 1.8; }
body.ec-home-editorial .ec-sectors-grid { grid-column: 2; display: block; margin: 0; border-top: 1px solid #cfd4d9; }
body.ec-home-editorial .ec-sector-card {
  display: grid;
  grid-template-columns: 50px 1fr 24px;
  align-items: center;
  min-height: 86px;
  padding: 16px 0;
  color: var(--home-navy);
  background: transparent !important;
  border: 0;
  border-bottom: 1px solid #cfd4d9;
  border-radius: 0;
}
body.ec-home-editorial .ec-sector-card::before { content: counter(home-sector, decimal-leading-zero); color: var(--home-green); font-size: .76rem; font-weight: 700; }
body.ec-home-editorial .ec-sectors-grid { counter-reset: home-sector; }
body.ec-home-editorial .ec-sector-card { counter-increment: home-sector; }
body.ec-home-editorial .ec-sector-card-overlay { position: static; display: grid; grid-template-columns: minmax(150px,.6fr) minmax(0,1fr); align-items: center; gap: 20px; padding: 0; background: transparent; }
body.ec-home-editorial .ec-sector-card h3 { margin: 0; color: var(--home-navy); font-size: clamp(1rem,1.5vw,1.35rem); letter-spacing: -.03em; }
body.ec-home-editorial .ec-sector-card p { margin: 0; color: #68717c; font-size: .72rem; line-height: 1.55; }
body.ec-home-editorial .ec-sector-card::after { content: "↗"; color: var(--home-green); font-size: 1.2rem; }

/* Process: sequence, not six cards */
body.ec-home-editorial .ec-timeline { padding: clamp(72px,9vw,132px) 0; background: #fff; }
body.ec-home-editorial .ec-timeline .ec-container { display: grid; grid-template-columns: minmax(230px,.72fr) minmax(0,1.28fr); column-gap: clamp(48px,8vw,130px); }
body.ec-home-editorial .ec-timeline .ec-section-label,
body.ec-home-editorial .ec-timeline h2 { grid-column: 1; }
body.ec-home-editorial .ec-timeline h2 { font-size: clamp(2.4rem,4.4vw,4.8rem); line-height: 1.04; letter-spacing: -.06em; }
body.ec-home-editorial .ec-timeline-track { grid-column: 2; grid-row: 1 / span 2; display: block; margin: 0; border-top: 1px solid var(--home-gray); }
body.ec-home-editorial .ec-timeline-step { display: grid; grid-template-columns: 54px minmax(180px,.65fr) minmax(0,1fr); gap: 18px; align-items: baseline; padding: 22px 0; border-bottom: 1px solid var(--home-gray); }
body.ec-home-editorial .ec-timeline-num { color: var(--home-green); font-size: .8rem; font-weight: 700; }
body.ec-home-editorial .ec-timeline-content h3 { margin: 0; color: var(--home-navy); font-size: 1rem; }
body.ec-home-editorial .ec-timeline-content p { margin: 0; color: #68717c; font-size: .74rem; line-height: 1.6; }
body.ec-home-editorial .ec-timeline-line { display: none; }

/* Technology rows and proof of capability */
body.ec-home-editorial .ec-tech { padding: clamp(72px,9vw,132px) 0; background: var(--home-navy); color: #fff; }
body.ec-home-editorial .ec-tech .ec-container > h2 { max-width: 850px; color: #fff; font-size: clamp(2.5rem,5vw,5.4rem); letter-spacing: -.06em; }
body.ec-home-editorial .ec-tech .ec-section-label { color: var(--home-green); }
body.ec-home-editorial .ec-tech-grid { display: block; max-width: 1440px; margin: 48px auto 0; padding: 0; }
body.ec-home-editorial .ec-tech-card { display: grid; grid-template-columns: minmax(300px,.8fr) minmax(0,1.2fr); gap: clamp(32px,7vw,100px); align-items: center; padding: 34px 0; border-top: 1px solid rgba(255,255,255,.2); border-radius: 0; background: transparent; box-shadow: none; }
body.ec-home-editorial .ec-tech-mockup { min-height: 320px; border-radius: 0; }
body.ec-home-editorial .ec-tech-card-content h3 { color: #fff; font-size: clamp(1.8rem,3vw,3rem); letter-spacing: -.05em; }
body.ec-home-editorial .ec-tech-card-content p,
body.ec-home-editorial .ec-tech-features { color: rgba(255,255,255,.72); }
body.ec-home-editorial .ec-tech-features li { border-color: rgba(255,255,255,.16); }
body.ec-home-editorial .ec-tech-features li::before { color: var(--home-green); }

body.ec-home-editorial .ec-why { padding: clamp(72px,9vw,132px) 0; background: #f5f6f7; }
body.ec-home-editorial .ec-why .ec-section-header { text-align: left; max-width: 850px; margin: 0 0 42px; }
body.ec-home-editorial .ec-why .ec-section-header h2 { font-size: clamp(2.5rem,4.8vw,5rem); letter-spacing: -.06em; }
body.ec-home-editorial .ec-why-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 32px; margin-top: 0; border-top: 1px solid #cfd4d9; }
body.ec-home-editorial .ec-why-item { min-height: 0; padding: 26px 0; border-radius: 0; border-bottom: 1px solid #cfd4d9; background: transparent !important; box-shadow: none; }
body.ec-home-editorial .ec-why-item::before { display: none; }
body.ec-home-editorial .ec-why-icon { display: none; }
body.ec-home-editorial .ec-why-item h3 { color: var(--home-navy); font-size: 1.05rem; }
body.ec-home-editorial .ec-why-item p { color: #68717c; font-size: .76rem; line-height: 1.7; }

/* Partners, contact and careers */
body.ec-home-editorial .ec-home-partners { padding: clamp(72px,9vw,132px) 0; background: #fff !important; border: 0 !important; }
body.ec-home-editorial .ec-home-partners .ec-section-header { text-align: left !important; max-width: 850px !important; margin: 0 0 36px !important; }
body.ec-home-editorial .ec-home-partners .ec-section-header h2 { font-size: clamp(2.2rem,4vw,4.1rem); letter-spacing: -.055em; }
body.ec-home-editorial .ec-home-partners .ec-grid { display: block; border-top: 1px solid var(--home-gray); }
body.ec-home-editorial .ec-home-partners .ec-partner-card { display: grid !important; grid-template-columns: minmax(180px,.55fr) minmax(0,1fr) auto; align-items: center; gap: 26px; padding: 22px 0 !important; border: 0 !important; border-bottom: 1px solid var(--home-gray); border-radius: 0; background: transparent !important; box-shadow: none; }
body.ec-home-editorial .ec-home-partners .ec-partner-card > div:first-child { display: contents !important; }
body.ec-home-editorial .ec-home-partners .ec-partner-card > div:first-child > div { color: var(--home-navy) !important; font-size: 1rem !important; }
body.ec-home-editorial .ec-home-partners .ec-partner-card .ec-badge { color: #5b941c; background: transparent; border: 0; padding: 0; font-size: .65rem; letter-spacing: .08em; }
body.ec-home-editorial .ec-home-partners .ec-partner-card p { margin: 0 !important; color: #68717c; font-size: .76rem; }
body.ec-home-editorial .ec-home-partners .ec-partner-card > div:last-child { margin: 0 !important; }
body.ec-home-editorial .ec-home-partners .ec-partner-card .ec-btn-outline { border: 0; border-radius: 0; padding: 0; color: var(--home-navy); font-size: .68rem; letter-spacing: .08em; }
body.ec-home-editorial .ec-home-partners > .ec-container > div:last-child { text-align: left !important; margin-top: 24px; }

body.ec-home-editorial .ec-cta { padding: 0; background: var(--home-navy); }
body.ec-home-editorial .ec-cta .ec-cta-inner {
  padding: clamp(84px,11vw,156px) 0;
  background: linear-gradient(90deg,rgba(8,17,29,.94),rgba(8,17,29,.6)), url('/assets/public/careers-hero.jpg') center 42% / cover no-repeat;
}
body.ec-home-editorial .ec-cta .ec-cta-inner::before { display: none; }
body.ec-home-editorial .ec-cta-content { max-width: 900px; margin: 0; text-align: left; }
body.ec-home-editorial .ec-cta-content h2 { color: var(--home-green); font-size: .72rem; letter-spacing: .18em; }
body.ec-home-editorial .ec-cta-content h3 { color: #fff; font-size: clamp(3rem,6vw,6rem); line-height: 1; letter-spacing: -.07em; }
body.ec-home-editorial .ec-cta-content p { max-width: 600px; color: rgba(255,255,255,.78); }
body.ec-home-editorial .ec-cta-buttons { justify-content: flex-start; }
body.ec-home-editorial .ec-cta-buttons .ec-btn { border-radius: 0; }
body.ec-home-editorial .ec-vacantes { padding: 58px 0; background: #f5f6f7; }
body.ec-home-editorial .ec-vacantes h2 { display: inline-block; margin: 0 30px 0 0; font-size: clamp(1.4rem,2.4vw,2.2rem); letter-spacing: -.04em; }
body.ec-home-editorial .ec-vacantes .ec-container { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; }
body.ec-home-editorial .ec-vacantes .ec-section-label { width: 100%; }
body.ec-home-editorial .ec-vacantes .ec-btn { border-radius: 0; }

@media (max-width: 900px) {
  body.ec-home-editorial .ec-container { width: min(100% - 48px, 1440px); }
  body.ec-home-editorial .ec-hero-slide-content { width: min(100% - 48px, 1440px); }
  body.ec-home-editorial .ec-intro-grid,
  body.ec-home-editorial .ec-bento .ec-container,
  body.ec-home-editorial .ec-sectors .ec-container,
  body.ec-home-editorial .ec-timeline .ec-container { grid-template-columns: 1fr; }
  body.ec-home-editorial .ec-intro-subtitle,
  body.ec-home-editorial .ec-intro-highlights,
  body.ec-home-editorial .ec-bento-grid,
  body.ec-home-editorial .ec-sectors-grid,
  body.ec-home-editorial .ec-timeline-track { grid-column: 1; grid-row: auto; }
  body.ec-home-editorial .ec-bento-grid { margin-top: 34px; }
  body.ec-home-editorial .ec-bento .ec-container > .ec-reveal { grid-column: 1; }
  body.ec-home-editorial .ec-featured-project > .ec-container { grid-template-columns: 1fr; }
  body.ec-home-editorial .ec-featured-project-content { grid-column: 1; grid-row: 2; }
  body.ec-home-editorial .ec-featured-project-img { grid-column: 1; grid-row: 1; min-height: 52vw; }
  body.ec-home-editorial .ec-timeline-track { margin-top: 32px; }
  body.ec-home-editorial .ec-tech-card { grid-template-columns: 1fr 1fr; }
  body.ec-home-editorial .ec-why-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.ec-home-editorial .ec-home-partners .ec-partner-card { grid-template-columns: 1fr 2fr; }
  body.ec-home-editorial .ec-home-partners .ec-partner-card > div:last-child { grid-column: 2; }
}

@media (max-width: 600px) {
  body.ec-home-editorial .ec-container { width: min(100% - 36px, 1440px); }
  body.ec-home-editorial .ec-hero { min-height: 700px; height: 92svh; }
  body.ec-home-editorial .ec-hero-slide-content { width: calc(100% - 40px); margin-top: 60px; }
  body.ec-home-editorial .ec-hero-slide-content h1 { font-size: clamp(2.8rem,13vw,4.2rem); }
  body.ec-home-editorial .ec-hero-slide-shade { background: linear-gradient(90deg,rgba(8,17,29,.9),rgba(8,17,29,.44)),linear-gradient(0deg,rgba(8,17,29,.78),transparent 50%); }
  body.ec-home-editorial .ec-hero-indicators { right: 20px; bottom: 28px; }
  body.ec-home-editorial .ec-hero-scroll { display: none; }
  body.ec-home-editorial .ec-intro { padding: 72px 0; }
  body.ec-home-editorial .ec-intro-text > h2 { font-size: clamp(2.4rem,10vw,3.6rem); }
  body.ec-home-editorial .ec-intro-subtitle { margin-top: 28px; }
  body.ec-home-editorial .ec-bento-item { grid-template-columns: 34px minmax(0,1fr) 22px; gap: 12px; padding: 16px 0; }
  body.ec-home-editorial .ec-bento-item h3 { grid-column: 2; font-size: 1rem; }
  body.ec-home-editorial .ec-bento-item p { grid-column: 2; grid-row: 2; }
  body.ec-home-editorial .ec-bento-arrow { grid-column: 3; grid-row: 1 / span 2; }
  body.ec-home-editorial .ec-featured-project-content { padding: 40px 22px 48px; }
  body.ec-home-editorial .ec-featured-project-img { min-height: 72vw; }
  body.ec-home-editorial .ec-featured-project-content .ec-project-meta { gap: 14px; }
  body.ec-home-editorial .ec-projects-carousel .ec-container { padding: 0 18px; }
  body.ec-home-editorial .ec-project-card { flex-basis: 86vw; min-height: 320px; }
  body.ec-home-editorial .ec-sector-card { grid-template-columns: 34px 1fr 20px; }
  body.ec-home-editorial .ec-sector-card-overlay { grid-template-columns: 1fr; gap: 5px; }
  body.ec-home-editorial .ec-timeline-step { grid-template-columns: 34px 1fr; gap: 8px 14px; }
  body.ec-home-editorial .ec-timeline-content p { grid-column: 2; }
  body.ec-home-editorial .ec-tech-card { grid-template-columns: 1fr; gap: 22px; }
  body.ec-home-editorial .ec-tech-mockup { min-height: 230px; }
  body.ec-home-editorial .ec-why-grid { grid-template-columns: 1fr; }
  body.ec-home-editorial .ec-home-partners .ec-partner-card { grid-template-columns: 1fr; gap: 10px; }
  body.ec-home-editorial .ec-home-partners .ec-partner-card > div:last-child { grid-column: 1; }
  body.ec-home-editorial .ec-vacantes .ec-container { display: block; }
  body.ec-home-editorial .ec-vacantes h2 { display: block; margin: 12px 0 18px; }
}

/* Tablet: keep the opening scene within the visible browser viewport. */
@media (min-width: 601px) and (max-width: 1024px) {
  body.ec-home-editorial .ec-hero {
    height: 100svh;
    min-height: 0;
  }
  body.ec-home-editorial .ec-hero-slide-content {
    width: calc(100% - 64px);
    margin-top: clamp(24px,6svh,64px);
  }
  body.ec-home-editorial .ec-hero-label {
    margin-bottom: clamp(14px,2.8svh,24px);
    font-size: .66rem;
  }
  body.ec-home-editorial .ec-hero-slide-content h1 {
    max-width: 780px;
    margin-bottom: clamp(14px,2.4svh,22px);
    font-size: clamp(2.8rem,6.8vw,4.6rem);
    line-height: .97;
  }
  body.ec-home-editorial .ec-hero-slide-content p {
    max-width: 560px;
    margin-bottom: clamp(16px,3svh,26px);
    font-size: clamp(.94rem,1.8vw,1.1rem);
  }
  body.ec-home-editorial .ec-hero-ctas .ec-btn { min-height: 46px; }
  body.ec-home-editorial .ec-hero-indicators { bottom: 24px; }
  body.ec-home-editorial .ec-hero-scroll { bottom: 78px; }
}

@media (min-width: 601px) and (max-width: 1024px) and (max-height: 680px) {
  body.ec-home-editorial .ec-hero-slide-content { margin-top: 18px; }
  body.ec-home-editorial .ec-hero-slide-content h1 { font-size: clamp(2.5rem,6vw,3.8rem); }
  body.ec-home-editorial .ec-hero-slide-content p { margin-bottom: 16px; line-height: 1.5; }
  body.ec-home-editorial .ec-hero-indicators { bottom: 16px; }
  body.ec-home-editorial .ec-hero-scroll { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  body.ec-home-editorial .ec-hero-slide-bg,
  body.ec-home-editorial .ec-hero-slide-content { animation: none; }
}
