/*
Theme Name: Ever Wear
Theme URI: https://www.everwear.com.ar
Author: Ever Wear S.A.
Description: Theme institucional Ever Wear — 50 anios de industria argentina. Hidraulica, mecanica y neumatica.
Version: 1.0.0
Text Domain: everwear
*/

:root {
  --ew-bg: #0d0d0d;
  --ew-bg-2: #161616;
  --ew-bg-3: #080808;
  --ew-yellow: #FFC400;
  --ew-yellow-hover: #ffd84d;
  --ew-display: 'Oswald', sans-serif;
  --ew-body: 'Inter', sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--ew-bg);
  color: #fff;
  font-family: var(--ew-body);
  -webkit-font-smoothing: antialiased;
}

a { color: var(--ew-yellow); }
a:hover { color: var(--ew-yellow-hover); }
::selection { background: var(--ew-yellow); color: var(--ew-bg); }

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

.ew-page { background: var(--ew-bg); color: #fff; overflow-x: hidden; }

.ew-accent { color: var(--ew-yellow); }

/* Buttons */
.ew-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: .03em;
  text-transform: uppercase;
  padding: 17px 30px;
  border: 1px solid transparent;
  cursor: pointer;
  font-family: var(--ew-display);
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.ew-btn-sm { padding: 10px 16px; font-size: 13px; }
.ew-btn-primary { background: var(--ew-yellow); color: var(--ew-bg); }
.ew-btn-primary:hover { background: var(--ew-yellow-hover); color: var(--ew-bg); }
.ew-btn-ghost { background: rgba(255,255,255,.06); color: #fff; border-color: rgba(255,255,255,.22); }
.ew-btn-ghost:hover { background: rgba(255,255,255,.12); color: #fff; }
.ew-btn-outline { color: #fff; border-color: rgba(255,255,255,.25); padding: 14px 24px; white-space: nowrap; }
.ew-btn-outline:hover { color: #fff; border-color: var(--ew-yellow); }
.ew-btn-dark { background: var(--ew-bg); color: var(--ew-yellow); justify-content: center; }
.ew-btn-dark:hover { background: #1a1a1a; color: var(--ew-yellow); }
.ew-btn-outline-dark { background: transparent; color: var(--ew-bg); border-color: rgba(0,0,0,.35); justify-content: center; }
.ew-btn-outline-dark:hover { background: rgba(0,0,0,.08); color: var(--ew-bg); }

/* Eyebrow */
.ew-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.ew-eyebrow-center { justify-content: center; margin-bottom: 18px; }
.ew-eyebrow-mb { margin-bottom: 40px; }
.ew-eyebrow-line { width: 34px; height: 2px; background: var(--ew-yellow); display: block; flex: none; }
.ew-eyebrow-text { color: var(--ew-yellow); font-family: var(--ew-display); font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }

h1, h2 {
  font-family: var(--ew-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: -.01em;
  margin: 0;
}

/* Reveal animation */
[data-reveal] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .8s ease, transform .8s ease;
}
[data-reveal].is-visible { opacity: 1; transform: none; }

/* NAV */
.ew-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 32px;
  background: rgba(13,13,13,.9);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,.09);
}
.ew-nav-logo { display: flex; align-items: center; flex: none; }
.ew-nav-logo img { height: 32px; width: auto; }
.ew-nav-50 { display: flex; align-items: center; flex: none; margin-left: 4px; }
.ew-nav-50 img { height: 46px; width: auto; }
.ew-nav-links { display: flex; align-items: center; gap: 18px; flex: 1; justify-content: center; min-width: 0; }
.ew-nav-links a {
  color: rgba(255,255,255,.82); text-decoration: none; font-family: var(--ew-display);
  font-size: 13px; font-weight: 500; text-transform: uppercase; letter-spacing: .04em; flex: none;
}
.ew-nav-links a:hover { color: var(--ew-yellow); }
.ew-menu { display: flex; align-items: center; gap: 18px; list-style: none; margin: 0; padding: 0; }
.ew-menu li { list-style: none; position: relative; }
.ew-menu .menu-item-has-children > a::after { content: '\25BE'; font-size: 9px; margin-left: 6px; opacity: .65; }
.ew-menu .sub-menu {
  display: none;
  position: absolute; top: 100%; left: 0;
  min-width: 200px; margin: 0; padding: 20px 0 10px;
  list-style: none;
  background: rgba(13,13,13,.98);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 4px;
  z-index: 60;
}
.ew-menu .menu-item-has-children:hover > .sub-menu,
.ew-menu .menu-item-has-children:focus-within > .sub-menu { display: block; }
.ew-menu .sub-menu li { width: 100%; }
.ew-menu .sub-menu a { display: block; padding: 9px 20px; white-space: nowrap; }
.ew-nav-actions { display: flex; align-items: center; gap: 12px; flex: none; }
.ew-nav-muted { color: rgba(255,255,255,.6); text-decoration: none; font-size: 12px; }
.ew-nav-toggle { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 32px; height: 32px; background: none; border: none; cursor: pointer; padding: 0; flex: none; }
.ew-nav-toggle span { display: block; height: 2px; width: 100%; background: #fff; }
.ew-nav-mobile { display: none; flex-direction: column; padding: 8px 32px 28px; background: rgba(13,13,13,.98); border-bottom: 1px solid rgba(255,255,255,.09); position: sticky; top: 63px; z-index: 49; }
.ew-nav-mobile a { color: rgba(255,255,255,.88); text-decoration: none; font-family: var(--ew-display); font-size: 16px; font-weight: 500; letter-spacing: .02em; padding: 16px 0; }
.ew-nav-mobile .ew-btn { justify-content: center; }
.ew-nav-mobile.is-open { display: flex; }
.ew-menu-mobile { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.ew-menu-mobile > li { list-style: none; border-bottom: 1px solid rgba(255,255,255,.08); }
.ew-menu-mobile > li > a { display: block; }
.ew-menu-mobile .menu-item-has-children > a::after { content: '\25BE'; float: right; font-size: 11px; opacity: .5; line-height: 1.6; }
.ew-menu-mobile .sub-menu { list-style: none; margin: -4px 0 14px; padding: 0 0 0 18px; border-left: 2px solid var(--ew-yellow); }
.ew-menu-mobile .sub-menu a { display: block; padding: 12px 0; font-family: var(--ew-body); font-size: 14px; font-weight: 400; color: rgba(255,255,255,.6); }
.ew-menu-mobile .sub-menu a:hover { color: var(--ew-yellow); }
.ew-nav-mobile-secondary { display: flex; flex-direction: column; margin-top: 8px; padding-top: 14px; }
.ew-nav-mobile-secondary a:first-child { color: rgba(255,255,255,.55); font-size: 14px; padding: 8px 0 16px; }

/* HERO */
.ew-hero {
  position: relative;
  min-height: 92vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 56px 0;
  border-bottom: 1px solid rgba(255,255,255,.09);
}
.ew-hero-bg { position: absolute; top: 0; left: 0; right: 0; height: 92vh; z-index: 0; overflow: hidden; }
.ew-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.ew-hero-video-carousel,
.ew-hero-video-slide { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.ew-hero-video-slide { opacity: 0; visibility: hidden; transition: opacity 1s ease, visibility 1s ease; }
.ew-hero-video-slide.is-active { opacity: 1; visibility: visible; }
.ew-hero-video-slide iframe {
  position: absolute; top: 50%; left: 50%;
  width: 177.78vh; height: 56.25vw; /* 16:9, scaled to always cover the box */
  min-width: 100%; min-height: 100%;
  transform: translate(-50%, -50%);
  border: 0;
}
.ew-hero-video-slide video,
.ew-hero-video-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ew-hero-video-nav { position: absolute; z-index: 3; right: 24px; top: 50%; display: flex; flex-direction: column; gap: 10px; transform: translateY(-50%); }
.ew-hero-video-nav button { width: 10px; height: 10px; padding: 0; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; background: rgba(13,13,13,.3); cursor: pointer; transition: background .25s ease, transform .25s ease; }
.ew-hero-video-nav button:hover { transform: scale(1.2); }
.ew-hero-video-nav button.is-active { background: var(--ew-yellow); border-color: var(--ew-yellow); }
.ew-hero-gradient {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(13,13,13,.78) 0%, rgba(13,13,13,.55) 40%, rgba(13,13,13,.92) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='80'%3E%3Cpath d='M0 60 L70 5 L140 60 L140 80 L70 25 L0 80 Z' fill='%23FFC400' fill-opacity='0.14'/%3E%3C/svg%3E");
  background-repeat: no-repeat, repeat-y;
  background-position: 0 0, right -20px top 0px;
  background-size: 100% 100%, 160px 90px;
  animation: ew-hero-arrows-marquee 6s linear infinite;
}
@keyframes ew-hero-arrows-marquee {
  from { background-position: 0 0, right -20px top 0px; }
  to   { background-position: 0 0, right -20px top -90px; }
}
@media (prefers-reduced-motion: reduce) {
  .ew-hero-gradient { animation: none; }
  .ew-hero-video-slide { transition: none; }
}
.ew-hero-content { position: relative; z-index: 1; max-width: 1000px; padding: 150px 0 56px; }
.ew-hero-50 { height: 108px; width: auto; margin-bottom: 28px; }
.ew-hero-content h1 { font-size: clamp(36px, 4.8vw, 64px); line-height: 1; color: #fff; margin: 0 0 26px; max-width: 900px; }
.ew-hero-lead { font-size: 19px; line-height: 1.6; color: rgba(255,255,255,.78); max-width: 600px; margin: 0 0 38px; }
.ew-hero-actions { display: flex; gap: 16px; flex-wrap: wrap; }
.ew-hero-strip {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(255,255,255,.14);
  transition-delay: .15s;
}
.ew-hero-feature { display: flex; align-items: flex-start; gap: 16px; padding: 30px 32px 34px; border-right: 1px solid rgba(255,255,255,.14); }
.ew-hero-feature:last-child { border-right: none; }
.ew-num { color: var(--ew-yellow); font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; flex: none; }
.ew-hero-feature span:last-child { font-size: 16px; font-weight: 500; color: rgba(255,255,255,.9); line-height: 1.35; }

/* STATS */
.ew-stats { display: grid; grid-template-columns: repeat(5, 1fr); background: var(--ew-yellow); }
.ew-stat { padding: 34px 20px; text-align: center; border-right: 1px solid rgba(0,0,0,.12); }
.ew-stat:last-child { border-right: none; }
.ew-stat-value { font-family: var(--ew-display); text-transform: uppercase; font-size: 40px; font-weight: 600; color: var(--ew-bg); line-height: 1; }
.ew-stat-label { font-size: 13px; font-weight: 500; color: rgba(0,0,0,.65); margin-top: 8px; text-transform: uppercase; letter-spacing: .05em; }

/* ABOUT */
.ew-about { padding: 110px 56px; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.ew-about-media { position: relative; }
.ew-about-corner { position: absolute; top: -18px; left: -18px; width: 70px; height: 70px; z-index: 2; }
.ew-about-corner::before { content: ''; position: absolute; bottom: 0; left: 0; width: 42px; height: 70px; background: var(--ew-yellow); }
.ew-about-corner::after { content: ''; position: absolute; top: 0; right: 0; width: 28px; height: 30px; background: var(--ew-yellow); }
.ew-about-img { aspect-ratio: 4/5; position: relative; z-index: 1; overflow: hidden; }
.ew-about-img img { width: 100%; height: 100%; object-fit: cover; }
.ew-about-img--context { aspect-ratio: auto; }
.ew-about-img--context img { height: auto; object-fit: contain; }
.ew-about-badge {
  position: absolute; right: -16px; bottom: 36px; z-index: 3;
  background: var(--ew-yellow); color: var(--ew-bg); padding: 22px 26px; max-width: 190px;
}
.ew-about-badge-num { font-family: var(--ew-display); text-transform: uppercase; font-size: 46px; font-weight: 600; line-height: 1; }
.ew-about-badge-label { font-size: 14px; font-weight: 600; line-height: 1.25; margin-top: 4px; }
.ew-about-copy h2 { font-size: clamp(32px, 3.6vw, 46px); line-height: 1.08; margin: 0 0 22px; }
.ew-about-copy > p { color: rgba(255,255,255,.72); font-size: 16.5px; line-height: 1.65; margin: 0 0 30px; max-width: 520px; }
.ew-checklist { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 28px; margin-bottom: 36px; }
.ew-check-item { display: flex; align-items: center; gap: 12px; }
.ew-check-mark {
  flex: none; width: 24px; height: 24px; border-radius: 50%;
  background: var(--ew-yellow); color: var(--ew-bg);
  display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700;
}
.ew-check-item span:last-child { font-size: 15px; font-weight: 500; color: rgba(255,255,255,.9); }

/* Trust seals (Producción propia / Producción a medida) */
.ew-seal-row { display: flex; gap: 14px; flex-wrap: wrap; }
.ew-seal {
  display: flex; align-items: center; gap: 10px;
  border: 1px solid rgba(255,255,255,.18); border-radius: 999px;
  padding: 8px 16px 8px 8px; background: rgba(255,255,255,.03);
}
.ew-seal-icon {
  flex: none; width: 30px; height: 30px; border-radius: 50%;
  background: var(--ew-yellow); color: var(--ew-bg);
  display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700;
}
.ew-seal-label { font-family: var(--ew-display); font-size: 11.5px; font-weight: 500; text-transform: uppercase; letter-spacing: .04em; line-height: 1.25; color: rgba(255,255,255,.85); }

/* Generic section */
.ew-section { padding: 0 56px 110px; }
.ew-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 48px; flex-wrap: wrap; }
.ew-section-head h2 { font-size: clamp(32px, 3.6vw, 46px); line-height: 1.08; margin: 0; max-width: 640px; }

.ew-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.ew-contact-grid { grid-template-columns: 2fr 1fr; gap: 56px; }
.ew-contact-main { padding-top: 88px; }

/* Equipo — organigrama de áreas */
.ew-org-section { overflow: hidden; }
.ew-org-head { max-width: 760px; margin: 0 auto 54px; text-align: center; }
.ew-org-head .ew-eyebrow { justify-content: center; }
.ew-org-head h2 { font-size: clamp(31px, 3.8vw, 48px); line-height: 1.08; margin: 0 0 16px; }
.ew-org-head > p { max-width: 580px; color: rgba(255,255,255,.62); font-size: 15.5px; line-height: 1.65; margin: 0 auto; }
.ew-org-chart { max-width: 1120px; margin: 0 auto; }
.ew-org-card { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 178px; padding: 28px 24px; color: #111; text-align: center; background: var(--ew-yellow); border: 1px solid var(--ew-yellow); border-radius: 22px; transition: transform .25s ease, box-shadow .25s ease; transition-delay: calc(var(--ew-card-index, 0) * 45ms); }
.ew-org-card:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(0,0,0,.28); }
.ew-org-card h3 { max-width: 100%; font-family: var(--ew-display); font-size: clamp(20px, 2vw, 27px); font-weight: 600; line-height: 1.12; text-transform: uppercase; margin: 0; overflow-wrap: anywhere; }
.ew-org-card p { max-width: 300px; color: rgba(0,0,0,.66); font-size: 13px; line-height: 1.45; margin: 10px 0 0; }
.ew-org-card a { color: #111; font-size: 13.5px; font-weight: 600; line-height: 1.45; margin-top: 8px; overflow-wrap: anywhere; text-decoration-color: rgba(0,0,0,.45); text-underline-offset: 3px; }
.ew-org-card a:hover, .ew-org-card a:focus-visible { text-decoration-thickness: 2px; outline: none; }
.ew-org-card--direction { width: min(100%, 350px); min-height: 150px; margin: 0 auto; }
.ew-org-card--direction h3 { font-size: clamp(24px, 2.5vw, 28px); }
.ew-org-branches { position: relative; padding-top: 34px; }
.ew-org-branches--no-direction { padding-top: 0; }
.ew-org-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.ew-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.ew-industria-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-bottom: 60px; }
.ew-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; background: rgba(255,255,255,.09); }

/* Bento grid — Nuestras líneas (primeras 2 tiles grandes, el resto chicas) */
.ew-bento { display: grid; grid-template-columns: repeat(8, 1fr); gap: 22px; }
.ew-bento-big { grid-column: span 4; }
.ew-bento-big .ew-card-media { aspect-ratio: 16/12; }
.ew-bento-small { grid-column: span 2; }
.ew-bento-small .ew-card-title { font-size: 18px; }

/* Cards (lineas / conocimiento) */
.ew-card {
  position: relative; text-decoration: none; color: #fff; display: block; overflow: hidden;
  background: var(--ew-bg-2); border: 1px solid rgba(255,255,255,.08);
}
.ew-card-media { position: relative; aspect-ratio: 16/10; overflow: hidden; }
.ew-card-img { position: absolute; inset: 0; transition: transform .6s ease; }
.ew-card-img img { width: 100%; height: 100%; object-fit: cover; }
.ew-line-card:hover .ew-card-img { transform: scale(1.06); }
.ew-card-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,13,13,.1), rgba(13,13,13,.75)); pointer-events: none; }
.ew-card-tag {
  position: absolute; top: 16px; left: 16px; background: rgba(13,13,13,.7); color: var(--ew-yellow);
  font-size: 11.5px; font-weight: 600; padding: 5px 10px; letter-spacing: .05em;
}
.ew-card-body { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 24px; }
.ew-card-title { font-size: 21px; font-weight: 600; margin-bottom: 5px; }
.ew-card-desc { font-size: 13.5px; color: rgba(255,255,255,.58); line-height: 1.4; }
.ew-arrow {
  flex: none; width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255,255,255,.25);
  display: flex; align-items: center; justify-content: center; font-size: 17px; transition: all .3s ease;
}
.ew-line-card:hover .ew-arrow { background: var(--ew-yellow); color: var(--ew-bg); border-color: var(--ew-yellow); }

.ew-card-media-plain { aspect-ratio: 16/10; overflow: hidden; position: relative; }
.ew-card-body-stack { display: block; padding: 24px; }
.ew-card-kicker { font-size: 12px; color: var(--ew-yellow); font-weight: 600; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 12px; }
.ew-card-kicker-muted { color: rgba(255,255,255,.5); }
.ew-card-body-stack .ew-card-title { font-family: var(--ew-display); text-transform: uppercase; font-weight: 600; font-size: 21px; line-height: 1.3; }
.ew-card-excerpt { font-size: 14.5px; color: rgba(255,255,255,.6); line-height: 1.55; }
.ew-card-readmore { color: var(--ew-yellow); font-size: 14px; font-weight: 600; margin-top: 4px; }
.ew-card-body-stack .ew-card-title { margin-bottom: 12px; }

/* LINEA INDUSTRIA */
.ew-industria { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.1); }
.ew-industria-bg { position: absolute; inset: 0; z-index: 0; }
.ew-industria-bg img { width: 100%; height: 100%; object-fit: cover; }
.ew-industria-gradient {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(13,13,13,.96) 0%, rgba(13,13,13,.9) 42%, rgba(13,13,13,.4) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='80'%3E%3Cpath d='M0 68 L70 12 L140 68 L140 80 L70 28 L0 80 Z' fill='%23FFC400' fill-opacity='0.1'/%3E%3C/svg%3E");
  background-repeat: no-repeat, repeat-y;
  background-position: 0 0, right top;
  background-size: 100% 100%, 150px 86px;
}
.ew-industria-content { position: relative; z-index: 1; padding: 72px 60px; max-width: 620px; }
.ew-industria-content h2 { font-size: clamp(30px, 3.4vw, 42px); line-height: 1.1; margin: 0 0 20px; }
.ew-industria-content > p { color: rgba(255,255,255,.78); font-size: 16.5px; line-height: 1.65; margin: 0 0 26px; }
.ew-tags { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 32px; }
.ew-tag { font-size: 13px; color: rgba(255,255,255,.85); border: 1px solid rgba(255,255,255,.22); padding: 7px 14px; }

/* PROCESS */
.ew-process-head { text-align: center; max-width: 640px; margin: 0 auto 56px; }
.ew-process-head h2 { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.1; }
.ew-process-card { background: var(--ew-bg); padding: 40px 30px 44px; }
.ew-process-num { font-size: 44px; font-weight: 700; color: rgba(255,255,255,.14); line-height: 1; margin-bottom: 22px; }
.ew-process-title { font-size: 20px; font-weight: 600; margin-bottom: 12px; }
.ew-process-desc { font-size: 14.5px; color: rgba(255,255,255,.62); line-height: 1.55; }

/* CTA */
.ew-cta {
  background-color: var(--ew-yellow); color: var(--ew-bg); padding: 64px 60px;
  display: flex; justify-content: space-between; align-items: center; gap: 40px; flex-wrap: wrap;
  position: relative; overflow: hidden;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='80'%3E%3Cpath d='M0 68 L70 12 L140 68 L140 80 L70 28 L0 80 Z' fill='%23000000' fill-opacity='0.06'/%3E%3C/svg%3E");
  background-repeat: repeat-y;
  background-position: right top;
  background-size: 150px 86px;
}
.ew-cta-copy { max-width: 640px; }
.ew-cta-kicker { font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 14px; color: rgba(0,0,0,.6); }
.ew-cta-copy h2 { font-size: clamp(30px, 3.6vw, 48px); line-height: 1.05; font-weight: 700; }
.ew-cta-actions { display: flex; flex-direction: column; gap: 14px; }

/* Campanas / promos */
.ew-campaign-hero {
  position: relative; min-height: 74vh; padding: 96px 56px 72px;
  display: flex; align-items: flex-end; overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,.09);
  background-color: var(--ew-bg-3);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='80'%3E%3Cpath d='M0 68 L70 12 L140 68 L140 80 L70 28 L0 80 Z' fill='%23FFC400' fill-opacity='0.08'/%3E%3C/svg%3E");
  background-repeat: repeat-y; background-position: right top; background-size: 150px 86px;
}
.ew-campaign-hero--image { background-size: cover; background-position: center; background-repeat: no-repeat; }
.ew-campaign-hero-layout { width: 100%; }
.ew-campaign-hero-content { position: relative; z-index: 1; max-width: 790px; }
.ew-campaign-badge {
  display: inline-flex; margin-bottom: 18px; padding: 8px 12px;
  background: var(--ew-yellow); color: var(--ew-bg);
  font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
.ew-campaign-hero h1 { font-size: clamp(40px, 6vw, 74px); line-height: .98; margin: 0 0 24px; }
.ew-campaign-hero-lead { max-width: 620px; margin: 0; color: rgba(255,255,255,.78); font-size: 18px; line-height: 1.65; }
.ew-campaign-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 34px; }
.ew-campaign-form-section { padding-top: 82px; padding-bottom: 92px; background: #111; border-bottom: 1px solid rgba(255,255,255,.09); }
.ew-campaign-form-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, 520px); gap: clamp(48px, 8vw, 120px); align-items: center; max-width: 1240px; margin: 0 auto; }
.ew-campaign-form-copy { max-width: 580px; }
.ew-campaign-form-copy h2 { font-size: clamp(34px, 4.4vw, 56px); line-height: 1.03; margin: 0 0 20px; }
.ew-campaign-form-copy > p { max-width: 520px; color: rgba(255,255,255,.64); font-size: 16px; line-height: 1.7; margin: 0; }
.ew-campaign-form-box { width: 100%; padding: clamp(28px, 3.4vw, 42px); background: var(--ew-bg-2); border: 1px solid rgba(255,255,255,.12); box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.ew-campaign-form-box .wpforms-container { margin: 0; }
.ew-campaign-form-box .wpforms-field:first-child { padding-top: 0; }
.ew-campaign-form-box .wpforms-submit-container { padding-bottom: 0; }
.ew-campaign-form-box .wpforms-submit { width: 100%; justify-content: center; }
.ew-campaign-form-section + .ew-campaign-highlights { padding-top: 0; }
.ew-campaign-highlights { padding-top: 70px; }
.ew-campaign-highlight-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ew-campaign-highlight {
  min-height: 220px; padding: 30px 28px; background: var(--ew-bg-2);
  border: 1px solid rgba(255,255,255,.1); position: relative; overflow: hidden;
  transition-delay: calc(var(--ew-card-index) * 55ms);
}
.ew-campaign-highlight::before { content: ''; position: absolute; top: 0; left: 0; width: 44px; height: 3px; background: var(--ew-yellow); }
.ew-campaign-highlight-label { color: var(--ew-yellow); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 22px; }
.ew-campaign-highlight h2 { font-size: 28px; line-height: 1.08; margin-bottom: 16px; }
.ew-campaign-highlight p { color: rgba(255,255,255,.62); font-size: 14.5px; line-height: 1.6; margin: 0; }
.ew-campaign-intro { padding-top: 0; }
.ew-campaign-sections { display: grid; gap: 56px; }
.ew-campaign-section {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
  gap: 54px; align-items: center; padding: 44px 0;
  border-top: 1px solid rgba(255,255,255,.09);
}
.ew-campaign-section--left .ew-campaign-section-copy { order: 2; }
.ew-campaign-section--left .ew-campaign-section-media { order: 1; }
.ew-campaign-section-copy h2 { font-size: clamp(30px, 3.4vw, 46px); line-height: 1.08; margin-bottom: 22px; max-width: 640px; }
.ew-campaign-section-copy .ew-prose { max-width: 600px; }
.ew-campaign-section-media { margin: 0; aspect-ratio: 4/3; overflow: hidden; border: 1px solid rgba(255,255,255,.1); background: var(--ew-bg-2); }
.ew-campaign-section-media img { width: 100%; height: 100%; object-fit: cover; }
.ew-campaign-products { padding-top: 20px; }
.ew-campaign-terms { padding-top: 0; padding-bottom: 46px; }
.ew-campaign-terms p {
  max-width: 860px; margin: 0; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.09);
  color: rgba(255,255,255,.45); font-size: 12.5px; line-height: 1.6;
}
.ew-campaign-archive { padding-top: 70px; }

/* JOBS */
.ew-job-card {
  background: var(--ew-bg); text-decoration: none; color: #fff; padding: 44px 34px;
  display: flex; flex-direction: column; gap: 16px; min-height: 210px; justify-content: space-between;
  transition: background .25s ease;
}
.ew-job-card:hover { background: var(--ew-bg-2); }
.ew-job-title { font-size: 23px; font-weight: 600; margin-bottom: 12px; }
.ew-job-desc { font-size: 14.5px; color: rgba(255,255,255,.62); line-height: 1.55; }
.ew-job-cta { color: var(--ew-yellow); font-weight: 600; font-size: 14.5px; }

/* EVER FANs — merch showcase (sin ecommerce) */
.ew-fans-section { padding-top: 76px; }
.ew-fans-head { align-items: flex-start; }
.ew-fans-head > p { max-width: 520px; margin: 4px 0 0; color: rgba(255,255,255,.64); font-size: 15px; line-height: 1.7; }
.ew-merch-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.ew-merch-card { display: flex; flex-direction: column; min-width: 0; background: var(--ew-bg-2); border: 1px solid rgba(255,255,255,.09); overflow: hidden; }
.ew-merch-media { display: block; aspect-ratio: 4/3; position: relative; background: #f2f2f2; text-decoration: none; }
.ew-merch-image { min-width: 0; min-height: 0; overflow: hidden; }
.ew-merch-image, .ew-merch-image-main { width: 100%; height: 100%; }
.ew-merch-image img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .55s ease; }
.ew-merch-card:hover .ew-merch-image-main img { transform: scale(1.02); }
.ew-merch-placeholder { display: grid; place-items: center; background: linear-gradient(135deg,#1b1b1b,#0b0b0b); color: rgba(255,196,0,.3); font-family: var(--ew-display); font-size: clamp(28px,4vw,52px); font-weight: 700; letter-spacing: .06em; }
.ew-merch-badge { position: absolute; top: 12px; left: 12px; z-index: 1; padding: 6px 9px; background: var(--ew-yellow); color: var(--ew-bg); font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.ew-merch-content { display: flex; flex: 1; flex-direction: column; gap: 18px; padding: 20px; align-items: stretch; }
.ew-merch-copy { display: flex; flex: 1; flex-direction: column; align-items: flex-start; }
.ew-merch-copy h3 { margin: 0 0 8px; color: #fff; font-family: var(--ew-display); font-size: 21px; line-height: 1.15; text-transform: uppercase; }
.ew-merch-copy h3 a { color: inherit; text-decoration: none; }
.ew-merch-copy h3 a:hover { color: var(--ew-yellow); }
.ew-merch-price { color: var(--ew-yellow); font-family: var(--ew-display); font-size: 19px; font-weight: 600; margin-bottom: 12px; }
.ew-merch-description { color: rgba(255,255,255,.64); font-size: 13px; line-height: 1.55; margin-bottom: 18px; }
.ew-merch-description p:first-child { margin-top: 0; }
.ew-merch-description p:last-child { margin-bottom: 0; }
.ew-merch-copy .ew-btn { width: 100%; margin-top: auto; justify-content: center; }
.ew-merch-qr { display: grid; grid-template-columns: 76px 1fr; gap: 12px; align-items: center; text-align: left; }
.ew-merch-qr img { width: 76px; height: 76px; object-fit: contain; padding: 5px; background: #fff; }
.ew-merch-qr span { display: block; margin: 0; color: rgba(255,255,255,.48); font-size: 10px; line-height: 1.35; }
.ew-merch-empty { padding: 56px 30px; border: 1px solid rgba(255,255,255,.1); background: var(--ew-bg-2); color: rgba(255,255,255,.64); text-align: center; }

/* EVER FANs — ficha individual */
.ew-merch-single { padding-top: 72px; }
.ew-merch-single-layout { display: grid; grid-template-columns: minmax(0,776px) minmax(300px,1fr); width: 100%; gap: 44px; align-items: start; }
.ew-merch-single-gallery { display: grid; grid-template-columns: 84px minmax(0,680px); justify-content: start; gap: 12px; align-items: start; }
.ew-merch-single-thumbs { display: flex; flex-direction: column; gap: 10px; max-height: 510px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(255,196,0,.65) transparent; }
.ew-merch-single-thumb { display: block; flex: none; width: 100%; aspect-ratio: 1/1; padding: 0; overflow: hidden; border: 2px solid transparent; background: #f2f2f2; cursor: pointer; transition: border-color .2s ease, opacity .2s ease; opacity: .65; }
.ew-merch-single-thumb:hover { opacity: 1; }
.ew-merch-single-thumb.is-active { border-color: var(--ew-yellow); opacity: 1; }
.ew-merch-single-thumb img { width: 100%; height: 100%; object-fit: contain; }
.ew-merch-single-image { margin: 0; aspect-ratio: 1/1; overflow: hidden; background: #f2f2f2; }
.ew-merch-single-image-main { aspect-ratio: 4/3; }
.ew-merch-single-image img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .55s ease; }
.ew-merch-single-image:hover img { transform: scale(1.015); }
.ew-merch-single-info { position: sticky; top: 100px; padding: 34px; background: var(--ew-bg-2); border: 1px solid rgba(255,255,255,.09); }
.ew-merch-single-badge { display: inline-block; margin-bottom: 18px; padding: 7px 11px; background: var(--ew-yellow); color: var(--ew-bg); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.ew-merch-single-price { color: var(--ew-yellow); font-family: var(--ew-display); font-size: 32px; font-weight: 600; line-height: 1; margin-bottom: 24px; }
.ew-merch-single-description { font-size: 14.5px; margin-bottom: 26px; }
.ew-merch-single-description h2 { font-size: 23px; margin-top: 30px; }
.ew-merch-single-cta { width: 100%; justify-content: center; }
.ew-merch-single-qr { display: grid; grid-template-columns: 112px 1fr; gap: 16px; align-items: center; margin-top: 24px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.55); font-size: 12px; line-height: 1.45; }
.ew-merch-single-qr img { width: 112px; height: 112px; padding: 6px; background: #fff; object-fit: contain; }
.ew-merch-back { display: inline-block; margin-top: 28px; color: rgba(255,255,255,.6); font-size: 13px; font-weight: 600; text-decoration: none; }
.ew-merch-back:hover { color: var(--ew-yellow); }

/* FOOTER */
.ew-footer {
  background-color: var(--ew-bg-3); border-top: 1px solid rgba(255,255,255,.09); padding: 74px 56px 34px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='80'%3E%3Cpath d='M0 64 L70 6 L140 64 L140 80 L70 34 L0 80 Z' fill='%23FFC400' fill-opacity='0.05'/%3E%3C/svg%3E");
  background-repeat: repeat-y; background-position: right top;
}
.ew-footer-grid { display: grid; grid-template-columns: 1.5fr repeat(4, 1fr); gap: 44px; margin-bottom: 58px; }
.ew-footer-logo { height: 32px; width: auto; margin-bottom: 20px; }
.ew-footer-brand p { color: rgba(255,255,255,.55); font-size: 14.5px; line-height: 1.65; max-width: 300px; margin: 0 0 24px; }
.ew-footer-50 { height: 92px; width: auto; margin-top: 28px; }
.ew-newsletter { display: flex; gap: 10px; }
.ew-newsletter input {
  background: #141414; border: 1px solid rgba(255,255,255,.15); color: #fff; font-family: inherit;
  font-size: 13.5px; padding: 12px 14px; flex: 1; min-width: 0;
}
.ew-newsletter button {
  background: var(--ew-yellow); color: var(--ew-bg); border: none; font-family: inherit;
  font-weight: 600; font-size: 13.5px; padding: 12px 18px; cursor: pointer;
}
.ew-newsletter button:hover { background: var(--ew-yellow-hover); }
.ew-footer-heading { color: #fff; font-size: 13px; font-weight: 600; margin-bottom: 18px; text-transform: uppercase; letter-spacing: .06em; }
.ew-footer-menu { list-style: none; margin: 0; padding: 0; }
.ew-footer-col a { display: block; color: rgba(255,255,255,.55); text-decoration: none; font-size: 14.5px; margin-bottom: 11px; }
.ew-footer-col a:hover { color: var(--ew-yellow); }
.ew-footer-address { color: rgba(255,255,255,.55); font-size: 14.5px; line-height: 1.6; margin-bottom: 16px; }
.ew-footer-address-link { display: block; text-decoration: none; transition: color .2s ease; }
.ew-footer-address-link:hover { color: var(--ew-yellow); }
.ew-footer-col .ew-footer-address-link { margin-bottom: 16px; }
.ew-footer-bottom {
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px;
  padding-top: 30px; border-top: 1px solid rgba(255,255,255,.09);
}
.ew-footer-copy { color: rgba(255,255,255,.4); font-size: 13px; }
.ew-footer-legal { display: flex; gap: 26px; }
.ew-footer-legal a { color: rgba(255,255,255,.4); text-decoration: none; font-size: 13px; }
.ew-footer-legal a:hover { color: var(--ew-yellow); }

/* WhatsApp FAB */
.ew-whatsapp {
  position: fixed; bottom: 28px; right: 28px; z-index: 60; width: 56px; height: 56px; border-radius: 50%;
  background: var(--ew-yellow); display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 22px rgba(0,0,0,.5); transition: transform .2s ease;
}
.ew-whatsapp:hover { transform: scale(1.06); }

/* Responsive */
@media (max-width: 1024px) {
  .ew-about { grid-template-columns: 1fr; padding: 90px 40px; gap: 60px; }
  .ew-grid-3 { grid-template-columns: repeat(2, 1fr); }
  .ew-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .ew-footer-grid { grid-template-columns: 1fr 1fr; }
  .ew-bento { grid-template-columns: repeat(2, 1fr); }
  .ew-bento-big, .ew-bento-small { grid-column: span 1; }
  .ew-bento-big .ew-card-media { aspect-ratio: 16/10; }
  .ew-industria-grid { grid-template-columns: repeat(2, 1fr); }
  .ew-campaign-highlight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ew-campaign-section { grid-template-columns: 1fr; gap: 30px; }
  .ew-campaign-section--left .ew-campaign-section-copy,
  .ew-campaign-section--left .ew-campaign-section-media { order: initial; }
  .ew-campaign-form-layout { grid-template-columns: minmax(0, 1fr) minmax(340px, 440px); gap: 42px; }
  .ew-org-card { min-height: 160px; }
  .ew-merch-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ew-merch-single-layout { grid-template-columns: 1fr; gap: 32px; }
  .ew-merch-single-info { position: static; }
}

@media (max-width: 860px) {
  .ew-nav-links, .ew-nav-actions .ew-nav-muted, .ew-nav-actions .ew-btn, .ew-nav-50 { display: none; }
  .ew-nav-toggle { display: flex; }
  .ew-nav { padding: 14px 20px; }
  .ew-nav-mobile { padding: 16px 20px 20px; }

  .ew-hero { padding: 0 24px; min-height: 82vh; }
  .ew-hero-bg { height: 82vh; }
  .ew-hero-content { padding: 120px 0 40px; }
  .ew-hero-50 { height: 76px; }
  .ew-hero-strip { grid-template-columns: 1fr; }
  .ew-hero-feature { border-right: none; border-bottom: 1px solid rgba(255,255,255,.14); }
  .ew-hero-feature:last-child { border-bottom: none; }
  .ew-hero-video-nav { top: 108px; right: 18px; transform: none; }

  .ew-stats { grid-template-columns: repeat(2, 1fr); }
  .ew-stat:nth-child(2n) { border-right: none; }
  .ew-stat { border-bottom: 1px solid rgba(0,0,0,.12); }

  .ew-about { padding: 70px 24px; }
  .ew-about-badge { right: 0; bottom: -20px; }

  .ew-section { padding: 0 24px 80px; }
  .ew-campaign-hero { min-height: 68vh; padding: 64px 24px 52px; }
  .ew-campaign-form-section { padding-top: 64px; padding-bottom: 72px; }
  .ew-campaign-form-layout { grid-template-columns: 1fr; gap: 36px; }
  .ew-campaign-form-box { max-width: 620px; }
  .ew-campaign-actions { flex-direction: column; align-items: stretch; }
  .ew-campaign-actions .ew-btn { justify-content: center; }
  .ew-campaign-highlights { padding-top: 56px; }
  .ew-campaign-highlight-grid { grid-template-columns: 1fr; }
  .ew-campaign-section { padding: 34px 0; }
  .ew-grid-3 { grid-template-columns: 1fr; }
  .ew-grid-4 { grid-template-columns: 1fr; }
  .ew-bento { grid-template-columns: 1fr; }
  .ew-contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .ew-contact-main { padding-top: 64px; }
  .ew-org-head { margin-bottom: 40px; }
  .ew-org-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ew-org-branches { padding-top: 28px; }
  .ew-grid-2 { grid-template-columns: 1fr; }
  .ew-industria-grid { grid-template-columns: 1fr; }

  .ew-industria-content { padding: 48px 28px; max-width: 100%; }

  .ew-cta { padding: 48px 28px; flex-direction: column; align-items: flex-start; }
  .ew-cta-actions { width: 100%; }
  .ew-cta-actions .ew-btn { width: 100%; }

  .ew-footer { padding: 56px 24px 28px; }
  .ew-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
}

@media (max-width: 520px) {
	.ew-campaign-hero h1 { font-size: 38px; }
	.ew-campaign-hero-lead { font-size: 16px; }
	.ew-campaign-highlight { min-height: auto; padding: 26px 24px; }
	.ew-campaign-section-media { aspect-ratio: 4/3; }
	.ew-org-grid { grid-template-columns: 1fr; gap: 14px; }
	.ew-org-card { min-height: 140px; padding: 24px 20px; border-radius: 18px; }
	.ew-merch-grid { grid-template-columns: 1fr; }
	.ew-merch-media { aspect-ratio: 4/3; }
	.ew-merch-content { grid-template-columns: 1fr; padding: 24px; }
	.ew-merch-qr { text-align: left; }
	.ew-merch-copy .ew-btn { width: 100%; justify-content: center; }
	.ew-merch-single { padding-top: 40px; }
	.ew-merch-single-gallery { grid-template-columns: 1fr; }
	.ew-merch-single-thumbs { display: grid; grid-auto-flow: column; grid-auto-columns: 72px; max-height: none; overflow-x: auto; overflow-y: hidden; order: 2; padding-bottom: 4px; }
	.ew-merch-single-image-main { grid-row: 1; aspect-ratio: 4/3; }
	.ew-merch-single-info { padding: 24px; }
	.ew-merch-single-qr { grid-template-columns: 96px 1fr; }
	.ew-merch-single-qr img { width: 96px; height: 96px; }
  .ew-stats { grid-template-columns: repeat(2, 1fr); }
  .ew-footer-grid { grid-template-columns: 1fr; }
  .ew-hero-actions { flex-direction: column; align-items: stretch; }
  .ew-hero-actions .ew-btn { justify-content: center; }
}

/* ===== Interior pages ===== */

.ew-nav-links a.is-active { color: var(--ew-yellow); }

.ew-crumb { font-size: 12.5px; color: rgba(255,255,255,.45); margin-bottom: 22px; }
.ew-crumb a { color: rgba(255,255,255,.45); text-decoration: none; }
.ew-crumb a:hover { color: var(--ew-yellow); }

.ew-pagehero { padding: 72px 56px 64px; max-width: 900px; border-bottom: 1px solid rgba(255,255,255,.09); }
.ew-pagehero--background {
  max-width: none;
  min-height: 420px;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center;
}
.ew-pagehero--background .ew-pagehero-content { width: 100%; max-width: 900px; }
.ew-pagehero-title { font-size: clamp(36px, 5vw, 60px); line-height: 1.05; font-weight: 600; margin: 0 0 20px; }
.ew-pagehero-lead { font-size: 18px; line-height: 1.6; color: rgba(255,255,255,.72); max-width: 640px; margin: 0; }

/* Timeline (Nosotros / Historia) */
.ew-timeline { position: relative; padding-left: 40px; border-left: 1px solid rgba(255,255,255,.14); }
.ew-timeline-item { position: relative; padding-bottom: 52px; }
.ew-timeline-item:last-child { padding-bottom: 0; }
.ew-timeline-item::before {
  content: ''; position: absolute; left: -45px; top: 4px; width: 10px; height: 10px; border-radius: 50%;
  background: var(--ew-yellow);
}
.ew-timeline-year { font-family: var(--ew-display); text-transform: uppercase; font-size: 30px; font-weight: 600; color: var(--ew-yellow); margin-bottom: 8px; }
.ew-timeline-title { font-size: 19px; font-weight: 600; margin-bottom: 8px; }
.ew-timeline-desc { font-size: 15px; line-height: 1.6; color: rgba(255,255,255,.65); max-width: 560px; }

/* Team grid */
.ew-team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.ew-team-card { background: var(--ew-bg-2); border: 1px solid rgba(255,255,255,.08); overflow: hidden; }
.ew-team-photo { aspect-ratio: 4/5; overflow: hidden; }
.ew-team-photo img { width: 100%; height: 100%; object-fit: cover; }
.ew-team-info { padding: 18px 20px 22px; }
.ew-team-name { font-size: 16px; font-weight: 600; margin-bottom: 4px; }
.ew-team-role { font-size: 13px; color: var(--ew-yellow); margin-bottom: 10px; }
.ew-team-bio { font-size: 13.5px; color: rgba(255,255,255,.6); line-height: 1.5; }

/* Gallery (Planta) */
.ew-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.ew-gallery-item { position: relative; overflow: hidden; }
.ew-gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.ew-gallery-item:hover img { transform: scale(1.05); }
.ew-gallery-big { grid-column: span 2; grid-row: span 2; aspect-ratio: 1/1; }
.ew-gallery-small { aspect-ratio: 4/5; }

/* Stat row (reused smaller) */
.ew-stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.ew-stat-box { border: 1px solid rgba(255,255,255,.1); padding: 26px 24px; }
.ew-stat-box-num { font-family: var(--ew-display); text-transform: uppercase; font-size: 34px; font-weight: 600; color: var(--ew-yellow); }
.ew-stat-box-label { font-size: 13px; color: rgba(255,255,255,.6); margin-top: 6px; }

/* Interactive map (Federales) */
.ew-federal-heading { text-align: center; margin: 0 auto 36px; }
.ew-map-kicker { color: var(--ew-yellow); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 10px; }
.ew-map-title { font-family: var(--ew-display); font-size: clamp(27px, 3vw, 40px); font-weight: 600; text-transform: uppercase; margin: 0 0 10px; }
.ew-map-desc { font-size: 15px; line-height: 1.6; color: rgba(255,255,255,.6); max-width: 560px; margin: 0 auto; }
.ew-map-layout { display: grid; grid-template-columns: minmax(320px, 1.15fr) minmax(300px, .85fr); min-height: 610px; border: 1px solid rgba(255,255,255,.1); background: var(--ew-bg-2); margin-bottom: 40px; }
.ew-map-canvas { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; padding: 30px; border-right: 1px solid rgba(255,255,255,.1); overflow: hidden; }
.ew-argentina-map { display: block; width: min(100%, 520px); height: 550px; }
.ew-argentina-map path { fill: #343434; stroke: #111; stroke-width: 1.2; vector-effect: non-scaling-stroke; transition: fill .2s ease, opacity .2s ease; }
.ew-argentina-map path.is-available { cursor: pointer; fill: #666; }
.ew-argentina-map path.is-available:hover,
.ew-argentina-map path.is-available:focus,
.ew-argentina-map path.is-active { fill: var(--ew-yellow); outline: none; }
.ew-argentina-map path.is-unavailable { opacity: .34; }
.ew-map-credit { position: absolute; left: 14px; bottom: 10px; color: rgba(255,255,255,.35); font-size: 9px; text-decoration: none; }
.ew-map-contact { display: flex; flex-direction: column; justify-content: center; padding: clamp(30px, 5vw, 70px); background: radial-gradient(circle at 100% 0, rgba(255,211,0,.08), transparent 38%); }
.ew-map-contact-label { color: var(--ew-yellow); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 14px; }
.ew-map-contact-name { font-family: var(--ew-display); font-size: clamp(29px, 3.2vw, 46px); font-weight: 600; line-height: 1.08; text-transform: uppercase; margin: 0 0 18px; }
.ew-map-contact-intro,
.ew-map-contact-empty { color: rgba(255,255,255,.58); font-size: 14px; line-height: 1.65; margin: 0; }
.ew-map-contact-details { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.ew-map-seller-list { display: flex; flex-direction: column; gap: 18px; width: 100%; }
.ew-map-seller-item { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.1); }
.ew-map-seller-item:last-child { padding-bottom: 0; border-bottom: 0; }
.ew-map-contact-seller { font-size: 17px; font-weight: 600; margin-bottom: 4px; }
.ew-map-contact-link { position: relative; color: rgba(255,255,255,.78); font-size: 15px; line-height: 1.4; padding-left: 25px; text-decoration: none; word-break: break-word; }
.ew-map-contact-link::before { position: absolute; left: 0; top: 0; color: var(--ew-yellow); }
.ew-map-contact-phone::before { content: '\260E'; }
.ew-map-contact-email::before { content: '@'; font-weight: 600; }
.ew-map-contact-link:hover { color: var(--ew-yellow); }
.ew-province-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.ew-province { appearance: none; width: 100%; border: 1px solid rgba(255,255,255,.1); background: transparent; padding: 14px 16px; font-family: inherit; font-size: 14px; color: rgba(255,255,255,.82); display: flex; justify-content: space-between; align-items: center; cursor: pointer; text-align: left; transition: border-color .2s ease, background .2s ease, color .2s ease; }
.ew-province:hover, .ew-province:focus-visible, .ew-province.is-active { border-color: var(--ew-yellow); background: rgba(255,211,0,.06); color: #fff; outline: none; }
.ew-province .ew-province-arrow { color: var(--ew-yellow); font-size: 12px; }
.ew-province .ew-province-name { color: inherit; font-size: inherit; }
.ew-commercial-contacts { padding-top: 20px; }
.ew-commercial-contacts-heading { text-align: center; margin: 0 auto 30px; }
.ew-commercial-contacts-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid rgba(255,211,0,.45); border-radius: 18px; overflow: hidden; background: var(--ew-bg-2); }
.ew-commercial-contact-card { min-width: 0; }
.ew-commercial-contact-card + .ew-commercial-contact-card { border-left: 1px solid rgba(255,255,255,.16); }
.ew-commercial-contact-card h3 { margin: 0; padding: 12px 20px; background: #242223; color: #fff; font-family: var(--ew-display); font-size: 17px; font-style: italic; font-weight: 500; }
.ew-commercial-contact-list { display: flex; flex-direction: column; gap: 18px; padding: 18px 20px 22px; }
.ew-commercial-contact-item { display: flex; flex-direction: column; gap: 4px; }
.ew-commercial-contact-item a { width: fit-content; max-width: 100%; color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.35; text-decoration: none; word-break: break-word; }
.ew-commercial-contact-item a:hover { color: var(--ew-yellow); }

/* Product line page */
.ew-line-hero { position: relative; padding: 0 56px; margin-bottom: 90px; }
.ew-line-hero-media { position: relative; aspect-ratio: 21/9; overflow: hidden; border: 1px solid rgba(255,255,255,.1); }
.ew-line-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.ew-line-hero-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(13,13,13,.92), rgba(13,13,13,.15)); }
.ew-line-hero-copy { position: absolute; left: 40px; right: 40px; bottom: 32px; }
.ew-line-hero-copy h1 { font-size: clamp(30px, 4vw, 48px); margin: 0 0 10px; }
.ew-line-hero-copy p { font-size: 15.5px; color: rgba(255,255,255,.75); max-width: 560px; margin: 0; }

.ew-sublines { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 40px; }
.ew-subline {
  border: 1px solid rgba(255,255,255,.15); padding: 10px 18px; font-size: 14px; color: rgba(255,255,255,.85);
  text-decoration: none; transition: border-color .2s ease, color .2s ease;
}
a.ew-subline:hover { border-color: var(--ew-yellow); color: var(--ew-yellow); }

.ew-line-actions { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 0; }

/* Forms */
.ew-form { display: flex; flex-direction: column; gap: 18px; max-width: 640px; }
.ew-field { display: flex; flex-direction: column; gap: 8px; font-size: 13.5px; color: rgba(255,255,255,.7); }
.ew-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ew-field input, .ew-field select, .ew-field textarea {
  background: #141414; border: 1px solid rgba(255,255,255,.15); color: #fff; font-family: inherit;
  font-size: 14.5px; padding: 13px 14px; width: 100%;
}
.ew-field input:focus, .ew-field select:focus, .ew-field textarea:focus { outline: 1px solid var(--ew-yellow); border-color: var(--ew-yellow); }
.ew-field textarea { resize: vertical; }
.ew-form .ew-btn { align-self: flex-start; }

/* WPForms integration */
.ew-wpform {
  width: 100%;
  max-width: 640px;
}

.ew-wpform .wpforms-container {
  margin: 0;
  max-width: 640px;
}

.ew-wpform .wpforms-field-label,
.ew-wpform .wpforms-field-sublabel {
  color: rgba(255,255,255,.72) !important;
  font-family: var(--ew-body) !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
}

.ew-wpform .wpforms-required-label {
  color: var(--ew-yellow) !important;
}

.ew-wpform .wpforms-form input[type="text"],
.ew-wpform .wpforms-form input[type="email"],
.ew-wpform .wpforms-form input[type="tel"],
.ew-wpform .wpforms-form input[type="url"],
.ew-wpform .wpforms-form input[type="number"],
.ew-wpform .wpforms-form select,
.ew-wpform .wpforms-form textarea {
  width: 100% !important;
  max-width: none !important;
  background: #141414 !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  font-family: var(--ew-body) !important;
  font-size: 14.5px !important;
}

.ew-wpform .wpforms-form input[readonly] {
  color: rgba(255,255,255,.68) !important;
  cursor: default;
}

.ew-wpform .wpforms-form select option {
  background-color: #141414 !important;
  color: #fff !important;
}

.ew-wpform .wpforms-form select,
.ew-wpform .wpforms-form select option,
.ew-wpform .wpforms-form select optgroup {
  color-scheme: dark;
}

.ew-wpform .wpforms-form select option:checked {
  background-color: #35312a !important;
  color: #fff !important;
}

.ew-wpform .wpforms-form textarea {
  min-height: 120px;
  resize: vertical;
}

.ew-wpform .wpforms-form input:focus,
.ew-wpform .wpforms-form select:focus,
.ew-wpform .wpforms-form textarea:focus {
  border-color: var(--ew-yellow) !important;
  box-shadow: 0 0 0 1px var(--ew-yellow) !important;
  outline: none !important;
}

.ew-wpform .wpforms-submit {
  min-height: 0 !important;
  padding: 17px 30px !important;
  border: 1px solid transparent !important;
  border-radius: 0 !important;
  background: var(--ew-yellow) !important;
  color: var(--ew-bg) !important;
  font-family: var(--ew-display) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: .03em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

.ew-wpform .wpforms-submit:hover,
.ew-wpform .wpforms-submit:focus {
  background: var(--ew-yellow-hover) !important;
  color: var(--ew-bg) !important;
}

.ew-wpform .wpforms-error,
.ew-wpform label.wpforms-error {
  color: #ff8d8d !important;
}

.ew-wpform--footer {
  margin: 20px 0 24px;
  max-width: 360px;
}

.ew-wpform--footer .wpforms-container {
  max-width: 360px;
}

.ew-wpform--footer .wpforms-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.ew-wpform--footer .wpforms-field-container,
.ew-wpform--footer .wpforms-field {
  min-width: 0;
}

.ew-wpform--footer .wpforms-field {
  padding: 0 !important;
}

.ew-wpform--footer .wpforms-field-label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.ew-wpform--footer .wpforms-form input[type="email"] {
  height: 43px !important;
  padding: 0 13px !important;
}

.ew-wpform--footer .wpforms-submit-container {
  margin: 0 !important;
  padding: 0 !important;
}

.ew-wpform--footer .wpforms-submit {
  height: 43px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  white-space: nowrap;
}

.ew-wpform--footer .wpforms-error-container,
.ew-wpform--footer label.wpforms-error {
  grid-column: 1 / -1;
}

.ew-form-notice {
  color: #ffcf66;
  font-size: 14px;
}

/* Glossary */
.ew-glossary-item { border-bottom: 1px solid rgba(255,255,255,.09); padding: 26px 0; }
.ew-glossary-term { font-size: 19px; font-weight: 600; margin-bottom: 8px; }
.ew-glossary-def { font-size: 15px; color: rgba(255,255,255,.62); line-height: 1.6; max-width: 720px; }

/* Agenda */
.ew-event-single-content { padding-top: 70px; max-width: 720px; }
.ew-agenda-item {
  display: flex; align-items: center; gap: 26px; border: 1px solid rgba(255,255,255,.09);
  padding: 22px 26px; margin-bottom: 14px;
}
.ew-agenda-date { flex: none; text-align: center; min-width: 64px; }
.ew-agenda-day { font-family: var(--ew-display); text-transform: uppercase; font-size: 26px; font-weight: 600; color: var(--ew-yellow); line-height: 1; }
.ew-agenda-month { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.5); margin-top: 4px; }
.ew-agenda-body { flex: 1; }
.ew-agenda-title { font-size: 17px; font-weight: 600; margin-bottom: 4px; }
.ew-agenda-loc { font-size: 13.5px; color: rgba(255,255,255,.5); }

/* Video grid */
.ew-video-card { background: var(--ew-bg-2); border: 1px solid rgba(255,255,255,.08); overflow: hidden; text-decoration: none; color: #fff; display: block; }
.ew-video-thumb { aspect-ratio: 16/9; position: relative; overflow: hidden; }
.ew-video-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ew-video-play {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  background: rgba(13,13,13,.25);
}
.ew-video-play span {
  width: 54px; height: 54px; border-radius: 50%; background: var(--ew-yellow); color: var(--ew-bg);
  display: flex; align-items: center; justify-content: center; font-size: 20px;
}
.ew-video-title { padding: 18px 20px; font-size: 15px; font-weight: 600; }

/* Jobs listing detail */
.ew-jobs-list { display: flex; flex-direction: column; gap: 2px; background: rgba(255,255,255,.09); margin-bottom: 60px; }
.ew-job-listing { background: var(--ew-bg); padding: 26px 30px; display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.ew-job-listing-title { font-size: 17px; font-weight: 600; margin-bottom: 4px; }
.ew-job-listing-meta { font-size: 13px; color: rgba(255,255,255,.5); }

/* Prose */
.ew-prose { max-width: 720px; font-size: 16px; line-height: 1.75; color: rgba(255,255,255,.72); }
.ew-prose h2 { color: #fff; font-size: 26px; margin: 44px 0 16px; }
.ew-prose h2:first-child { margin-top: 0; }
.ew-prose p { margin: 0 0 18px; }
.ew-prose ul { margin: 0 0 18px; padding-left: 20px; }
.ew-prose li { margin-bottom: 8px; }

/* Redirect page */
.ew-redirect { min-height: 60vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 60px 24px; }
.ew-redirect-spinner {
  width: 40px; height: 40px; border-radius: 50%; border: 3px solid rgba(255,255,255,.15); border-top-color: var(--ew-yellow);
  animation: ew-spin 0.9s linear infinite; margin-bottom: 24px;
}
@keyframes ew-spin { to { transform: rotate(360deg); } }

/* Thank-you / form conversion page */
.ew-thanks { position: relative; isolation: isolate; min-height: calc(100vh - 90px); display: grid; place-items: center; padding: 100px 24px; overflow: hidden; }
.ew-thanks::before { content: ''; position: absolute; z-index: -2; inset: 0; background: linear-gradient(135deg, #0d0d0d 15%, #171717 100%); }
.ew-thanks::after { content: 'EW'; position: absolute; z-index: -1; right: -2vw; bottom: -13vw; color: rgba(255,255,255,.018); font-family: var(--ew-display); font-size: min(42vw, 620px); font-weight: 700; line-height: 1; }
.ew-thanks-glow { position: absolute; z-index: -1; top: 13%; left: 50%; width: 540px; height: 540px; border-radius: 50%; background: rgba(255,211,0,.09); filter: blur(110px); transform: translateX(-50%); pointer-events: none; }
.ew-thanks-card { width: min(100%, 760px); padding: clamp(38px, 6vw, 76px); text-align: center; background: rgba(18,18,18,.88); border: 1px solid rgba(255,255,255,.11); box-shadow: 0 30px 90px rgba(0,0,0,.32); backdrop-filter: blur(14px); }
.ew-thanks-check { width: 86px; height: 86px; display: grid; place-items: center; margin: 0 auto 28px; color: #111; background: var(--ew-yellow); border-radius: 50%; box-shadow: 0 0 0 10px rgba(255,211,0,.08); }
.ew-thanks-check svg { width: 50px; height: 50px; fill: none; stroke: currentColor; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.ew-thanks-eyebrow { color: var(--ew-yellow); font-size: 11px; font-weight: 600; letter-spacing: .17em; text-transform: uppercase; margin-bottom: 14px; }
.ew-thanks h1 { max-width: 620px; font-size: clamp(38px, 6vw, 68px); line-height: .98; margin: 0 auto 22px; }
.ew-thanks-message { max-width: 580px; color: rgba(255,255,255,.68); font-size: clamp(15px, 1.7vw, 18px); line-height: 1.65; margin: 0 auto; }
.ew-thanks-time { display: flex; align-items: center; justify-content: center; gap: 9px; color: rgba(255,255,255,.5); font-size: 12.5px; margin-top: 24px; }
.ew-thanks-time span { color: var(--ew-yellow); font-size: 8px; }
.ew-thanks-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-top: 36px; }

@media (max-width: 1024px) {
  .ew-team-grid { grid-template-columns: repeat(2, 1fr); }
  .ew-gallery { grid-template-columns: repeat(2, 1fr); }
  .ew-gallery-big { grid-column: span 2; grid-row: span 1; aspect-ratio: 16/9; }
  .ew-stat-row { grid-template-columns: repeat(2, 1fr); }
  .ew-province-list { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 860px) {
  .ew-pagehero { padding: 48px 24px 40px; }
  .ew-line-hero { padding: 0 24px; margin-bottom: 60px; }
  .ew-line-hero-copy { left: 20px; right: 20px; bottom: 20px; }
  .ew-field-row { grid-template-columns: 1fr; }
  .ew-job-listing { flex-direction: column; align-items: flex-start; }
  .ew-map-layout { grid-template-columns: 1fr; }
  .ew-map-canvas { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
  .ew-map-contact { min-height: 300px; }
  .ew-commercial-contacts-grid { grid-template-columns: 1fr; }
  .ew-commercial-contact-card + .ew-commercial-contact-card { border-left: 0; border-top: 1px solid rgba(255,255,255,.16); }
}

@media (max-width: 520px) {
  .ew-team-grid { grid-template-columns: 1fr; }
  .ew-gallery { grid-template-columns: 1fr; }
  .ew-gallery-big { grid-column: span 1; }
  .ew-stat-row { grid-template-columns: 1fr; }
  .ew-province-list { grid-template-columns: 1fr; }
  .ew-map-layout { min-height: 0; }
  .ew-map-canvas { padding: 18px 6px; }
  .ew-argentina-map { height: 440px; }
  .ew-map-contact { min-height: 260px; padding: 30px 24px; }
  .ew-thanks { min-height: 78vh; padding: 64px 18px; }
  .ew-thanks-card { padding: 38px 22px; }
  .ew-thanks-check { width: 72px; height: 72px; }
  .ew-thanks-actions { flex-direction: column; }
  .ew-thanks-actions .ew-btn { width: 100%; justify-content: center; }
  .ew-wpform--footer .wpforms-form { grid-template-columns: 1fr; gap: 8px; }
  .ew-wpform--footer .wpforms-submit { width: 100%; }
}
