/* ==========================================================================
   Brandhaus static homepage reference
   Convert to WordPress:
   - Move this file into theme style.css or enqueue as /assets/css/main.css.
   - Preserve CSS custom properties as theme design tokens.
   - Split sections into template-parts/sections/*.php.
   ========================================================================== */

:root {
  --color-black: #050505;
  --color-charcoal: #111111;
  --color-charcoal-2: #191919;
  --color-white: #ffffff;
  --color-offwhite: #f5f3f0;
  --color-text: #171717;
  --color-muted: #5e5e5e;
  --color-lime: #9ee600;
  --color-lime-dark: #7bb900;
  --container: 1300px;
  --radius: 14px;
  --shadow: 0 24px 60px rgba(0, 0, 0, .26);
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font-sans);
  color: var(--color-text);
  background: var(--color-black);
}

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

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

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

.section-dark {
  color: var(--color-white);
  background:
    radial-gradient(circle at 72% 34%, rgba(158,230,0,.11), transparent 30%),
    radial-gradient(circle at 8% 15%, rgba(255,255,255,.055), transparent 26%),
    linear-gradient(135deg, #050505, #121212 48%, #060606);
}

.eyebrow {
  margin: 0 0 18px;
  color: var(--color-lime);
  font-size: clamp(.72rem, .64rem + .25vw, .85rem);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.eyebrow-dark {
  color: #0c0c0c;
}

h1, h2, h3, p {
  margin-top: 0;
}

h1, h2, h3 {
  line-height: .94;
  letter-spacing: -.055em;
  text-transform: uppercase;
}

p {
  line-height: 1.72;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 54px;
  padding: 0 28px;
  border-radius: 5px;
  border: 1px solid transparent;
  font-size: .78rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .01em;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.btn:hover {
  transform: translateY(-2px);
}

.btn-primary {
  color: #050505;
  background: var(--color-lime);
  box-shadow: 0 12px 28px rgba(158,230,0,.22);
}

.btn-outline {
  color: var(--color-white);
  border-color: rgba(255,255,255,.7);
  background: rgba(255,255,255,.03);
}

.btn-dark {
  color: var(--color-white);
  background: var(--color-black);
  border-color: var(--color-black);
}

.centered {
  display: flex;
  justify-content: center;
}


.nav-toggle,
.nav-toggle-label {
  display: none;
}

.nav-toggle {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.nav-toggle-label {
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
  border: 1px solid rgba(158,230,0,.75);
  border-radius: 6px;
  cursor: pointer;
}

.nav-toggle-label span {
  width: 20px;
  height: 2px;
  border-radius: 999px;
  background: var(--color-white);
  transition: transform .2s ease, opacity .2s ease;
}

.nav-toggle:focus-visible + .nav-toggle-label {
  outline: 2px solid var(--color-lime);
  outline-offset: 4px;
}

.nav-toggle:checked + .nav-toggle-label span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}

.nav-toggle:checked + .nav-toggle-label span:nth-child(2) {
  opacity: 0;
}

.nav-toggle:checked + .nav-toggle-label span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

/* Header */

.site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 30;
  padding-top: 30px;
  color: var(--color-white);
}

.header-inner {
  display: grid;
  grid-template-columns: 150px 1fr auto;
  align-items: center;
  gap: 34px;
}

.brand img {
  width: 118px;
}

.main-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(20px, 3vw, 46px);
}

.main-nav a {
  position: relative;
  padding: 14px 0;
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.main-nav a.is-active {
  color: var(--color-lime);
}

.main-nav a.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 34px;
  height: 3px;
  background: var(--color-lime);
}

.header-cta {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  padding: 18px 20px;
  border: 1px solid var(--color-lime);
  border-radius: 5px;
  color: var(--color-white);
  font-size: .76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.wa-icon {
  color: var(--color-lime);
  font-size: 1.15rem;
}

/* Hero */

.hero {
  position: relative;
  min-height: 860px;
  overflow: hidden;
  padding: 185px 0 80px;
}

.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: rgba(255,255,255,.16);
}

.hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(380px, 520px) 1fr;
  align-items: center;
  gap: 32px;
}

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

.hero h1 {
  max-width: 720px;
  margin-bottom: 28px;
  color: var(--color-white);
  font-size: clamp(4.2rem, 7.3vw, 7.8rem);
  font-weight: 1000;
}

.hero h1 span {
  display: block;
  color: var(--color-lime);
}

.hero p {
  width: min(100%, 370px);
  margin-bottom: 42px;
  color: rgba(255,255,255,.9);
  font-size: 1.08rem;
}

.button-row {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.hero-art {
  margin-right: -7vw;
}

.hero-art img {
  width: min(890px, 58vw);
  filter: drop-shadow(0 40px 70px rgba(0,0,0,.58));
}

.scroll-cue {
  position: absolute;
  left: 50%;
  bottom: 42px;
  z-index: 5;
  transform: translateX(-50%);
  display: grid;
  justify-items: center;
  gap: 8px;
  color: var(--color-white);
  opacity: .88;
}

.mouse {
  width: 20px;
  height: 38px;
  border: 2px solid currentColor;
  border-radius: 999px;
  position: relative;
}

.mouse::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 50%;
  width: 4px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
  transform: translateX(-50%);
}

.chevron {
  color: var(--color-white);
  font-size: 1.2rem;
}

/* About */

.about {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--color-offwhite);
}

.about-copy {
  width: min(620px, calc(100% - 72px));
  margin-left: max(32px, calc((100vw - var(--container)) / 2));
  padding: 84px 0 82px;
}

.about h2 {
  max-width: 560px;
  margin-bottom: 28px;
  font-size: clamp(2.35rem, 4vw, 4rem);
  font-weight: 1000;
}

.about h2 span {
  display: block;
  color: var(--color-lime-dark);
}

.about p:not(.eyebrow) {
  max-width: 540px;
  margin-bottom: 32px;
  font-size: 1rem;
  color: #181818;
}

.about-image {
  min-height: 440px;
  overflow: hidden;
}

.about-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Services */

.services {
  padding: 78px 0 78px;
  background:
    radial-gradient(circle at 42% 26%, rgba(255,255,255,.3), transparent 22%),
    linear-gradient(135deg, #93db00, #a8ec11 52%, #8ad100);
  color: #0a0a0a;
}

.services h2 {
  max-width: 760px;
  margin-bottom: 36px;
  font-size: clamp(2.6rem, 4.3vw, 4.5rem);
  font-weight: 1000;
}

.services h2 span {
  display: block;
}

.service-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin-bottom: 36px;
}

.service-card {
  display: flex;
  min-height: 272px;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 38px 22px 24px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 8px;
  text-align: center;
  background: rgba(255,255,255,.045);
  transition: transform .2s ease, background .2s ease;
}

.service-card:hover {
  transform: translateY(-4px);
  background: rgba(255,255,255,.12);
}

.service-icon {
  min-height: 54px;
  margin-bottom: 16px;
  font-size: 3rem;
  line-height: 1;
}

.service-card h3 {
  max-width: 170px;
  min-height: 58px;
  margin-bottom: 18px;
  font-size: 1.15rem;
  font-weight: 1000;
}

.service-card p {
  margin-bottom: 16px;
  font-size: .86rem;
  line-height: 1.55;
  color: #111;
}

.service-card a {
  margin-top: auto;
  font-size: 1.3rem;
  font-weight: 1000;
}

/* Work */

.work {
  padding: 70px 0 72px;
  background: #f7f7f6;
  overflow: hidden;
}

.work h2 {
  margin-bottom: 28px;
  font-size: clamp(2.2rem, 3.8vw, 3.85rem);
  font-weight: 1000;
}

.work h2 span {
  color: var(--color-lime-dark);
}

.slider-wrap {
  position: relative;
  margin-bottom: 36px;
}

.project-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}

.project-card {
  overflow: hidden;
  border-radius: 9px;
  box-shadow: 0 12px 30px rgba(0,0,0,.12);
  background: #ddd;
}

.project-card img {
  width: 100%;
}

.slider-arrow {
  position: absolute;
  top: 50%;
  z-index: 5;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: #050505;
  transform: translateY(-50%);
  font-size: 1.3rem;
  font-weight: 900;
  cursor: pointer;
}

.slider-arrow.left {
  left: -58px;
}

.slider-arrow.right {
  right: -58px;
}

/* Stats */

.stats {
  padding: 60px 0;
}

.stats-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1.45fr;
  gap: 0;
}

.stat {
  display: grid;
  place-items: center;
  min-height: 150px;
  padding: 16px 34px;
  text-align: center;
  border-right: 1px solid rgba(158,230,0,.65);
}

.stat:last-child {
  border-right: 0;
}

.stat strong {
  display: block;
  margin-bottom: 18px;
  color: var(--color-lime);
  font-size: clamp(2.7rem, 5vw, 4.1rem);
  font-weight: 1000;
  line-height: .9;
  text-transform: uppercase;
}

.stat-wide strong {
  font-size: clamp(1.9rem, 3.2vw, 3rem);
}

.stat span {
  color: #fff;
  font-size: clamp(1.02rem, 1.5vw, 1.35rem);
  font-weight: 800;
  line-height: 1.45;
  text-transform: uppercase;
}

/* CTA */

.cta {
  padding: 28px 0;
  background: #0b0b0b;
}

.cta-panel {
  position: relative;
  display: grid;
  grid-template-columns: 1.35fr .75fr;
  align-items: center;
  min-height: 245px;
  overflow: hidden;
  border-radius: 7px;
  background:
    radial-gradient(circle at 93% 62%, rgba(158,230,0,.2), transparent 24%),
    linear-gradient(90deg, #f4f4f2, #fbfbfa 64%, #eeeeec);
}

.cta-copy {
  padding: 46px 0 46px clamp(40px, 7vw, 116px);
  position: relative;
  z-index: 2;
}

.cta h2 {
  max-width: 730px;
  margin-bottom: 12px;
  font-size: clamp(2.2rem, 4.2vw, 4.5rem);
  font-weight: 1000;
}

.cta h2 span {
  display: block;
  color: var(--color-lime-dark);
}

.cta p {
  margin-bottom: 24px;
  font-size: 1.05rem;
  color: #222;
}

.cta-phone {
  align-self: stretch;
  display: grid;
  place-items: end center;
  padding-right: 32px;
}

.cta-phone img {
  width: min(440px, 100%);
  margin-bottom: -42px;
}

/* Footer */

.site-footer {
  padding: 62px 0 24px;
  color: rgba(255,255,255,.86);
  background:
    radial-gradient(circle at 88% 12%, rgba(255,255,255,.055), transparent 20%),
    linear-gradient(135deg, #151515, #0d0d0d 62%, #191919);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.25fr repeat(4, 1fr);
  gap: clamp(26px, 4vw, 74px);
  padding-bottom: 42px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.footer-brand img {
  width: 120px;
  margin-bottom: 16px;
}

.footer-brand p {
  max-width: 190px;
  margin-bottom: 22px;
  font-size: .94rem;
  line-height: 1.55;
}

.socials {
  display: flex;
  gap: 14px;
}

.socials a {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(255,255,255,.68);
  border-radius: 999px;
  font-size: .8rem;
  font-weight: 800;
}

.footer-col {
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-style: normal;
}

.footer-col h3 {
  margin-bottom: 10px;
  color: #fff;
  font-size: .86rem;
  letter-spacing: 0;
  font-weight: 950;
}

.footer-col a,
.footer-col span {
  color: rgba(255,255,255,.78);
  font-size: .9rem;
  line-height: 1.35;
}

.footer-col a:hover {
  color: var(--color-lime);
}

.footer-contact a,
.footer-contact span {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.copyright {
  padding-top: 22px;
  color: rgba(255,255,255,.72);
  font-size: .82rem;
}

/* Responsive */

@media (max-width: 1120px) {
  .header-inner {
    position: relative;
    grid-template-columns: auto 1fr auto;
  }

  .brand {
    position: relative;
    z-index: 45;
    grid-column: 1;
  }

  .nav-toggle-label {
    position: relative;
    z-index: 45;
    display: flex;
    grid-column: 2;
    justify-self: end;
    margin-right: 10px;
  }

  .header-cta {
    position: relative;
    z-index: 45;
    grid-column: 3;
    justify-self: end;
  }

  .main-nav {
    position: absolute;
    top: calc(100% + 16px);
    left: 0;
    right: 0;
    z-index: 40;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    max-height: calc(100vh - 130px);
    overflow-y: auto;
    padding: 14px;
    border: 1px solid rgba(158,230,0,.34);
    border-radius: 12px;
    background: rgba(5,5,5,.96);
    box-shadow: 0 24px 60px rgba(0,0,0,.48);
    backdrop-filter: blur(14px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  }

  .main-nav a {
    padding: 16px 14px;
    border-bottom: 1px solid rgba(255,255,255,.09);
    font-size: .88rem;
  }

  .main-nav a:last-child {
    border-bottom: 0;
  }

  .main-nav a.is-active::after {
    bottom: 8px;
  }

  .nav-toggle:checked ~ .main-nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

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

  .hero {
    min-height: auto;
    padding-top: 165px;
    padding-bottom: 120px;
  }

  .hero-copy {
    max-width: 760px;
    padding-top: 12px;
  }

  .hero h1 {
    max-width: 760px;
    font-size: clamp(4rem, 10vw, 7rem);
  }

  .hero p {
    width: min(100%, 520px);
  }

  .hero-art {
    margin: 10px auto 0;
  }

  .hero-art img {
    width: min(100%, 820px);
    margin-inline: auto;
  }

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

  .about-copy {
    width: min(calc(100% - 64px), 720px);
    margin-inline: auto;
    padding: 72px 0 64px;
  }

  .about-image {
    min-height: 460px;
  }

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

  .service-card:last-child {
    grid-column: 1 / -1;
    width: min(50%, 100%);
    justify-self: center;
  }

  .project-grid {
    grid-template-columns: repeat(3, 1fr);
  }

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

  .stat {
    padding-inline: 20px;
  }

  .cta-panel {
    grid-template-columns: 1fr .8fr;
  }

  .cta-copy {
    padding-left: 48px;
  }

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

  .slider-arrow {
    display: none;
  }
}

@media (max-width: 900px) {
  .stats-grid {
    grid-template-columns: 1fr;
  }

  .stat {
    border-right: 0;
    border-bottom: 1px solid rgba(158,230,0,.4);
  }

  .stat:last-child {
    border-bottom: 0;
  }

  .cta-panel {
    grid-template-columns: 1fr;
  }

  .cta-copy {
    padding: 42px 34px 12px;
  }

  .cta-phone {
    padding: 0 24px;
  }

  .cta-phone img {
    width: min(360px, 82vw);
    margin: 0 auto -34px;
  }
}

@media (max-width: 760px) {
  .container {
    width: min(calc(100% - 36px), var(--container));
  }

  .site-header {
    padding-top: 18px;
  }

  .header-inner {
    grid-template-columns: auto 1fr;
    gap: 16px;
  }

  .brand img {
    width: 88px;
  }

  .header-cta {
    display: none;
  }

  .nav-toggle-label {
    grid-column: 2;
    margin-right: 0;
  }

  .main-nav {
    top: calc(100% + 12px);
  }

  .hero {
    padding-top: 128px;
  }

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

  .hero p {
    font-size: 1rem;
  }

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

  .btn {
    width: min(100%, 310px);
    min-height: 52px;
  }

  .about-copy {
    width: min(calc(100% - 36px), 620px);
    padding: 58px 0 54px;
  }

  .about-image {
    min-height: 330px;
  }

  .services {
    padding: 58px 0;
  }

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

  .service-card,
  .service-card:last-child {
    grid-column: auto;
    width: 100%;
    min-height: auto;
  }

  .work {
    padding: 56px 0;
  }

  .slider-wrap {
    margin-inline: calc((100vw - 100%) / -2);
    padding-left: 18px;
    overflow: hidden;
  }

  .project-grid {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 0 18px 12px 0;
    scrollbar-width: thin;
  }

  .project-card {
    flex: 0 0 min(78vw, 340px);
    scroll-snap-align: start;
  }

  .cta h2 {
    font-size: clamp(2.1rem, 12vw, 3.6rem);
  }

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

@media (max-width: 420px) {
  .hero h1,
  .services h2,
  .work h2,
  .about h2,
  .cta h2 {
    letter-spacing: -.07em;
  }

  .service-card {
    padding-inline: 18px;
  }

  .footer-grid {
    gap: 30px;
  }
}


/* Internal pages
   These styles support Servicios, Proceso, Productos, Preguntas Frecuentes,
   Brief and Contacto static references. They intentionally share the same
   header/footer system as the homepage so they can become WordPress page
   templates using the global header.php and footer.php.
   ========================================================================== */

.inner-page {
  background: #f7f7f6;
  color: #111;
}

.site-header-light {
  position: static;
  padding: 28px 0 22px;
  color: #111;
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.site-header-light .brand img {
  width: 92px;
}

.site-header-light .main-nav a,
.site-header-light .header-cta {
  color: #111;
}

.site-header-light .header-cta {
  border-color: rgba(0,0,0,.34);
  background: #fff;
}

.site-header-light .nav-toggle-label {
  border-color: rgba(0,0,0,.2);
}

.site-header-light .nav-toggle-label span {
  background: #111;
}

.inner-hero {
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 30px rgba(0,0,0,.035);
}

.inner-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: clamp(34px, 5vw, 72px);
  align-items: center;
  min-height: 350px;
  padding: 42px 0 40px;
}

.inner-title-block h1,
.contact-info h1 {
  margin-bottom: 18px;
  font-size: clamp(2.85rem, 4.8vw, 4.8rem);
  font-weight: 1000;
  line-height: .9;
  color: #0a0a0a;
}

.inner-title-block h1::after,
.contact-info h1::after {
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  margin-top: 10px;
  background: var(--color-lime);
}

.inner-title-block p,
.contact-info p {
  max-width: 260px;
  margin-bottom: 18px;
  color: #171717;
  font-size: .98rem;
  line-height: 1.6;
}

.inner-card-grid {
  display: grid;
  gap: 12px;
}

.five-cards {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.inner-card {
  display: flex;
  min-height: 230px;
  flex-direction: column;
  align-items: center;
  padding: 28px 20px 18px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 6px;
  background: #fff;
  text-align: center;
}

.inner-icon {
  min-height: 50px;
  margin-bottom: 14px;
  color: #111;
  font-size: 2.75rem;
  line-height: 1;
}

.inner-card h3,
.product-tile h3 {
  margin-bottom: 14px;
  font-size: clamp(.9rem, 1vw, 1.08rem);
  font-weight: 1000;
  line-height: 1.15;
}

.inner-card p {
  margin-bottom: 14px;
  font-size: .78rem;
  line-height: 1.55;
}

.inner-card a {
  margin-top: auto;
  font-size: 1.12rem;
  font-weight: 950;
}

.inner-cta-strip {
  background: #f0f0ef;
  padding: 24px 0;
}

.strip-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(24px, 7vw, 120px);
}

.strip-inner strong {
  font-size: clamp(1.05rem, 1.8vw, 1.45rem);
  font-weight: 1000;
  text-transform: uppercase;
}

.process-layout {
  grid-template-columns: 260px 1fr;
}

.process-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 22px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.process-timeline::before {
  content: "";
  position: absolute;
  top: 39px;
  left: 8%;
  right: 8%;
  height: 2px;
  background: rgba(0,0,0,.42);
}

.process-timeline li {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  text-align: center;
}

.process-timeline span {
  display: grid;
  place-items: center;
  width: 78px;
  height: 78px;
  margin-bottom: 24px;
  border-radius: 999px;
  color: #111;
  background: var(--color-lime);
  box-shadow: inset 0 -10px 16px rgba(0,0,0,.12), 0 10px 24px rgba(158,230,0,.22);
  font-size: 1.75rem;
  font-weight: 1000;
}

.process-timeline h3 {
  margin-bottom: 14px;
  font-size: 1rem;
  font-weight: 1000;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.process-timeline p {
  max-width: 158px;
  color: #222;
  font-size: .8rem;
  line-height: 1.55;
}

.product-layout {
  grid-template-columns: 260px 1fr;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 26px;
  align-items: start;
}

.product-tile {
  text-align: center;
}

.product-tile img {
  width: 100%;
  margin-bottom: 16px;
  border-radius: 7px;
  box-shadow: 0 14px 28px rgba(0,0,0,.09);
}

.faq-layout {
  grid-template-columns: 330px 1fr 300px;
}

.faq-list {
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
}

.faq-list details {
  border-bottom: 1px solid rgba(0,0,0,.1);
}

.faq-list details:last-child {
  border-bottom: 0;
}

.faq-list summary {
  position: relative;
  padding: 18px 54px 18px 24px;
  cursor: pointer;
  font-weight: 700;
  list-style: none;
}

.faq-list summary::-webkit-details-marker {
  display: none;
}

.faq-list summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 22px;
  transform: translateY(-50%);
  font-size: 1.5rem;
  font-weight: 800;
}

.faq-list details[open] summary::after {
  content: "−";
}

.faq-list p {
  margin: 0;
  padding: 0 24px 18px;
  color: #333;
  font-size: .92rem;
  line-height: 1.55;
}

.question-box {
  padding: 36px 32px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
}

.question-box h2 {
  margin-bottom: 16px;
  font-size: 1.4rem;
  font-weight: 1000;
  line-height: 1.1;
}

.question-box p {
  margin-bottom: 22px;
  color: #333;
  font-size: .94rem;
  line-height: 1.55;
}

.brief-layout {
  grid-template-columns: 270px 1fr 330px;
}

.brief-art img {
  width: min(100%, 540px);
  margin-inline: auto;
}

.contact-layout {
  grid-template-columns: 250px 1fr 380px;
  align-items: start;
}

.contact-info ul {
  display: grid;
  gap: 18px;
  padding: 0;
  margin: 28px 0 0;
  list-style: none;
}

.contact-info li {
  display: grid;
  grid-template-columns: 32px 1fr;
  column-gap: 12px;
  align-items: start;
}

.contact-info li span {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid var(--color-lime-dark);
  border-radius: 999px;
  color: var(--color-lime-dark);
  font-weight: 900;
}

.contact-info strong {
  font-size: .78rem;
  text-transform: uppercase;
}

.contact-info a,
.contact-info em {
  color: #222;
  font-size: .86rem;
  font-style: normal;
  line-height: 1.35;
}

.contact-form {
  display: grid;
  gap: 12px;
  padding-top: 36px;
}

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

.contact-form label span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  border: 1px solid rgba(0,0,0,.16);
  border-radius: 2px;
  padding: 14px 14px;
  background: #fff;
  color: #111;
  font: inherit;
  font-size: .92rem;
}

.contact-form textarea {
  resize: vertical;
}

.contact-form button {
  justify-self: start;
  cursor: pointer;
}

.contact-image {
  padding-top: 36px;
}

.contact-image img {
  width: 100%;
  border-radius: 8px;
}

@media (max-width: 1120px) {
  .site-header-light .main-nav {
    background: rgba(255,255,255,.98);
    border-color: rgba(0,0,0,.1);
  }

  .site-header-light .main-nav a {
    border-bottom-color: rgba(0,0,0,.08);
  }

  .inner-layout,
  .process-layout,
  .product-layout,
  .faq-layout,
  .brief-layout,
  .contact-layout {
    grid-template-columns: 1fr;
    gap: 30px;
    min-height: auto;
    padding: 42px 0;
  }

  .inner-title-block p,
  .contact-info p {
    max-width: 520px;
  }

  .five-cards,
  .product-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .process-timeline {
    grid-template-columns: repeat(5, minmax(155px, 1fr));
    overflow-x: auto;
    padding-bottom: 10px;
    scroll-snap-type: x mandatory;
  }

  .process-timeline li {
    min-width: 155px;
    scroll-snap-align: start;
  }

  .faq-layout,
  .brief-layout,
  .contact-layout {
    align-items: stretch;
  }

  .question-box {
    max-width: 520px;
  }
}

@media (max-width: 760px) {
  .site-header-light .brand img {
    width: 82px;
  }

  .inner-layout,
  .process-layout,
  .product-layout,
  .faq-layout,
  .brief-layout,
  .contact-layout {
    padding: 34px 0;
  }

  .inner-title-block h1,
  .contact-info h1 {
    font-size: clamp(2.5rem, 14vw, 4rem);
  }

  .five-cards,
  .product-grid {
    grid-template-columns: 1fr;
  }

  .inner-card {
    min-height: auto;
  }

  .strip-inner {
    flex-direction: column;
    align-items: center;
    gap: 18px;
    text-align: center;
  }

  .product-tile {
    max-width: 360px;
    margin-inline: auto;
  }

  .faq-list summary {
    padding-left: 18px;
  }

  .question-box {
    padding: 28px 22px;
  }

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

  .contact-form {
    padding-top: 8px;
  }

  .contact-image {
    padding-top: 12px;
  }
}


/* Brandhaus Elementor adaptation layer */
body { background:#050505; }
body.elementor-page { margin:0; }
.elementor-widget-text-editor p:last-child { margin-bottom:0; }
.bh-page .elementor-widget-heading .elementor-heading-title, .bh-template-header .elementor-heading-title, .bh-template-footer .elementor-heading-title { font-family: var(--font-sans); }
.bh-template-header.site-header { position: absolute; top:0; left:0; right:0; z-index:999; width:100%; }
.bh-template-header .header-inner { width:min(calc(100% - 64px), var(--container)); margin-inline:auto; display:grid; grid-template-columns:150px 1fr auto; align-items:center; gap:34px; }
.bh-template-header .elementor-widget-image.brand img { width:118px; height:auto; }
.bh-template-header .main-nav .elementor-nav-menu { justify-content:center; gap:clamp(20px,3vw,46px); }
.bh-template-header .main-nav a { font-size:.72rem; font-weight:950; text-transform:uppercase; color:#fff; padding:14px 0; }
.bh-template-header .header-cta .elementor-button { border:1px solid var(--color-lime); background:transparent; color:#fff; border-radius:5px; padding:18px 20px; font-size:.76rem; font-weight:950; text-transform:uppercase; }
.bh-template-footer .footer-grid > .e-con-inner, .bh-template-footer .footer-grid { display:grid; grid-template-columns:1.25fr .8fr 1fr .8fr 1.1fr; gap:44px; }
.footer-links .elementor-widget-container { display:grid; gap:13px; }
.socials .elementor-widget-container { display:flex; gap:10px; }
.hero-grid > .e-con-inner, .hero-grid { display:grid; grid-template-columns:minmax(380px,520px) 1fr; align-items:center; gap:32px; }
.button-row > .e-con-inner, .button-row { display:flex; gap:20px; flex-wrap:wrap; }
.btn .elementor-button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:54px; padding:0 28px; border-radius:5px; border:1px solid transparent; font-size:.78rem; font-weight:950; text-transform:uppercase; letter-spacing:.01em; }
.btn-primary .elementor-button { color:#050505; background:var(--color-lime); box-shadow:0 12px 28px rgba(158,230,0,.22); }
.btn-outline .elementor-button { color:#fff; border-color:rgba(255,255,255,.7); background:rgba(255,255,255,.03); }
.btn-dark .elementor-button { color:#fff; background:var(--color-black); border-color:var(--color-black); }
.hero-art img { width:min(890px,58vw); filter:drop-shadow(0 40px 70px rgba(0,0,0,.58)); }
.about > .e-con-inner, .about { display:grid; grid-template-columns:1fr 1fr; }
.service-grid > .e-con-inner, .service-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.inner-card-grid > .e-con-inner, .inner-card-grid { display:grid; gap:18px; }
.five-cards > .e-con-inner, .five-cards { grid-template-columns:repeat(5,1fr); }
.service-card, .inner-card { display:flex; flex-direction:column; }
.project-grid > .e-con-inner, .project-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.slider-wrap > .e-con-inner, .slider-wrap { display:grid; grid-template-columns:52px 1fr 52px; align-items:center; gap:18px; }
.stats-grid > .e-con-inner, .stats-grid { display:grid; grid-template-columns:1fr 1fr 1.5fr; align-items:center; gap:26px; }
.cta-panel > .e-con-inner, .cta-panel { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:40px; }
.inner-layout > .e-con-inner, .inner-layout { display:grid; align-items:center; gap:34px; }
.services-layout .inner-layout, .inner-hero-services .inner-layout > .e-con-inner { grid-template-columns:.8fr 1.5fr; }
.process-timeline > .e-con-inner, .process-timeline { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; list-style:none; }
.process-step { background:#111; color:#fff; border-radius:14px; padding:26px 22px; min-height:220px; }
.step-number span, .step-number .elementor-widget-container { display:inline-grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--color-lime); color:#050505; font-weight:950; margin-bottom:28px; }
.product-grid > .e-con-inner, .product-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.faq-layout .inner-layout, .inner-hero-faq .inner-layout > .e-con-inner { grid-template-columns:.7fr 1fr .55fr; }
.brief-layout .inner-layout, .inner-hero-brief .inner-layout > .e-con-inner { grid-template-columns:.8fr .8fr .55fr; }
.contact-layout .inner-layout, .inner-hero-contact .inner-layout > .e-con-inner { grid-template-columns:.65fr 1fr .65fr; }
.contact-list ul { padding:0; margin:28px 0 0; list-style:none; display:grid; gap:14px; }
.contact-list li { display:grid; grid-template-columns:42px 1fr; gap:3px 14px; align-items:center; padding:16px; border:1px solid rgba(0,0,0,.12); border-radius:14px; background:#fff; }
.contact-list li span { grid-row:span 2; color:var(--color-lime-dark); font-size:1.4rem; }
.contact-form .elementor-form-fields-wrapper { gap:18px; }
.contact-form input, .contact-form textarea { border-radius:12px!important; border:1px solid rgba(0,0,0,.16)!important; padding:16px!important; background:#fff!important; }
.contact-form button { background:var(--color-lime)!important; color:#050505!important; border-radius:5px!important; font-weight:950!important; text-transform:uppercase!important; }
.bh-template-footer .site-footer, .site-footer.bh-template-footer { margin-top:0; }

@media (max-width:1120px){
  .bh-template-header .header-inner { grid-template-columns:120px 1fr auto; }
  .hero-grid > .e-con-inner, .hero-grid, .about > .e-con-inner, .about, .cta-panel > .e-con-inner, .cta-panel { grid-template-columns:1fr; }
  .service-grid > .e-con-inner, .service-grid { grid-template-columns:repeat(2,1fr); }
  .project-grid > .e-con-inner, .project-grid { grid-template-columns:repeat(3,1fr); }
  .five-cards > .e-con-inner, .five-cards, .product-grid > .e-con-inner, .product-grid, .process-timeline > .e-con-inner, .process-timeline { grid-template-columns:repeat(2,1fr); }
  .faq-layout .inner-layout, .inner-hero-faq .inner-layout > .e-con-inner, .brief-layout .inner-layout, .inner-hero-brief .inner-layout > .e-con-inner, .contact-layout .inner-layout, .inner-hero-contact .inner-layout > .e-con-inner, .inner-hero-services .inner-layout > .e-con-inner { grid-template-columns:1fr; }
  .bh-template-footer .footer-grid > .e-con-inner, .bh-template-footer .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px){
  .container, .bh-template-header .header-inner { width:min(calc(100% - 36px), var(--container)); }
  .bh-template-header .header-inner { display:flex; justify-content:space-between; gap:16px; }
  .bh-template-header .main-nav { order:3; width:100%; }
  .bh-template-header .header-cta { display:none; }
  .service-grid > .e-con-inner, .service-grid, .five-cards > .e-con-inner, .five-cards, .product-grid > .e-con-inner, .product-grid, .process-timeline > .e-con-inner, .process-timeline, .stats-grid > .e-con-inner, .stats-grid, .bh-template-footer .footer-grid > .e-con-inner, .bh-template-footer .footer-grid { grid-template-columns:1fr; }
  .slider-wrap > .e-con-inner, .slider-wrap { grid-template-columns:1fr; }
  .slider-arrow { display:none; }
  .project-grid > .e-con-inner, .project-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; }
  .project-card { min-width:72vw; scroll-snap-align:start; }
}


/* Brandhaus responsive polish hotfix */
.bh-template-header .header-inner,
.bh-template-header .header-inner > .e-con-inner {
  width:min(calc(100% - 64px), var(--container)) !important;
  margin-inline:auto !important;
  display:grid !important;
  grid-template-columns:150px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:28px !important;
}
.bh-template-header .main-nav,
.bh-template-header .main-nav .elementor-widget-container,
.bh-template-header .main-nav nav,
.bh-template-header .main-nav ul.elementor-nav-menu {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(14px,2vw,32px) !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.bh-template-header .main-nav li { list-style:none !important; margin:0 !important; padding:0 !important; width:auto !important; }
.bh-template-header .main-nav a { white-space:nowrap !important; line-height:1 !important; }
.bh-template-header .header-cta { justify-self:end !important; white-space:nowrap !important; }

.service-grid,
.service-grid > .e-con-inner,
.inner-card-grid,
.inner-card-grid > .e-con-inner,
.project-grid,
.project-grid > .e-con-inner,
.product-grid,
.product-grid > .e-con-inner,
.process-timeline,
.process-timeline > .e-con-inner,
.stats-grid,
.stats-grid > .e-con-inner,
.cta-panel,
.cta-panel > .e-con-inner,
.footer-grid,
.footer-grid > .e-con-inner {
  width:100% !important;
  min-width:0 !important;
}
.service-grid > .e-con-inner > .e-con,
.inner-card-grid > .e-con-inner > .e-con,
.project-grid > .e-con-inner > .e-con,
.product-grid > .e-con-inner > .e-con,
.process-timeline > .e-con-inner > .e-con,
.footer-grid > .e-con-inner > .e-con {
  width:auto !important;
  min-width:0 !important;
}
.service-grid, .service-grid > .e-con-inner { display:grid !important; grid-template-columns:repeat(5,minmax(180px,1fr)) !important; gap:18px !important; }
.project-grid, .project-grid > .e-con-inner { display:grid !important; grid-template-columns:repeat(5,minmax(150px,1fr)) !important; gap:18px !important; }
.five-cards, .five-cards > .e-con-inner { display:grid !important; grid-template-columns:repeat(5,minmax(180px,1fr)) !important; gap:18px !important; }
.product-grid, .product-grid > .e-con-inner { display:grid !important; grid-template-columns:repeat(5,minmax(160px,1fr)) !important; gap:18px !important; }
.process-timeline, .process-timeline > .e-con-inner { display:grid !important; grid-template-columns:repeat(5,minmax(160px,1fr)) !important; gap:16px !important; }
.stats-grid, .stats-grid > .e-con-inner { display:grid !important; grid-template-columns:1fr 1fr 1.5fr !important; gap:26px !important; }
.cta-panel, .cta-panel > .e-con-inner { display:grid !important; grid-template-columns:1.1fr .9fr !important; gap:40px !important; }
.bh-template-footer .footer-grid,
.bh-template-footer .footer-grid > .e-con-inner { display:grid !important; grid-template-columns:minmax(190px,1.2fr) repeat(4,minmax(140px,1fr)) !important; gap:34px !important; align-items:start !important; }
.footer-col, .footer-brand { min-width:0 !important; }
.footer-col h3, .footer-col .elementor-heading-title { font-size:.9rem !important; letter-spacing:.02em !important; }
.footer-links .elementor-widget-container a { display:block !important; line-height:1.35 !important; }
.hero { padding-top:185px !important; }
.hero-copy { max-width:620px !important; }
.hero-art { justify-self:end !important; }
.about-image img, .project-card img, .product-tile img, .brief-art img, .contact-image img { width:100% !important; }

@media (max-width:1120px) {
  .bh-template-header .header-inner,
  .bh-template-header .header-inner > .e-con-inner { grid-template-columns:120px 1fr !important; }
  .bh-template-header .header-cta { display:none !important; }
  .bh-template-header .main-nav ul.elementor-nav-menu { flex-wrap:wrap !important; justify-content:flex-end !important; gap:12px 20px !important; }
  .hero-grid, .hero-grid > .e-con-inner,
  .about, .about > .e-con-inner,
  .cta-panel, .cta-panel > .e-con-inner { grid-template-columns:1fr !important; }
  .service-grid, .service-grid > .e-con-inner,
  .five-cards, .five-cards > .e-con-inner,
  .product-grid, .product-grid > .e-con-inner,
  .process-timeline, .process-timeline > .e-con-inner { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .project-grid, .project-grid > .e-con-inner { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .bh-template-footer .footer-grid,
  .bh-template-footer .footer-grid > .e-con-inner { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:760px) {
  .bh-template-header .header-inner,
  .bh-template-header .header-inner > .e-con-inner { width:min(calc(100% - 36px), var(--container)) !important; display:flex !important; flex-wrap:wrap !important; justify-content:space-between !important; }
  .bh-template-header .main-nav { width:100% !important; }
  .bh-template-header .main-nav ul.elementor-nav-menu { justify-content:flex-start !important; overflow-x:auto !important; padding-bottom:6px !important; }
  .service-grid, .service-grid > .e-con-inner,
  .five-cards, .five-cards > .e-con-inner,
  .product-grid, .product-grid > .e-con-inner,
  .process-timeline, .process-timeline > .e-con-inner,
  .stats-grid, .stats-grid > .e-con-inner,
  .bh-template-footer .footer-grid,
  .bh-template-footer .footer-grid > .e-con-inner { grid-template-columns:1fr !important; }
  .project-grid, .project-grid > .e-con-inner { display:flex !important; overflow-x:auto !important; }
  .project-card { min-width:72vw !important; }
}


/* Brandhaus Elementor boxed-inner width fix */
.bh-template-header.site-header,
.bh-template-footer.site-footer,
.bh-page,
.hero,
.services,
.work,
.stats,
.cta,
.inner-hero,
.inner-cta-strip {
  --content-width: var(--container) !important;
  --width: 100% !important;
}
.container > .e-con-inner,
.header-inner > .e-con-inner,
.footer-grid > .e-con-inner,
.stats-grid > .e-con-inner,
.hero-grid > .e-con-inner,
.service-grid > .e-con-inner,
.project-grid > .e-con-inner,
.product-grid > .e-con-inner,
.process-timeline > .e-con-inner,
.inner-layout > .e-con-inner,
.cta-panel > .e-con-inner {
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
}
.bh-template-header .header-inner > .e-con-inner {
  display:grid !important;
  grid-template-columns:150px minmax(520px,1fr) auto !important;
  align-items:center !important;
  gap:28px !important;
}
.bh-template-header .main-nav { width:100% !important; min-width:0 !important; }
.bh-template-header .header-cta { width:auto !important; min-width:150px !important; }
.bh-template-footer .footer-grid > .e-con-inner {
  display:grid !important;
  grid-template-columns:minmax(220px,1.2fr) minmax(120px,.75fr) minmax(190px,1.1fr) minmax(150px,.8fr) minmax(220px,1.1fr) !important;
  gap:34px !important;
}
.stats-grid > .e-con-inner {
  display:grid !important;
  grid-template-columns:1fr 1fr 1.5fr !important;
  align-items:center !important;
  gap:26px !important;
}
.footer-links .elementor-widget-container,
.footer-links .elementor-widget-container p {
  display:grid !important;
  gap:13px !important;
}
.footer-links .elementor-widget-container a,
.footer-links a,
.footer-links .elementor-widget-container span {
  display:block !important;
  margin-bottom:10px !important;
}
@media (max-width:1120px) {
  .bh-template-header .header-inner > .e-con-inner { grid-template-columns:120px 1fr !important; }
  .bh-template-footer .footer-grid > .e-con-inner { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:760px) {
  .bh-template-header .header-inner > .e-con-inner { display:flex !important; flex-wrap:wrap !important; }
  .bh-template-footer .footer-grid > .e-con-inner { grid-template-columns:1fr !important; }
}


/* Brandhaus stats/project width polish */
.stats-grid > .e-con-inner,
.footer-grid > .e-con-inner,
.header-inner > .e-con-inner {
  width:min(calc(100vw - 64px), 1300px) !important;
  max-width:min(calc(100vw - 64px), 1300px) !important;
  margin-inline:auto !important;
}
.stats-grid > .e-con-inner {
  display:grid !important;
  grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) minmax(360px,1.5fr) !important;
  align-items:center !important;
  justify-content:stretch !important;
}
.stats-grid .stat {
  width:100% !important;
  min-width:0 !important;
  padding:26px 34px !important;
}
.stats-grid .stat:not(:last-child) {
  border-right:2px solid var(--color-lime) !important;
}
.project-card {
  min-height:220px !important;
  background:#e7e7e7 !important;
  display:grid !important;
  place-items:center !important;
}
.project-card img {
  display:block !important;
  width:100% !important;
  height:auto !important;
  opacity:1 !important;
}


/* Brandhaus inner-page header clearance */
.inner-hero {
  padding-top:190px !important;
  min-height:720px !important;
}
.inner-hero .inner-title-block h1,
.inner-hero .inner-title-block .elementor-heading-title {
  position:relative !important;
  z-index:1 !important;
}
.inner-card, .service-card, .product-tile, .question-box, .contact-form {
  position:relative !important;
  z-index:2 !important;
}


/* Brandhaus inner title readability polish */
.inner-title-block {
  min-width:300px !important;
  overflow:visible !important;
}
.inner-title-block h1,
.inner-title-block .elementor-heading-title {
  font-size:clamp(3.8rem, 6vw, 6.8rem) !important;
  line-height:.92 !important;
  overflow:visible !important;
  word-break:normal !important;
  hyphens:none !important;
}
.inner-hero-services .inner-layout > .e-con-inner,
.inner-hero-services .inner-layout {
  grid-template-columns:minmax(300px,.55fr) minmax(0,1.45fr) !important;
}
.inner-hero-services .five-cards,
.inner-hero-services .five-cards > .e-con-inner {
  grid-template-columns:repeat(3,minmax(170px,1fr)) !important;
}
@media (max-width:1120px) {
  .inner-hero-services .inner-layout > .e-con-inner,
  .inner-hero-services .inner-layout { grid-template-columns:1fr !important; }
  .inner-hero-services .five-cards,
  .inner-hero-services .five-cards > .e-con-inner { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:760px) {
  .inner-hero-services .five-cards,
  .inner-hero-services .five-cards > .e-con-inner { grid-template-columns:1fr !important; }
}


/* Brandhaus services page final title/card separation */
.inner-hero-services .inner-layout > .e-con-inner,
.inner-hero-services .inner-layout {
  grid-template-columns:1fr !important;
  gap:46px !important;
}
.inner-hero-services .inner-title-block {
  width:100% !important;
  max-width:720px !important;
}
.inner-hero-services .inner-title-block h1,
.inner-hero-services .inner-title-block .elementor-heading-title {
  font-size:clamp(4rem, 7vw, 7rem) !important;
  white-space:normal !important;
}
.inner-hero-services .five-cards,
.inner-hero-services .five-cards > .e-con-inner {
  grid-template-columns:repeat(5,minmax(160px,1fr)) !important;
}
@media (max-width:1120px) {
  .inner-hero-services .five-cards,
  .inner-hero-services .five-cards > .e-con-inner { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:760px) {
  .inner-hero-services .five-cards,
  .inner-hero-services .five-cards > .e-con-inner { grid-template-columns:1fr !important; }
}

/* Hide Elementor nav-menu empty toggle used by generated header. Full nav remains visible/editable. */
.bh-template-header .elementor-menu-toggle { display:none !important; }


/* ========================================================================== */
/* Brandhaus pixel-polish pass 2026-05-16
   Goal: make Elementor output honor the provided desktop/tablet/mobile design:
   strong black/lime palette, 1300px grid, two-column hero/about/CTA, lime service
   band, finished project cards, compact premium buttons, and responsive stacking. */
/* ========================================================================== */
:root {
  --bh-black:#050505;
  --bh-charcoal:#111111;
  --bh-white:#ffffff;
  --bh-offwhite:#f5f3f0;
  --bh-lime:#9ee600;
  --bh-lime-dark:#74b800;
  --bh-text:#171717;
  --bh-container:1300px;
  --bh-gutter:64px;
}
html, body { overflow-x:hidden; }
body, body.elementor-page { font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important; background:var(--bh-black) !important; }
body .bh-page,
body .bh-template-header,
body .bh-template-footer { font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important; }
body .bh-page h1, body .bh-page h2, body .bh-page h3,
body .bh-page .elementor-heading-title,
body .bh-template-footer h3, body .bh-template-footer .elementor-heading-title {
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  font-weight:950 !important;
  line-height:.92 !important;
  letter-spacing:-.065em !important;
  text-transform:uppercase !important;
}
body .bh-page p,
body .bh-page .elementor-widget-text-editor,
body .bh-template-footer p,
body .bh-template-footer a,
body .bh-template-footer span { font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important; }
body .bh-page .eyebrow,
body .bh-page .eyebrow .elementor-widget-container,
body .bh-page .eyebrow p {
  color:var(--bh-lime) !important;
  font-size:13px !important;
  font-weight:950 !important;
  line-height:1.2 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}
body .bh-page .eyebrow-dark,
body .bh-page .services .eyebrow,
body .bh-page .services .eyebrow .elementor-widget-container,
body .bh-page .services .eyebrow p { color:#080808 !important; }

/* Elementor boxed containers: force real design-width inner grids. */
body .bh-page .container,
body .bh-page .container > .e-con-inner,
body .bh-template-header .header-inner,
body .bh-template-header .header-inner > .e-con-inner,
body .bh-template-footer .footer-grid,
body .bh-template-footer .footer-grid > .e-con-inner {
  width:min(calc(100vw - var(--bh-gutter)), var(--bh-container)) !important;
  max-width:min(calc(100vw - var(--bh-gutter)), var(--bh-container)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
body .bh-page .e-con > .e-con-inner > .e-con,
body .bh-template-header .e-con > .e-con-inner > .e-con,
body .bh-template-footer .e-con > .e-con-inner > .e-con { min-width:0 !important; max-width:100% !important; }

/* Header: match screenshot proportions. */
body .bh-template-header.site-header { position:absolute !important; top:0 !important; left:0 !important; right:0 !important; z-index:1000 !important; padding-top:42px !important; color:#fff !important; background:transparent !important; }
body .bh-template-header .header-inner,
body .bh-template-header .header-inner > .e-con-inner {
  display:grid !important;
  grid-template-columns:170px minmax(0,1fr) 165px !important;
  align-items:start !important;
  gap:42px !important;
}
body .bh-template-header .brand,
body .bh-template-header .brand.elementor-widget-image { width:170px !important; justify-self:start !important; }
body .bh-template-header .brand img { width:95px !important; height:auto !important; display:block !important; }
body .bh-template-header .main-nav { width:100% !important; padding-top:23px !important; }
body .bh-template-header .main-nav nav,
body .bh-template-header .main-nav .elementor-widget-container,
body .bh-template-header .main-nav ul.elementor-nav-menu {
  display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:center !important;
  gap:clamp(26px,3.1vw,48px) !important; margin:0 !important; padding:0 !important; width:100% !important;
}
body .bh-template-header .main-nav li { width:auto !important; margin:0 !important; padding:0 !important; list-style:none !important; }
body .bh-template-header .main-nav a {
  color:#fff !important; opacity:1 !important; font-size:12px !important; font-weight:950 !important; line-height:1 !important;
  text-transform:uppercase !important; letter-spacing:-.01em !important; padding:0 0 13px !important; white-space:nowrap !important;
}
body .bh-template-header .main-nav a:hover,
body .bh-template-header .main-nav .current-menu-item > a,
body .bh-template-header .main-nav a.elementor-item-active { color:var(--bh-lime) !important; }
body .bh-template-header .main-nav .current-menu-item > a::after,
body .bh-template-header .main-nav a.elementor-item-active::after {
  content:"" !important; display:block !important; position:absolute !important; left:0 !important; bottom:0 !important;
  width:34px !important; height:3px !important; background:var(--bh-lime) !important; opacity:1 !important;
}
body .bh-template-header .header-cta { width:auto !important; justify-self:end !important; padding-top:7px !important; }
body .bh-template-header .header-cta .elementor-button {
  width:150px !important; min-height:62px !important; padding:0 20px !important; justify-content:center !important;
  border:1px solid var(--bh-lime) !important; border-radius:5px !important; background:transparent !important; color:#fff !important;
  font-size:12px !important; font-weight:950 !important; line-height:1 !important; text-transform:uppercase !important;
}

/* Hero: restore two-column composition and image scale. */
body .bh-page.hero,
body .bh-page.bh-inicio.hero,
body .bh-page .hero { min-height:1075px !important; padding:205px 0 78px !important; background:radial-gradient(circle at 78% 28%, rgba(158,230,0,.12), transparent 28%), radial-gradient(circle at 8% 15%, rgba(255,255,255,.045), transparent 22%), linear-gradient(135deg,#101010,#050505 55%,#060606) !important; }
body .bh-page .hero-grid,
body .bh-page .hero-grid > .e-con-inner {
  display:grid !important; grid-template-columns:minmax(520px, 0.83fr) minmax(560px, 1.17fr) !important;
  align-items:center !important; gap:54px !important; width:min(calc(100vw - var(--bh-gutter)), var(--bh-container)) !important; max-width:min(calc(100vw - var(--bh-gutter)), var(--bh-container)) !important; margin-inline:auto !important;
}
body .bh-page .hero-copy { width:100% !important; max-width:610px !important; padding-top:35px !important; }
body .bh-page .hero-copy > .e-con-inner { width:100% !important; max-width:100% !important; margin:0 !important; display:block !important; }
body .bh-page .hero .elementor-heading-title,
body .bh-page .hero h1 {
  max-width:610px !important; margin:0 0 28px !important; color:#fff !important; font-size:clamp(82px, 6.85vw, 132px) !important;
  font-weight:950 !important; line-height:.93 !important; letter-spacing:-.068em !important; text-transform:uppercase !important;
}
body .bh-page .hero h1 span,
body .bh-page .hero .elementor-heading-title span,
body .bh-page.hero h1 span,
body .bh-page.hero .elementor-heading-title span { display:block !important; color:var(--bh-lime) !important; }
body .bh-page.hero .elementor-heading-title,
body .bh-page.hero h1 { color:#fff !important; }
body .bh-page .hero-copy .elementor-widget-text-editor,
body .bh-page .hero-copy p { width:390px !important; max-width:100% !important; color:rgba(255,255,255,.88) !important; font-size:18px !important; line-height:1.62 !important; margin-bottom:40px !important; }
body .bh-page .button-row,
body .bh-page .button-row > .e-con-inner { width:auto !important; display:flex !important; flex-direction:row !important; align-items:center !important; gap:20px !important; flex-wrap:nowrap !important; margin:0 !important; }
body .bh-page .button-row .elementor-widget-button { width:auto !important; max-width:none !important; flex:0 0 auto !important; }
body .bh-page .btn .elementor-button {
  width:auto !important; min-width:180px !important; min-height:54px !important; padding:0 30px !important; border-radius:5px !important;
  font-size:13px !important; font-weight:950 !important; line-height:1 !important; letter-spacing:-.01em !important; text-transform:uppercase !important;
}
body .bh-page .btn-primary .elementor-button { background:var(--bh-lime) !important; color:#050505 !important; box-shadow:0 14px 34px rgba(158,230,0,.26) !important; }
body .bh-page .btn-outline .elementor-button { background:transparent !important; color:#fff !important; border:1px solid rgba(255,255,255,.72) !important; box-shadow:none !important; }
body .bh-page .btn-dark .elementor-button { background:#050505 !important; color:#fff !important; border-color:#050505 !important; }
body .bh-page .hero-art { width:100% !important; min-width:0 !important; justify-self:end !important; align-self:center !important; margin:0 -45px 0 0 !important; }
body .bh-page .hero-art > .e-con-inner { width:100% !important; max-width:100% !important; margin:0 !important; display:block !important; }
body .bh-page .hero-art .elementor-widget-image,
body .bh-page .hero-art .elementor-widget-container { width:100% !important; max-width:100% !important; }
body .bh-page .hero-art img { display:block !important; width:min(760px, 52vw) !important; max-width:none !important; height:auto !important; margin:0 0 0 auto !important; opacity:1 !important; filter:drop-shadow(0 42px 75px rgba(0,0,0,.62)) !important; }
body .bh-page .scroll-cue { left:50% !important; bottom:42px !important; }

/* About: correct 50/50 editorial split with large right-side mockup. */
body .bh-page .about,
body .bh-page .about > .e-con-inner { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; align-items:stretch !important; gap:0 !important; background:var(--bh-offwhite) !important; min-height:672px !important; width:100% !important; max-width:100% !important; }
body .bh-page .about-copy { width:100% !important; max-width:650px !important; justify-self:end !important; padding:93px 70px 84px 0 !important; }
body .bh-page .about-copy > .e-con-inner { display:block !important; width:100% !important; max-width:100% !important; margin:0 !important; }
body .bh-page .about h2,
body .bh-page .about .elementor-heading-title { color:#171717 !important; font-size:clamp(52px,4.1vw,76px) !important; line-height:.94 !important; margin-bottom:28px !important; max-width:560px !important; }
body .bh-page .about h2 span,
body .bh-page .about .elementor-heading-title span { color:var(--bh-lime-dark) !important; display:block !important; }
body .bh-page .about p { color:#171717 !important; font-size:16px !important; line-height:1.72 !important; max-width:540px !important; }
body .bh-page .about-image { width:100% !important; min-height:672px !important; overflow:hidden !important; align-self:stretch !important; }
body .bh-page .about-image > .e-con-inner { width:100% !important; max-width:100% !important; height:100% !important; margin:0 !important; display:block !important; }
body .bh-page .about-image .elementor-widget-image,
body .bh-page .about-image .elementor-widget-container { height:100% !important; width:100% !important; }
body .bh-page .about-image img { width:100% !important; height:100% !important; min-height:672px !important; object-fit:cover !important; object-position:center bottom !important; display:block !important; }

/* Services: design uses lime field, translucent cards, black text. */
body .bh-page .services { padding:86px 0 82px !important; color:#050505 !important; background:radial-gradient(circle at 44% 18%, rgba(255,255,255,.25), transparent 23%), linear-gradient(135deg,#8ee000 0%,#a7ee09 52%,#85d000 100%) !important; }
body .bh-page .services h2,
body .bh-page .services .elementor-heading-title { color:#050505 !important; max-width:760px !important; margin-bottom:42px !important; font-size:clamp(56px,4.75vw,84px) !important; line-height:.91 !important; }
body .bh-page .service-grid,
body .bh-page .service-grid > .e-con-inner { display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important; gap:14px !important; align-items:stretch !important; margin-bottom:38px !important; width:100% !important; max-width:100% !important; }
body .bh-page .service-card { width:auto !important; min-height:326px !important; padding:41px 24px 30px !important; align-items:center !important; justify-content:flex-start !important; text-align:center !important; border:1px solid rgba(255,255,255,.78) !important; border-radius:8px !important; background:rgba(255,255,255,.045) !important; box-shadow:none !important; color:#050505 !important; }
body .bh-page .service-card > .e-con-inner { width:100% !important; max-width:100% !important; margin:0 !important; display:flex !important; flex-direction:column !important; align-items:center !important; height:100% !important; }
body .bh-page .service-icon,
body .bh-page .service-icon .elementor-widget-container { color:#050505 !important; font-size:42px !important; line-height:1 !important; min-height:56px !important; margin-bottom:12px !important; }
body .bh-page .service-card h3,
body .bh-page .service-card .elementor-heading-title { color:#050505 !important; font-size:18px !important; line-height:.95 !important; letter-spacing:-.055em !important; max-width:165px !important; min-height:54px !important; margin:0 auto 30px !important; }
body .bh-page .service-card p { color:#050505 !important; font-size:15px !important; line-height:1.48 !important; max-width:190px !important; margin:0 auto 28px !important; }
body .bh-page .card-arrow { margin-top:auto !important; color:#050505 !important; font-size:26px !important; font-weight:950 !important; }
body .bh-page .services .centered .elementor-widget-button,
body .bh-page .work .centered .elementor-widget-button { width:auto !important; margin-inline:auto !important; }
body .bh-page .services .centered .elementor-button,
body .bh-page .work .centered .elementor-button { min-width:255px !important; width:auto !important; }

/* Work/projects: finished cards visible, arrows inside container like screenshot. */
body .bh-page .work { padding:75px 0 80px !important; background:#f7f7f6 !important; overflow:hidden !important; }
body .bh-page .work h2,
body .bh-page .work .elementor-heading-title { color:#171717 !important; font-size:clamp(50px,4vw,72px) !important; line-height:.95 !important; margin-bottom:28px !important; }
body .bh-page .work h2 span,
body .bh-page .work .elementor-heading-title span { color:var(--bh-lime-dark) !important; }
body .bh-page .slider-wrap,
body .bh-page .slider-wrap > .e-con-inner { display:grid !important; grid-template-columns:42px minmax(0,1fr) 42px !important; align-items:center !important; gap:16px !important; width:100% !important; max-width:100% !important; }
body .bh-page .project-grid,
body .bh-page .project-grid > .e-con-inner { display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important; gap:14px !important; width:100% !important; max-width:100% !important; min-width:0 !important; }
body .bh-page .project-card { width:auto !important; min-height:240px !important; overflow:hidden !important; border-radius:9px !important; background:#d9d7d3 !important; box-shadow:0 18px 36px rgba(0,0,0,.12) !important; display:block !important; }
body .bh-page .project-card > .e-con-inner { width:100% !important; max-width:100% !important; height:100% !important; margin:0 !important; display:block !important; }
body .bh-page .project-card .elementor-widget-image,
body .bh-page .project-card .elementor-widget-container { width:100% !important; height:100% !important; }
body .bh-page .project-card img { display:block !important; width:100% !important; height:100% !important; min-height:240px !important; object-fit:cover !important; opacity:1 !important; }
body .bh-page .slider-arrow { position:static !important; transform:none !important; width:42px !important; height:42px !important; display:grid !important; place-items:center !important; border-radius:999px !important; background:#050505 !important; color:#fff !important; font-size:22px !important; line-height:1 !important; }

/* Stats + CTA + footer refinements. */
body .bh-page .stats { padding:82px 0 !important; background:radial-gradient(circle at 70% 35%, rgba(158,230,0,.10), transparent 28%), linear-gradient(135deg,#101010,#050505 58%,#060606) !important; }
body .bh-page .stats-grid,
body .bh-page .stats-grid > .e-con-inner { display:grid !important; grid-template-columns:1fr 1fr 1.45fr !important; gap:0 !important; width:min(calc(100vw - var(--bh-gutter)), var(--bh-container)) !important; max-width:min(calc(100vw - var(--bh-gutter)), var(--bh-container)) !important; margin-inline:auto !important; }
body .bh-page .stat { min-height:170px !important; display:grid !important; place-items:center !important; text-align:center !important; padding:20px 44px !important; border-right:1px solid rgba(158,230,0,.72) !important; }
body .bh-page .stat:last-child { border-right:0 !important; }
body .bh-page .stat .elementor-heading-title { color:var(--bh-lime) !important; font-size:clamp(54px,4.4vw,76px) !important; line-height:.9 !important; letter-spacing:-.045em !important; }
body .bh-page .stat p { color:#fff !important; font-weight:850 !important; text-transform:uppercase !important; font-size:22px !important; line-height:1.35 !important; }
body .bh-page .cta { padding:32px 0 !important; background:#050505 !important; }
body .bh-page .cta-panel,
body .bh-page .cta-panel > .e-con-inner { display:grid !important; grid-template-columns:1.35fr .75fr !important; align-items:center !important; gap:0 !important; min-height:316px !important; border-radius:7px !important; overflow:hidden !important; background:radial-gradient(circle at 86% 62%, rgba(158,230,0,.18), transparent 28%), linear-gradient(90deg,#f4f4f2,#fbfbfa 64%,#eeeeec) !important; }
body .bh-page .cta-copy { padding:58px 0 58px 82px !important; max-width:760px !important; }
body .bh-page .cta h2,
body .bh-page .cta .elementor-heading-title { color:#171717 !important; font-size:clamp(52px,4.3vw,76px) !important; line-height:.93 !important; margin-bottom:16px !important; }
body .bh-page .cta h2 span,
body .bh-page .cta .elementor-heading-title span { display:block !important; color:var(--bh-lime-dark) !important; }
body .bh-page .cta-phone img { display:block !important; width:min(430px,100%) !important; height:auto !important; margin:0 auto -45px !important; opacity:1 !important; }
body .bh-template-footer.site-footer { padding:64px 0 26px !important; background:radial-gradient(circle at 86% 18%, rgba(255,255,255,.055), transparent 20%), linear-gradient(135deg,#151515,#0d0d0d 64%,#191919) !important; }
body .bh-template-footer .footer-grid,
body .bh-template-footer .footer-grid > .e-con-inner { display:grid !important; grid-template-columns:1.35fr .8fr 1fr .8fr 1.15fr !important; gap:52px !important; align-items:start !important; padding-bottom:44px !important; border-bottom:1px solid rgba(255,255,255,.13) !important; }
body .bh-template-footer .footer-brand img { width:96px !important; }
body .bh-template-footer .footer-col h3,
body .bh-template-footer .footer-col .elementor-heading-title { color:#fff !important; font-size:14px !important; letter-spacing:-.01em !important; line-height:1.1 !important; }
body .bh-template-footer .footer-col a,
body .bh-template-footer .footer-col span,
body .bh-template-footer .footer-col p { color:rgba(255,255,255,.76) !important; font-size:15px !important; line-height:1.45 !important; }

@media (min-width:1500px) {
  body .bh-page .hero .elementor-heading-title, body .bh-page .hero h1 { font-size:132px !important; }
  body .bh-page .hero-art img { width:760px !important; }
}
@media (max-width:1120px) {
  :root { --bh-gutter:44px; }
  body .bh-template-header.site-header { padding-top:28px !important; }
  body .bh-template-header .header-inner,
  body .bh-template-header .header-inner > .e-con-inner { grid-template-columns:120px minmax(0,1fr) !important; align-items:center !important; gap:20px !important; }
  body .bh-template-header .brand img { width:86px !important; }
  body .bh-template-header .header-cta { display:none !important; }
  body .bh-template-header .main-nav { padding-top:0 !important; }
  body .bh-template-header .main-nav ul.elementor-nav-menu { justify-content:flex-end !important; flex-wrap:wrap !important; gap:12px 20px !important; }
  body .bh-page.hero, body .bh-page.bh-inicio.hero, body .bh-page .hero { min-height:auto !important; padding:155px 0 60px !important; }
  body .bh-page .hero-grid,
  body .bh-page .hero-grid > .e-con-inner,
  body .bh-page .about,
  body .bh-page .about > .e-con-inner,
  body .bh-page .cta-panel,
  body .bh-page .cta-panel > .e-con-inner { grid-template-columns:1fr !important; }
  body .bh-page .hero-copy { max-width:720px !important; }
  body .bh-page .hero-art { margin:20px 0 0 !important; justify-self:center !important; }
  body .bh-page .hero-art img { width:min(680px,92vw) !important; margin-inline:auto !important; }
  body .bh-page .about-copy { justify-self:start !important; max-width:650px !important; padding:70px 44px 30px !important; }
  body .bh-page .about-image, body .bh-page .about-image img { min-height:440px !important; }
  body .bh-page .service-grid,
  body .bh-page .service-grid > .e-con-inner { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  body .bh-page .project-grid,
  body .bh-page .project-grid > .e-con-inner { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  body .bh-page .stats-grid,
  body .bh-page .stats-grid > .e-con-inner { grid-template-columns:1fr !important; }
  body .bh-page .stat { border-right:0 !important; border-bottom:1px solid rgba(158,230,0,.72) !important; }
  body .bh-page .stat:last-child { border-bottom:0 !important; }
  body .bh-page .cta-copy { padding:48px 44px 20px !important; }
  body .bh-template-footer .footer-grid,
  body .bh-template-footer .footer-grid > .e-con-inner { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:34px !important; }
}
@media (max-width:760px) {
  :root { --bh-gutter:32px; }
  body .bh-template-header.site-header { padding-top:22px !important; }
  body .bh-template-header .header-inner,
  body .bh-template-header .header-inner > .e-con-inner { display:flex !important; flex-wrap:wrap !important; justify-content:space-between !important; align-items:center !important; }
  body .bh-template-header .brand, body .bh-template-header .brand.elementor-widget-image { width:auto !important; }
  body .bh-template-header .brand img { width:78px !important; }
  body .bh-template-header .main-nav { width:100% !important; padding-top:10px !important; }
  body .bh-template-header .main-nav ul.elementor-nav-menu { flex-wrap:nowrap !important; justify-content:flex-start !important; overflow-x:auto !important; gap:18px !important; padding-bottom:8px !important; }
  body .bh-template-header .main-nav a { font-size:11px !important; }
  body .bh-page.hero, body .bh-page.bh-inicio.hero, body .bh-page .hero { padding:145px 0 56px !important; }
  body .bh-page .hero .elementor-heading-title, body .bh-page .hero h1 { font-size:clamp(58px,18vw,78px) !important; line-height:.94 !important; }
  body .bh-page .hero-copy .elementor-widget-text-editor, body .bh-page .hero-copy p { width:100% !important; font-size:16px !important; }
  body .bh-page .button-row, body .bh-page .button-row > .e-con-inner { flex-direction:column !important; align-items:stretch !important; gap:14px !important; }
  body .bh-page .button-row .elementor-widget-button, body .bh-page .button-row .elementor-button { width:100% !important; }
  body .bh-page .about-copy { padding:58px 24px 26px !important; }
  body .bh-page .about h2, body .bh-page .about .elementor-heading-title,
  body .bh-page .services h2, body .bh-page .services .elementor-heading-title,
  body .bh-page .work h2, body .bh-page .work .elementor-heading-title,
  body .bh-page .cta h2, body .bh-page .cta .elementor-heading-title { font-size:clamp(42px,13vw,58px) !important; }
  body .bh-page .service-grid,
  body .bh-page .service-grid > .e-con-inner,
  body .bh-page .project-grid,
  body .bh-page .project-grid > .e-con-inner { grid-template-columns:1fr !important; display:grid !important; overflow:visible !important; }
  body .bh-page .project-card { min-width:0 !important; }
  body .bh-page .slider-wrap,
  body .bh-page .slider-wrap > .e-con-inner { grid-template-columns:1fr !important; }
  body .bh-page .slider-arrow { display:none !important; }
  body .bh-page .cta-copy { padding:42px 24px 12px !important; }
  body .bh-template-footer .footer-grid,
  body .bh-template-footer .footer-grid > .e-con-inner { grid-template-columns:1fr !important; }
}


/* Brandhaus pixel-polish deployment fix 2: Elementor boxed .e-con-inner wrappers */
.about, .services, .work, .stats, .cta,
.service-grid, .project-grid, .slider-wrap, .stats-grid, .cta-panel,
.about-copy, .about-image {
  --content-width:100% !important;
  --width:100% !important;
}
.about.e-con-boxed,
.about.e-con-boxed > .e-con-inner {
  width:100% !important;
  max-width:100% !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:0 !important;
  align-items:stretch !important;
  background:var(--bh-offwhite) !important;
  min-height:672px !important;
  margin:0 !important;
}
.about > .e-con-inner > .about-copy {
  width:100% !important;
  max-width:650px !important;
  justify-self:end !important;
  padding:93px 70px 84px 0 !important;
}
.about-copy > .e-con-inner,
.about-image > .e-con-inner {
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
}
.about-copy > .e-con-inner { display:block !important; }
.about > .e-con-inner > .about-image {
  width:100% !important;
  max-width:100% !important;
  min-height:672px !important;
  overflow:hidden !important;
  align-self:stretch !important;
}
.about-image > .e-con-inner,
.about-image .elementor-widget-image,
.about-image .elementor-widget-container { height:100% !important; }
.about-image img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:672px !important;
  object-fit:cover !important;
  object-position:center bottom !important;
}
.about h2, .about .elementor-heading-title { color:#171717 !important; font-size:clamp(52px,4.1vw,76px) !important; line-height:.94 !important; letter-spacing:-.065em !important; }
.about h2 span, .about .elementor-heading-title span { display:block !important; color:var(--bh-lime-dark) !important; }
.about p { color:#171717 !important; font-size:16px !important; line-height:1.72 !important; }

/* Use Elementor outer containers as blocks; grid the inner wrappers only. */
.service-grid, .project-grid, .slider-wrap, .stats-grid, .cta-panel,
.service-grid.e-con, .project-grid.e-con, .slider-wrap.e-con, .stats-grid.e-con, .cta-panel.e-con {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
.service-grid > .e-con-inner,
.project-grid > .e-con-inner,
.slider-wrap > .e-con-inner,
.stats-grid > .e-con-inner,
.cta-panel > .e-con-inner {
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  min-width:0 !important;
}
.services { padding:86px 0 82px !important; color:#050505 !important; background:radial-gradient(circle at 44% 18%, rgba(255,255,255,.25), transparent 23%), linear-gradient(135deg,#8ee000 0%,#a7ee09 52%,#85d000 100%) !important; }
.services h2, .services .elementor-heading-title { color:#050505 !important; max-width:760px !important; margin-bottom:42px !important; font-size:clamp(56px,4.75vw,84px) !important; line-height:.91 !important; letter-spacing:-.065em !important; }
.service-grid > .e-con-inner {
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
}
.service-grid > .e-con-inner > .service-card {
  width:auto !important;
  min-width:0 !important;
  min-height:326px !important;
  padding:41px 24px 30px !important;
  border:1px solid rgba(255,255,255,.78) !important;
  border-radius:8px !important;
  background:rgba(255,255,255,.045) !important;
  color:#050505 !important;
  text-align:center !important;
}
.service-card > .e-con-inner { width:100% !important; max-width:100% !important; height:100% !important; margin:0 !important; display:flex !important; flex-direction:column !important; align-items:center !important; }
.service-icon, .service-icon .elementor-widget-container { color:#050505 !important; font-size:42px !important; line-height:1 !important; min-height:56px !important; margin-bottom:12px !important; }
.service-card h3, .service-card .elementor-heading-title { color:#050505 !important; font-size:18px !important; line-height:.95 !important; letter-spacing:-.055em !important; max-width:165px !important; min-height:54px !important; margin:0 auto 30px !important; }
.service-card p { color:#050505 !important; font-size:15px !important; line-height:1.48 !important; max-width:190px !important; margin:0 auto 28px !important; }
.service-card .card-arrow { margin-top:auto !important; }

.work { padding:75px 0 80px !important; background:#f7f7f6 !important; overflow:hidden !important; }
.work h2, .work .elementor-heading-title { color:#171717 !important; font-size:clamp(50px,4vw,72px) !important; line-height:.95 !important; letter-spacing:-.065em !important; margin-bottom:28px !important; }
.work h2 span, .work .elementor-heading-title span { color:var(--bh-lime-dark) !important; }
.slider-wrap > .e-con-inner {
  display:grid !important;
  grid-template-columns:42px minmax(0,1fr) 42px !important;
  align-items:center !important;
  gap:16px !important;
}
.project-grid > .e-con-inner {
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
}
.project-grid > .e-con-inner > .project-card {
  width:auto !important;
  min-width:0 !important;
  min-height:240px !important;
  overflow:hidden !important;
  border-radius:9px !important;
  background:#d9d7d3 !important;
  box-shadow:0 18px 36px rgba(0,0,0,.12) !important;
}
.project-card > .e-con-inner { width:100% !important; max-width:100% !important; height:100% !important; margin:0 !important; display:block !important; }
.project-card .elementor-widget-image, .project-card .elementor-widget-container { width:100% !important; height:100% !important; }
.project-card img { display:block !important; width:100% !important; height:100% !important; min-height:240px !important; object-fit:cover !important; opacity:1 !important; }
.slider-arrow { position:static !important; transform:none !important; width:42px !important; height:42px !important; display:grid !important; place-items:center !important; border-radius:999px !important; background:#050505 !important; color:#fff !important; }

.stats-grid > .e-con-inner { display:grid !important; grid-template-columns:1fr 1fr 1.45fr !important; gap:0 !important; }
.cta-panel > .e-con-inner { display:grid !important; grid-template-columns:1.35fr .75fr !important; gap:0 !important; align-items:center !important; min-height:316px !important; }
.cta-panel { border-radius:7px !important; overflow:hidden !important; background:radial-gradient(circle at 86% 62%, rgba(158,230,0,.18), transparent 28%), linear-gradient(90deg,#f4f4f2,#fbfbfa 64%,#eeeeec) !important; }

@media (max-width:1120px) {
  .about.e-con-boxed > .e-con-inner,
  .cta-panel > .e-con-inner { grid-template-columns:1fr !important; }
  .about > .e-con-inner > .about-copy { justify-self:start !important; max-width:650px !important; padding:70px 44px 30px !important; }
  .about > .e-con-inner > .about-image, .about-image img { min-height:440px !important; }
  .service-grid > .e-con-inner { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .project-grid > .e-con-inner { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .stats-grid > .e-con-inner { grid-template-columns:1fr !important; }
}
@media (max-width:760px) {
  .about > .e-con-inner > .about-copy { padding:58px 24px 26px !important; }
  .service-grid > .e-con-inner,
  .project-grid > .e-con-inner,
  .slider-wrap > .e-con-inner { grid-template-columns:1fr !important; }
  .slider-arrow { display:none !important; }
}


/* Brandhaus pixel-polish deployment fix 3: about outer wrapper must not grid its own boxed inner. */
.about.e-con-boxed,
.about.e-con-boxed.e-con,
.about {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  background:var(--bh-offwhite) !important;
  min-height:672px !important;
}
.about.e-con-boxed > .e-con-inner,
.about > .e-con-inner {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  gap:0 !important;
  align-items:stretch !important;
}
.about > .e-con-inner > .about-copy,
.about > .e-con-inner > .about-image { min-width:0 !important; }
@media (max-width:1120px) {
  .about.e-con-boxed > .e-con-inner,
  .about > .e-con-inner { grid-template-columns:1fr !important; }
}


/* Brandhaus pixel-polish deployment fix 4: override Elementor background/button wrappers explicitly. */
.elementor-element.services,
.elementor .elementor-element.services.e-con,
body .elementor .elementor-element.services {
  background-color:#9ee600 !important;
  background-image:radial-gradient(circle at 44% 18%, rgba(255,255,255,.25), transparent 23%), linear-gradient(135deg,#8ee000 0%,#a7ee09 52%,#85d000 100%) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
}
.bh-template-header .header-cta,
.bh-template-header .header-cta.elementor-widget-button {
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  padding-top:7px !important;
  height:auto !important;
  min-height:0 !important;
}
.bh-template-header .header-cta .elementor-widget-container { border:0 !important; background:transparent !important; }
.bh-template-header .header-cta .elementor-button { box-sizing:border-box !important; width:150px !important; min-width:150px !important; height:62px !important; min-height:62px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; }


/* Brandhaus pixel-polish deployment fix 5: remove Elementor wrapper borders and sharpen text contrast. */
.btn-outline,
.btn-outline.elementor-widget-button,
.btn-outline .elementor-widget-container,
.header-cta,
.header-cta .elementor-widget-container {
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.btn-outline .elementor-button {
  border:1px solid rgba(255,255,255,.72) !important;
  box-shadow:none !important;
}
.service-card p,
.service-card .elementor-widget-text-editor,
.service-card .elementor-widget-text-editor p {
  color:#050505 !important;
  opacity:1 !important;
  font-weight:500 !important;
}
.bh-template-footer .footer-col a,
.bh-template-footer .footer-col span,
.bh-template-footer .footer-col p {
  color:rgba(255,255,255,.82) !important;
}


/* Brandhaus pixel-polish pass 6: asset fallbacks, CTA panel restoration, tighter section rhythm. */
body .bh-page .container,
body .bh-page .container > .e-con-inner {
  padding-left:0 !important;
  padding-right:0 !important;
}
body .bh-page .work .container,
body .bh-page .services .container,
body .bh-page .stats-grid,
body .bh-page .cta-panel,
body .bh-page .work .container > .e-con-inner,
body .bh-page .services .container > .e-con-inner,
body .bh-page .stats-grid > .e-con-inner,
body .bh-page .cta-panel > .e-con-inner {
  width:min(calc(100vw - var(--bh-gutter, 64px)), var(--bh-container, 1300px)) !important;
  max-width:min(calc(100vw - var(--bh-gutter, 64px)), var(--bh-container, 1300px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
body .bh-page .work .container,
body .bh-page .services .container {
  display:block !important;
}
body .bh-page .work .container > .e-con-inner,
body .bh-page .services .container > .e-con-inner {
  display:block !important;
  padding:0 !important;
}
body .bh-page .hero .elementor-heading-title,
body .bh-page .hero h1 {
  margin-bottom:30px !important;
}
body .bh-page .hero-copy .elementor-widget-text-editor,
body .bh-page .hero-copy p {
  margin-bottom:38px !important;
}
body .bh-page .btn-primary .elementor-button,
body .bh-page .cta .btn-primary .elementor-button {
  box-shadow:0 14px 28px rgba(158,230,0,.20) !important;
}
body .bh-page .about-copy {
  padding-top:100px !important;
}
body .bh-page .service-grid > .e-con-inner {
  gap:12px !important;
}
body .bh-page .service-grid > .e-con-inner > .service-card {
  min-height:314px !important;
  padding:38px 22px 28px !important;
  border-color:rgba(255,255,255,.86) !important;
}
body .bh-page .service-card h3,
body .bh-page .service-card .elementor-heading-title {
  margin-bottom:24px !important;
}
body .bh-page .service-card p {
  font-size:14px !important;
  line-height:1.5 !important;
}
body .bh-page .work {
  padding-top:82px !important;
  padding-bottom:84px !important;
}
body .bh-page .slider-wrap,
body .bh-page .slider-wrap > .e-con-inner {
  width:min(calc(100vw - 32px), 1420px) !important;
  max-width:min(calc(100vw - 32px), 1420px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
body .bh-page .slider-wrap > .e-con-inner {
  display:grid !important;
  grid-template-columns:46px minmax(0,1fr) 46px !important;
  gap:18px !important;
  padding:0 !important;
}
body .bh-page .project-grid,
body .bh-page .project-grid > .e-con-inner {
  width:100% !important;
  max-width:100% !important;
}
body .bh-page .project-grid > .e-con-inner {
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
  padding:0 !important;
}
body .bh-page .project-grid > .e-con-inner > .project-card {
  min-height:252px !important;
  border-radius:8px !important;
  background-color:#d8d5d1 !important;
  background-size:cover !important;
  background-position:center !important;
  box-shadow:0 20px 38px rgba(0,0,0,.13) !important;
}
body .bh-page .project-grid > .e-con-inner > .project-card:nth-child(1) { background-image:url('/wp-content/uploads/brandhaus-assets/project-nadua.svg') !important; }
body .bh-page .project-grid > .e-con-inner > .project-card:nth-child(2) { background-image:url('/wp-content/uploads/brandhaus-assets/project-saona.svg') !important; }
body .bh-page .project-grid > .e-con-inner > .project-card:nth-child(3) { background-image:url('/wp-content/uploads/brandhaus-assets/project-mauro.svg') !important; }
body .bh-page .project-grid > .e-con-inner > .project-card:nth-child(4) { background-image:url('/wp-content/uploads/brandhaus-assets/project-klae.svg') !important; }
body .bh-page .project-grid > .e-con-inner > .project-card:nth-child(5) { background-image:url('/wp-content/uploads/brandhaus-assets/project-inka.svg') !important; }
body .bh-page .project-card img {
  opacity:0 !important;
}
body .bh-page .slider-arrow {
  width:46px !important;
  height:46px !important;
  font-size:24px !important;
}
body .bh-page .stats {
  padding:88px 0 !important;
}
body .bh-page .stat {
  min-height:184px !important;
}
body .bh-page .stat p {
  max-width:260px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
body .bh-page .cta {
  padding:42px 0 40px !important;
  background:#050505 !important;
}
body .bh-page .cta-panel,
body .elementor .elementor-element.cta-panel,
body .bh-page .cta-panel.e-con-boxed {
  border-radius:7px !important;
  overflow:hidden !important;
  background-color:#f6f6f4 !important;
  background-image:radial-gradient(circle at 86% 60%, rgba(158,230,0,.18), transparent 31%), linear-gradient(90deg,#f5f5f3 0%,#fbfbfa 64%,#ececea 100%) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
}
body .bh-page .cta-panel,
body .bh-page .cta-panel > .e-con-inner {
  min-height:316px !important;
}
body .bh-page .cta-panel > .e-con-inner {
  display:grid !important;
  grid-template-columns:minmax(0,1.28fr) minmax(320px,.72fr) !important;
  align-items:center !important;
  gap:0 !important;
  padding:0 !important;
}
body .bh-page .cta-copy {
  padding:56px 0 56px 78px !important;
  max-width:760px !important;
}
body .bh-page .cta h2,
body .bh-page .cta .elementor-heading-title {
  max-width:720px !important;
  margin-bottom:16px !important;
}
body .bh-page .cta-phone {
  min-height:316px !important;
  align-self:stretch !important;
  background-image:url('/wp-content/uploads/brandhaus-assets/phone-mockup.svg') !important;
  background-repeat:no-repeat !important;
  background-position:center bottom -48px !important;
  background-size:min(390px, 82%) auto !important;
}
body .bh-page .cta-phone img {
  opacity:0 !important;
}
body .bh-template-footer.site-footer {
  padding-top:68px !important;
}
body .bh-template-footer .footer-grid,
body .bh-template-footer .footer-grid > .e-con-inner {
  gap:48px !important;
}
body .bh-template-footer .footer-col a:hover {
  color:var(--bh-lime) !important;
}

@media (min-width:1500px) {
  body .bh-page .project-grid > .e-con-inner > .project-card { min-height:272px !important; }
}
@media (max-width:1120px) {
  body .bh-page .slider-wrap,
  body .bh-page .slider-wrap > .e-con-inner {
    width:min(calc(100vw - var(--bh-gutter, 44px)), var(--bh-container, 1300px)) !important;
    max-width:min(calc(100vw - var(--bh-gutter, 44px)), var(--bh-container, 1300px)) !important;
  }
  body .bh-page .slider-wrap > .e-con-inner {
    grid-template-columns:42px minmax(0,1fr) 42px !important;
  }
  body .bh-page .project-grid > .e-con-inner { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  body .bh-page .cta-panel > .e-con-inner { grid-template-columns:1fr !important; }
  body .bh-page .cta-phone { min-height:360px !important; background-position:center bottom -36px !important; }
}
@media (max-width:760px) {
  body .bh-page .work .container,
  body .bh-page .services .container,
  body .bh-page .stats-grid,
  body .bh-page .cta-panel,
  body .bh-page .work .container > .e-con-inner,
  body .bh-page .services .container > .e-con-inner,
  body .bh-page .stats-grid > .e-con-inner,
  body .bh-page .cta-panel > .e-con-inner {
    width:min(calc(100vw - var(--bh-gutter, 32px)), var(--bh-container, 1300px)) !important;
    max-width:min(calc(100vw - var(--bh-gutter, 32px)), var(--bh-container, 1300px)) !important;
  }
  body .bh-page .slider-wrap,
  body .bh-page .slider-wrap > .e-con-inner { width:min(calc(100vw - 32px), 420px) !important; max-width:min(calc(100vw - 32px), 420px) !important; }
  body .bh-page .project-grid > .e-con-inner { grid-template-columns:1fr !important; gap:18px !important; }
  body .bh-page .project-grid > .e-con-inner > .project-card { min-height:260px !important; }
  body .bh-page .cta-copy { padding:42px 24px 8px !important; }
  body .bh-page .cta-phone { min-height:300px !important; background-size:min(310px, 86%) auto !important; background-position:center bottom -38px !important; }
}


/* Brandhaus pixel-polish pass 6b: unscoped Elementor section fixes for pages whose sections are siblings, not children of .bh-page. */
.container,
.container > .e-con-inner {
  padding-left:0 !important;
  padding-right:0 !important;
}
.work .container,
.services .container,
.stats-grid,
.cta-panel,
.work .container > .e-con-inner,
.services .container > .e-con-inner,
.stats-grid > .e-con-inner,
.cta-panel > .e-con-inner {
  width:min(calc(100vw - var(--bh-gutter, 64px)), var(--bh-container, 1300px)) !important;
  max-width:min(calc(100vw - var(--bh-gutter, 64px)), var(--bh-container, 1300px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.work .container,
.services .container { display:block !important; }
.work .container > .e-con-inner,
.services .container > .e-con-inner { display:block !important; padding:0 !important; }
.service-grid > .e-con-inner { gap:12px !important; }
.service-grid > .e-con-inner > .service-card { min-height:314px !important; padding:38px 22px 28px !important; border-color:rgba(255,255,255,.86) !important; }
.service-card h3,
.service-card .elementor-heading-title { margin-bottom:24px !important; }
.service-card p { font-size:14px !important; line-height:1.5 !important; }
.work { padding-top:82px !important; padding-bottom:84px !important; }
.slider-wrap,
.slider-wrap > .e-con-inner {
  width:min(calc(100vw - 32px), 1420px) !important;
  max-width:min(calc(100vw - 32px), 1420px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.slider-wrap > .e-con-inner {
  display:grid !important;
  grid-template-columns:46px minmax(0,1fr) 46px !important;
  gap:18px !important;
  padding:0 !important;
}
.project-grid,
.project-grid > .e-con-inner { width:100% !important; max-width:100% !important; }
.project-grid > .e-con-inner {
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
  padding:0 !important;
}
.project-grid > .e-con-inner > .project-card {
  min-height:252px !important;
  border-radius:8px !important;
  background-color:#d8d5d1 !important;
  background-size:cover !important;
  background-position:center !important;
  box-shadow:0 20px 38px rgba(0,0,0,.13) !important;
}
.project-grid > .e-con-inner > .project-card:nth-child(1) { background-image:url('/wp-content/uploads/brandhaus-assets/project-nadua.svg') !important; }
.project-grid > .e-con-inner > .project-card:nth-child(2) { background-image:url('/wp-content/uploads/brandhaus-assets/project-saona.svg') !important; }
.project-grid > .e-con-inner > .project-card:nth-child(3) { background-image:url('/wp-content/uploads/brandhaus-assets/project-mauro.svg') !important; }
.project-grid > .e-con-inner > .project-card:nth-child(4) { background-image:url('/wp-content/uploads/brandhaus-assets/project-klae.svg') !important; }
.project-grid > .e-con-inner > .project-card:nth-child(5) { background-image:url('/wp-content/uploads/brandhaus-assets/project-inka.svg') !important; }
.project-card img { opacity:0 !important; }
.slider-arrow { width:46px !important; height:46px !important; font-size:24px !important; }
.stats { padding:88px 0 !important; }
.stat { min-height:184px !important; }
.stat p { max-width:260px !important; margin-left:auto !important; margin-right:auto !important; }
.cta { padding:42px 0 40px !important; background:#050505 !important; }
.cta-panel,
.elementor .elementor-element.cta-panel,
.cta-panel.e-con-boxed {
  border-radius:7px !important;
  overflow:hidden !important;
  background-color:#f6f6f4 !important;
  background-image:radial-gradient(circle at 86% 60%, rgba(158,230,0,.18), transparent 31%), linear-gradient(90deg,#f5f5f3 0%,#fbfbfa 64%,#ececea 100%) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
}
.cta-panel,
.cta-panel > .e-con-inner { min-height:316px !important; }
.cta-panel > .e-con-inner {
  display:grid !important;
  grid-template-columns:minmax(0,1.28fr) minmax(320px,.72fr) !important;
  align-items:center !important;
  gap:0 !important;
  padding:0 !important;
}
.cta-copy { padding:56px 0 56px 78px !important; max-width:760px !important; }
.cta h2,
.cta .elementor-heading-title { max-width:720px !important; margin-bottom:16px !important; }
.cta-phone {
  min-height:316px !important;
  align-self:stretch !important;
  background-image:url('/wp-content/uploads/brandhaus-assets/phone-mockup.svg') !important;
  background-repeat:no-repeat !important;
  background-position:center bottom -48px !important;
  background-size:min(390px, 82%) auto !important;
}
.cta-phone img { opacity:0 !important; }
@media (min-width:1500px) {
  .project-grid > .e-con-inner > .project-card { min-height:272px !important; }
}
@media (max-width:1120px) {
  .slider-wrap,
  .slider-wrap > .e-con-inner {
    width:min(calc(100vw - var(--bh-gutter, 44px)), var(--bh-container, 1300px)) !important;
    max-width:min(calc(100vw - var(--bh-gutter, 44px)), var(--bh-container, 1300px)) !important;
  }
  .slider-wrap > .e-con-inner { grid-template-columns:42px minmax(0,1fr) 42px !important; }
  .project-grid > .e-con-inner { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .cta-panel > .e-con-inner { grid-template-columns:1fr !important; }
  .cta-phone { min-height:360px !important; background-position:center bottom -36px !important; }
}
@media (max-width:760px) {
  .work .container,
  .services .container,
  .stats-grid,
  .cta-panel,
  .work .container > .e-con-inner,
  .services .container > .e-con-inner,
  .stats-grid > .e-con-inner,
  .cta-panel > .e-con-inner {
    width:min(calc(100vw - var(--bh-gutter, 32px)), var(--bh-container, 1300px)) !important;
    max-width:min(calc(100vw - var(--bh-gutter, 32px)), var(--bh-container, 1300px)) !important;
  }
  .slider-wrap,
  .slider-wrap > .e-con-inner { width:min(calc(100vw - 32px), 420px) !important; max-width:min(calc(100vw - 32px), 420px) !important; }
  .project-grid > .e-con-inner { grid-template-columns:1fr !important; gap:18px !important; }
  .project-grid > .e-con-inner > .project-card { min-height:260px !important; }
  .cta-copy { padding:42px 24px 8px !important; }
  .cta-phone { min-height:300px !important; background-size:min(310px, 86%) auto !important; background-position:center bottom -38px !important; }
}


/* Brandhaus pixel-polish pass 6c: high-specificity Elementor generated-section overrides. */
body.elementor-page .elementor .project-grid > .e-con-inner > .elementor-element.project-card {
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
body.elementor-page .elementor .project-grid > .e-con-inner > .elementor-element.project-card:nth-child(1) { background-image:url('/wp-content/uploads/brandhaus-assets/project-nadua.svg') !important; }
body.elementor-page .elementor .project-grid > .e-con-inner > .elementor-element.project-card:nth-child(2) { background-image:url('/wp-content/uploads/brandhaus-assets/project-saona.svg') !important; }
body.elementor-page .elementor .project-grid > .e-con-inner > .elementor-element.project-card:nth-child(3) { background-image:url('/wp-content/uploads/brandhaus-assets/project-mauro.svg') !important; }
body.elementor-page .elementor .project-grid > .e-con-inner > .elementor-element.project-card:nth-child(4) { background-image:url('/wp-content/uploads/brandhaus-assets/project-klae.svg') !important; }
body.elementor-page .elementor .project-grid > .e-con-inner > .elementor-element.project-card:nth-child(5) { background-image:url('/wp-content/uploads/brandhaus-assets/project-inka.svg') !important; }
body.elementor-page .elementor .elementor-element.elementor-element-0000059.cta-panel.e-con.e-con-boxed,
body.elementor-page .elementor .elementor-element.cta-panel.e-con.e-con-boxed {
  background-color:#f6f6f4 !important;
  background-image:radial-gradient(circle at 86% 60%, rgba(158,230,0,.18), transparent 31%), linear-gradient(90deg,#f5f5f3 0%,#fbfbfa 64%,#ececea 100%) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
}
body.elementor-page .elementor .elementor-element.elementor-element-0000058.cta-phone.e-con.e-con-boxed,
body.elementor-page .elementor .elementor-element.cta-phone.e-con.e-con-boxed {
  background-image:url('/wp-content/uploads/brandhaus-assets/phone-mockup.svg') !important;
  background-repeat:no-repeat !important;
  background-position:center bottom -48px !important;
  background-size:min(390px, 82%) auto !important;
}


/* Brandhaus pixel-polish pass 7: inner-page white header + Servicios page layout normalization. */
body:not(.home) .bh-template-header.site-header {
  position:relative !important;
  inset:auto !important;
  padding:34px 0 24px !important;
  background:#fff !important;
  color:#101010 !important;
  box-shadow:0 1px 0 rgba(0,0,0,.04) !important;
}
body:not(.home) .bh-template-header .header-inner,
body:not(.home) .bh-template-header .header-inner > .e-con-inner {
  align-items:start !important;
}
body:not(.home) .bh-template-header .brand,
body:not(.home) .bh-template-header .brand.elementor-widget-image {
  height:76px !important;
  background-image:url('/wp-content/uploads/brandhaus-assets/logo-brandhaus-dark.svg') !important;
  background-repeat:no-repeat !important;
  background-size:95px auto !important;
  background-position:left top !important;
}
body:not(.home) .bh-template-header .brand img {
  opacity:0 !important;
}
body:not(.home) .bh-template-header .main-nav a {
  color:#101010 !important;
}
body:not(.home) .bh-template-header .main-nav a:hover,
body:not(.home) .bh-template-header .main-nav .current-menu-item > a,
body:not(.home) .bh-template-header .main-nav a.elementor-item-active {
  color:#101010 !important;
}
body:not(.home) .bh-template-header .main-nav .current-menu-item > a::after,
body:not(.home) .bh-template-header .main-nav a.elementor-item-active::after {
  background:var(--bh-lime) !important;
}
body:not(.home) .bh-template-header .header-cta .elementor-button {
  color:#101010 !important;
  border-color:rgba(0,0,0,.32) !important;
  background:#fff !important;
}

/* Servicios page: intended design has title left and five cards in one horizontal row. */
.inner-hero-services,
body .inner-hero-services.inner-hero {
  padding:34px 0 42px !important;
  min-height:auto !important;
  background:#fff !important;
}
.inner-hero-services .inner-layout,
.inner-hero-services .inner-layout > .e-con-inner {
  width:min(calc(100vw - var(--bh-gutter, 64px)), var(--bh-container, 1300px)) !important;
  max-width:min(calc(100vw - var(--bh-gutter, 64px)), var(--bh-container, 1300px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:grid !important;
  grid-template-columns:minmax(260px, 300px) minmax(0, 1fr) !important;
  align-items:center !important;
  gap:32px !important;
  padding:0 !important;
}
.inner-hero-services .inner-title-block {
  width:100% !important;
  max-width:300px !important;
  min-width:0 !important;
  padding:0 !important;
  overflow:visible !important;
}
.inner-hero-services .inner-title-block > .e-con-inner {
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  display:block !important;
}
.inner-hero-services .inner-title-block h1,
.inner-hero-services .inner-title-block .elementor-heading-title {
  color:#101010 !important;
  font-size:clamp(68px, 5.8vw, 96px) !important;
  line-height:.88 !important;
  letter-spacing:-.065em !important;
  white-space:nowrap !important;
  margin:0 0 22px !important;
}
.inner-hero-services .inner-title-block .elementor-widget-text-editor,
.inner-hero-services .inner-title-block p {
  color:#262626 !important;
  font-size:17px !important;
  line-height:1.55 !important;
  max-width:290px !important;
}
.inner-hero-services .five-cards,
.inner-hero-services .five-cards.e-con,
.inner-hero-services .five-cards > .e-con-inner {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.inner-hero-services .five-cards { display:block !important; }
.inner-hero-services .five-cards > .e-con-inner {
  display:grid !important;
  grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
  gap:12px !important;
  align-items:stretch !important;
}
.inner-hero-services .five-cards > .e-con-inner > .inner-card,
.inner-hero-services .five-cards > .e-con-inner > .service-card {
  width:auto !important;
  min-width:0 !important;
  min-height:260px !important;
  padding:32px 18px 24px !important;
  border:1px solid rgba(0,0,0,.14) !important;
  border-radius:6px !important;
  background:#fff !important;
  text-align:center !important;
  color:#101010 !important;
}
.inner-hero-services .inner-card > .e-con-inner,
.inner-hero-services .service-card > .e-con-inner {
  width:100% !important;
  max-width:100% !important;
  height:100% !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}
.inner-hero-services .service-icon,
.inner-hero-services .service-icon .elementor-widget-container {
  color:#101010 !important;
  font-size:38px !important;
  min-height:50px !important;
  margin-bottom:18px !important;
}
.inner-hero-services .inner-card h3,
.inner-hero-services .inner-card .elementor-heading-title {
  color:#101010 !important;
  font-size:17px !important;
  line-height:.96 !important;
  letter-spacing:-.055em !important;
  min-height:42px !important;
  max-width:150px !important;
  margin:0 auto 18px !important;
}
.inner-hero-services .inner-card p {
  color:#101010 !important;
  font-size:13px !important;
  line-height:1.45 !important;
  max-width:150px !important;
  margin:0 auto 18px !important;
}
.inner-hero-services .inner-card .card-arrow {
  margin-top:auto !important;
  color:#101010 !important;
  font-size:20px !important;
}
.inner-hero-services .inner-card:hover {
  transform:translateY(-3px) !important;
  border-color:rgba(158,230,0,.9) !important;
  box-shadow:0 16px 32px rgba(0,0,0,.08) !important;
}
.inner-hero-services .inner-card:hover .card-arrow {
  transform:translateX(4px) !important;
}

.inner-cta-strip,
body .inner-cta-strip {
  padding:24px 0 !important;
  min-height:104px !important;
  background:#f0f0ef !important;
}
.inner-cta-strip > .e-con-inner {
  width:min(calc(100vw - var(--bh-gutter, 64px)), var(--bh-container, 1300px)) !important;
  max-width:min(calc(100vw - var(--bh-gutter, 64px)), var(--bh-container, 1300px)) !important;
  margin-inline:auto !important;
  display:grid !important;
  grid-template-columns:auto auto !important;
  justify-content:center !important;
  align-items:center !important;
  gap:78px !important;
  padding:0 !important;
}
.inner-cta-strip .elementor-widget-heading,
.inner-cta-strip .elementor-widget-button {
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
}
.inner-cta-strip h2,
.inner-cta-strip .elementor-heading-title {
  color:#101010 !important;
  font-size:28px !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
  margin:0 !important;
  white-space:nowrap !important;
}
.inner-cta-strip .elementor-button {
  min-width:170px !important;
  min-height:54px !important;
  box-shadow:0 12px 28px rgba(158,230,0,.22) !important;
}

/* Homepage refinements from live QA. */
.slider-wrap,
.slider-wrap > .e-con-inner {
  width:min(calc(100vw - 96px), 1420px) !important;
  max-width:min(calc(100vw - 96px), 1420px) !important;
}
.cta-phone { background-position:center bottom -22px !important; }
.bh-template-footer .footer-col a,
.bh-template-footer .footer-col span,
.bh-template-footer .footer-col p {
  color:rgba(255,255,255,.88) !important;
}
.bh-template-footer .footer-bottom,
.bh-template-footer .site-info,
.bh-template-footer .copyright {
  color:rgba(255,255,255,.68) !important;
}

@media (max-width:1120px) {
  body:not(.home) .bh-template-header .header-inner,
  body:not(.home) .bh-template-header .header-inner > .e-con-inner {
    grid-template-columns:120px minmax(0,1fr) !important;
  }
  .inner-hero-services .inner-layout,
  .inner-hero-services .inner-layout > .e-con-inner {
    grid-template-columns:1fr !important;
    gap:34px !important;
    padding-top:12px !important;
  }
  .inner-hero-services .inner-title-block { max-width:620px !important; }
  .inner-hero-services .inner-title-block h1,
  .inner-hero-services .inner-title-block .elementor-heading-title { white-space:normal !important; }
  .inner-hero-services .five-cards > .e-con-inner { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .slider-wrap,
  .slider-wrap > .e-con-inner { width:min(calc(100vw - var(--bh-gutter, 44px)), var(--bh-container, 1300px)) !important; max-width:min(calc(100vw - var(--bh-gutter, 44px)), var(--bh-container, 1300px)) !important; }
}
@media (max-width:760px) {
  body:not(.home) .bh-template-header.site-header { padding:22px 0 18px !important; }
  body:not(.home) .bh-template-header .brand,
  body:not(.home) .bh-template-header .brand.elementor-widget-image { height:62px !important; background-size:78px auto !important; }
  .inner-hero-services { padding:28px 0 36px !important; }
  .inner-hero-services .inner-title-block h1,
  .inner-hero-services .inner-title-block .elementor-heading-title { font-size:clamp(54px,18vw,76px) !important; }
  .inner-hero-services .five-cards > .e-con-inner { grid-template-columns:1fr !important; }
  .inner-hero-services .five-cards > .e-con-inner > .inner-card,
  .inner-hero-services .five-cards > .e-con-inner > .service-card { min-height:240px !important; }
  .inner-cta-strip > .e-con-inner { grid-template-columns:1fr !important; gap:20px !important; text-align:center !important; }
  .inner-cta-strip h2,
  .inner-cta-strip .elementor-heading-title { white-space:normal !important; font-size:26px !important; }
  .inner-cta-strip .elementor-button { width:100% !important; }
  .slider-wrap,
  .slider-wrap > .e-con-inner { width:min(calc(100vw - 32px), 420px) !important; max-width:min(calc(100vw - 32px), 420px) !important; }
}


/* Brandhaus pixel-polish pass 7b: reduce Servicios title/card collision and card height. */
.inner-hero-services .inner-layout,
.inner-hero-services .inner-layout > .e-con-inner {
  grid-template-columns:minmax(340px, 400px) minmax(0, 1fr) !important;
  gap:30px !important;
  align-items:center !important;
}
.inner-hero-services .inner-title-block {
  max-width:400px !important;
}
.inner-hero-services .inner-title-block h1,
.inner-hero-services .inner-title-block .elementor-heading-title {
  font-size:clamp(64px, 5.25vw, 88px) !important;
  max-width:400px !important;
}
.inner-hero-services .five-cards > .e-con-inner {
  align-items:center !important;
}
.inner-hero-services .five-cards > .e-con-inner > .inner-card,
.inner-hero-services .five-cards > .e-con-inner > .service-card {
  height:300px !important;
  min-height:300px !important;
  max-height:300px !important;
  padding:30px 16px 22px !important;
  align-self:center !important;
  overflow:hidden !important;
}
.inner-hero-services .inner-card h3,
.inner-hero-services .inner-card .elementor-heading-title {
  font-size:16px !important;
  min-height:40px !important;
  margin-bottom:16px !important;
}
.inner-hero-services .inner-card p {
  font-size:12.5px !important;
  line-height:1.42 !important;
  margin-bottom:14px !important;
}
.inner-hero-services .service-icon,
.inner-hero-services .service-icon .elementor-widget-container {
  font-size:34px !important;
  min-height:44px !important;
  margin-bottom:16px !important;
}
body:not(.home) .bh-template-header.site-header {
  padding-top:26px !important;
  padding-bottom:18px !important;
}
body:not(.home) .bh-template-header .brand,
body:not(.home) .bh-template-header .brand.elementor-widget-image {
  height:70px !important;
  background-size:90px auto !important;
}
@media (max-width:1120px) {
  .inner-hero-services .inner-layout,
  .inner-hero-services .inner-layout > .e-con-inner { grid-template-columns:1fr !important; }
  .inner-hero-services .five-cards > .e-con-inner > .inner-card,
  .inner-hero-services .five-cards > .e-con-inner > .service-card { height:auto !important; max-height:none !important; min-height:250px !important; }
}


/* Brandhaus pixel-polish pass 7c: improve Servicios card readability. */
.inner-hero-services .five-cards > .e-con-inner > .inner-card,
.inner-hero-services .five-cards > .e-con-inner > .service-card {
  height:auto !important;
  min-height:326px !important;
  max-height:none !important;
  padding:30px 14px 24px !important;
  overflow:visible !important;
}
.inner-hero-services .inner-card h3,
.inner-hero-services .inner-card .elementor-heading-title {
  font-size:15px !important;
  line-height:.98 !important;
  letter-spacing:-.045em !important;
  max-width:100% !important;
  min-height:44px !important;
  margin-bottom:17px !important;
  word-break:normal !important;
  overflow:visible !important;
}
.inner-hero-services .inner-card p {
  font-size:12px !important;
  line-height:1.42 !important;
  max-width:140px !important;
  margin-bottom:16px !important;
}
.inner-hero-services .service-icon,
.inner-hero-services .service-icon .elementor-widget-container {
  font-size:33px !important;
  min-height:42px !important;
  margin-bottom:17px !important;
}


/* Brandhaus pixel-polish pass 8: restore remaining inner-page desktop composition. */
body:not(.home) .bh-template-header.site-header {
  min-height: 126px !important;
}
body:not(.home) .bh-template-header .header-inner,
body:not(.home) .bh-template-header .header-inner > .e-con-inner {
  align-items: center !important;
}

.inner-hero-process,
.inner-hero-products,
.inner-hero-faq,
.inner-hero-brief,
.inner-hero-contact {
  background:#fff !important;
  min-height:auto !important;
  padding:54px 0 0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}
.inner-hero-process > .e-con-inner,
.inner-hero-products > .e-con-inner,
.inner-hero-faq > .e-con-inner,
.inner-hero-brief > .e-con-inner,
.inner-hero-contact > .e-con-inner {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
}
.inner-hero-process .container.inner-layout,
.inner-hero-products .container.inner-layout,
.inner-hero-faq .container.inner-layout,
.inner-hero-brief .container.inner-layout,
.inner-hero-contact .container.inner-layout {
  width:min(calc(100vw - var(--bh-gutter, 64px)), var(--bh-container, 1300px)) !important;
  max-width:min(calc(100vw - var(--bh-gutter, 64px)), var(--bh-container, 1300px)) !important;
  margin-inline:auto !important;
  padding:42px 0 58px !important;
  min-height:350px !important;
}
.inner-hero-process .container.inner-layout > .e-con-inner,
.inner-hero-products .container.inner-layout > .e-con-inner,
.inner-hero-faq .container.inner-layout > .e-con-inner,
.inner-hero-brief .container.inner-layout > .e-con-inner,
.inner-hero-contact .container.inner-layout > .e-con-inner {
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  align-items:center !important;
}
.inner-hero-process .inner-title-block,
.inner-hero-products .inner-title-block,
.inner-hero-faq .inner-title-block,
.inner-hero-brief .inner-title-block,
.inner-hero-contact .contact-info {
  min-width:0 !important;
  width:100% !important;
  overflow:visible !important;
}
.inner-hero-process .inner-title-block > .e-con-inner,
.inner-hero-products .inner-title-block > .e-con-inner,
.inner-hero-faq .inner-title-block > .e-con-inner,
.inner-hero-brief .inner-title-block > .e-con-inner,
.inner-hero-contact .contact-info > .e-con-inner {
  width:100% !important;
  max-width:100% !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}
.inner-hero-process .inner-title-block h1,
.inner-hero-products .inner-title-block h1,
.inner-hero-faq .inner-title-block h1,
.inner-hero-brief .inner-title-block h1,
.inner-hero-contact .contact-info h1,
.inner-hero-process .inner-title-block .elementor-heading-title,
.inner-hero-products .inner-title-block .elementor-heading-title,
.inner-hero-faq .inner-title-block .elementor-heading-title,
.inner-hero-brief .inner-title-block .elementor-heading-title,
.inner-hero-contact .contact-info .elementor-heading-title {
  color:#050505 !important;
  font-size:clamp(62px, 5.8vw, 96px) !important;
  line-height:.9 !important;
  letter-spacing:-.065em !important;
  margin:0 0 24px !important;
  text-transform:uppercase !important;
}
.inner-hero-faq .inner-title-block h1,
.inner-hero-faq .inner-title-block .elementor-heading-title {
  font-size:clamp(56px, 5.35vw, 86px) !important;
  max-width:420px !important;
}
.inner-hero-process .inner-title-block .elementor-widget-heading::after,
.inner-hero-products .inner-title-block .elementor-widget-heading::after,
.inner-hero-faq .inner-title-block .elementor-widget-heading::after,
.inner-hero-brief .inner-title-block .elementor-widget-heading::after,
.inner-hero-contact .contact-info .elementor-widget-heading::after {
  content:"";
  display:block;
  width:64px;
  height:4px;
  margin:0 0 22px;
  background:var(--bh-lime, #9ee600);
}
.inner-hero-process .inner-title-block p,
.inner-hero-products .inner-title-block p,
.inner-hero-faq .inner-title-block p,
.inner-hero-brief .inner-title-block p,
.inner-hero-contact .contact-info p {
  color:#171717 !important;
  font-size:16px !important;
  line-height:1.55 !important;
  max-width:285px !important;
  margin:0 0 20px !important;
}

/* Proceso: lime numbered circles connected by a single line, no card boxes. */
.inner-hero-process .container.inner-layout > .e-con-inner {
  grid-template-columns:minmax(250px, 300px) minmax(0, 1fr) !important;
  gap:70px !important;
}
.inner-hero-process .process-timeline,
.inner-hero-process .process-timeline > .e-con-inner {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.inner-hero-process .process-timeline { display:block !important; }
.inner-hero-process .process-timeline > .e-con-inner {
  position:relative !important;
  display:grid !important;
  grid-template-columns:repeat(5, minmax(118px, 1fr)) !important;
  gap:22px !important;
  align-items:start !important;
}
.inner-hero-process .process-timeline > .e-con-inner::before {
  content:"";
  position:absolute;
  top:42px;
  left:8%;
  right:8%;
  height:1.5px;
  background:rgba(0,0,0,.38);
  z-index:0;
}
.inner-hero-process .process-step,
.inner-hero-process .process-step > .e-con-inner {
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  min-height:0 !important;
  text-align:center !important;
}
.inner-hero-process .process-step > .e-con-inner {
  position:relative !important;
  z-index:1 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}
.inner-hero-process .step-number {
  width:84px !important;
  height:84px !important;
  margin:0 auto 24px !important;
  padding:0 !important;
  border-radius:999px !important;
  background:var(--bh-lime, #9ee600) !important;
  color:#050505 !important;
  display:grid !important;
  place-items:center !important;
  box-shadow:0 18px 35px rgba(158,230,0,.23), inset 0 -10px 16px rgba(0,0,0,.10) !important;
}
.inner-hero-process .step-number .elementor-widget-container,
.inner-hero-process .step-number p {
  margin:0 !important;
  padding:0 !important;
  color:#050505 !important;
  font-size:30px !important;
  line-height:1 !important;
  font-weight:1000 !important;
}
.inner-hero-process .process-step .elementor-widget-heading,
.inner-hero-process .process-step .elementor-widget-text-editor {
  width:100% !important;
  max-width:160px !important;
  margin-inline:auto !important;
}
.inner-hero-process .process-step h3,
.inner-hero-process .process-step .elementor-heading-title {
  color:#101010 !important;
  font-size:17px !important;
  line-height:1.12 !important;
  letter-spacing:-.035em !important;
  margin:0 0 14px !important;
}
.inner-hero-process .process-step p {
  color:#252525 !important;
  font-size:13px !important;
  line-height:1.55 !important;
  margin:0 auto !important;
  max-width:158px !important;
}

/* Productos: full-width five product tiles with images and labels. */
.inner-hero-products .container.inner-layout > .e-con-inner {
  grid-template-columns:minmax(250px, 300px) minmax(0, 1fr) !important;
  gap:70px !important;
}
.inner-hero-products .product-grid { display:block !important; width:100% !important; max-width:100% !important; padding:0 !important; margin:0 !important; }
.inner-hero-products .product-grid > .e-con-inner {
  width:100% !important;
  max-width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
  gap:26px !important;
  align-items:start !important;
  margin:0 !important;
  padding:0 !important;
}
.inner-hero-products .product-tile,
.inner-hero-products .product-tile > .e-con-inner {
  width:100% !important;
  max-width:100% !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
}
.inner-hero-products .product-tile img {
  width:100% !important;
  max-width:174px !important;
  aspect-ratio:1.23 / 1 !important;
  object-fit:cover !important;
  border-radius:7px !important;
  box-shadow:0 14px 28px rgba(0,0,0,.10) !important;
  margin:0 auto 16px !important;
}
.inner-hero-products .product-tile h3,
.inner-hero-products .product-tile .elementor-heading-title {
  color:#111 !important;
  font-size:18px !important;
  line-height:1.02 !important;
  letter-spacing:-.045em !important;
  margin:0 !important;
  max-width:170px !important;
}

/* FAQ, Brief, Contact match the static three-column compositions. */
.inner-hero-faq .container.inner-layout > .e-con-inner {
  grid-template-columns:minmax(320px, 370px) minmax(430px, 1fr) minmax(250px, 300px) !important;
  gap:70px !important;
}
.inner-hero-faq .faq-list,
.inner-hero-faq .faq-list > .e-con-inner,
.inner-hero-faq .question-box,
.inner-hero-faq .question-box > .e-con-inner,
.inner-hero-brief .question-box,
.inner-hero-brief .question-box > .e-con-inner {
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
}
.inner-hero-faq .faq-list,
.inner-hero-faq .question-box,
.inner-hero-brief .question-box {
  border:1px solid rgba(0,0,0,.12) !important;
  background:#fff !important;
  box-shadow:none !important;
}
.inner-hero-faq .faq-list { display:block !important; }
.inner-hero-faq .faq-list > .e-con-inner { display:block !important; padding:0 !important; }
.inner-hero-faq .faq-list .elementor-toggle,
.inner-hero-faq .faq-list .elementor-accordion { border:0 !important; }
.inner-hero-faq .faq-list .elementor-tab-title,
.inner-hero-faq .faq-list summary {
  padding:18px 54px 18px 24px !important;
  border-bottom:1px solid rgba(0,0,0,.10) !important;
  color:#111 !important;
  font-size:16px !important;
  font-weight:800 !important;
}
.inner-hero-faq .faq-list .elementor-tab-content,
.inner-hero-faq .faq-list p {
  color:#333 !important;
  font-size:14px !important;
  line-height:1.55 !important;
}
.inner-hero-faq .question-box,
.inner-hero-brief .question-box {
  padding:38px 32px !important;
}
.inner-hero-faq .question-box h2,
.inner-hero-brief .question-box h2,
.inner-hero-faq .question-box .elementor-heading-title,
.inner-hero-brief .question-box .elementor-heading-title {
  color:#111 !important;
  font-size:26px !important;
  line-height:1.05 !important;
  letter-spacing:-.05em !important;
  margin:0 0 18px !important;
}

.inner-hero-brief .container.inner-layout > .e-con-inner {
  grid-template-columns:minmax(250px, 300px) minmax(340px, 1fr) minmax(270px, 330px) !important;
  gap:70px !important;
}
.inner-hero-brief .brief-art,
.inner-hero-brief .brief-art > .e-con-inner {
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.inner-hero-brief .brief-art img {
  width:min(100%, 430px) !important;
  margin-inline:auto !important;
  filter:drop-shadow(0 18px 30px rgba(0,0,0,.14)) !important;
}
.inner-hero-brief .inner-title-block .elementor-widget-button { margin-top:18px !important; }

.inner-hero-contact .container.inner-layout > .e-con-inner {
  grid-template-columns:minmax(250px, 285px) minmax(430px, 1fr) minmax(300px, 380px) !important;
  gap:48px !important;
  align-items:start !important;
}
.inner-hero-contact .contact-form,
.inner-hero-contact .contact-form > .e-con-inner,
.inner-hero-contact .contact-image,
.inner-hero-contact .contact-image > .e-con-inner {
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.inner-hero-contact .contact-info ul,
.inner-hero-contact .contact-info .elementor-icon-list-items {
  display:grid !important;
  gap:18px !important;
  margin:28px 0 0 !important;
  padding:0 !important;
}
.inner-hero-contact .contact-form input,
.inner-hero-contact .contact-form textarea,
.inner-hero-contact form input,
.inner-hero-contact form textarea {
  width:100% !important;
  min-height:49px !important;
  border:1px solid rgba(0,0,0,.16) !important;
  border-radius:0 !important;
  background:#fff !important;
  color:#111 !important;
  padding:14px 16px !important;
  box-shadow:none !important;
}
.inner-hero-contact .contact-form textarea,
.inner-hero-contact form textarea { min-height:144px !important; }
.inner-hero-contact .contact-image img {
  width:100% !important;
  max-width:380px !important;
  border-radius:6px !important;
  margin-inline:auto !important;
}

@media (max-width:1120px) {
  .inner-hero-process,
  .inner-hero-products,
  .inner-hero-faq,
  .inner-hero-brief,
  .inner-hero-contact { padding-top:34px !important; }
  .inner-hero-process .container.inner-layout > .e-con-inner,
  .inner-hero-products .container.inner-layout > .e-con-inner,
  .inner-hero-faq .container.inner-layout > .e-con-inner,
  .inner-hero-brief .container.inner-layout > .e-con-inner,
  .inner-hero-contact .container.inner-layout > .e-con-inner {
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
  .inner-hero-process .process-timeline > .e-con-inner,
  .inner-hero-products .product-grid > .e-con-inner { grid-template-columns:repeat(2, minmax(0, 1fr)) !important; }
  .inner-hero-process .process-timeline > .e-con-inner::before { display:none !important; }
  .inner-hero-products .product-tile img { max-width:260px !important; }
  .inner-hero-faq .inner-title-block h1,
  .inner-hero-faq .inner-title-block .elementor-heading-title { max-width:100% !important; }
}
@media (max-width:760px) {
  .inner-hero-process .container.inner-layout,
  .inner-hero-products .container.inner-layout,
  .inner-hero-faq .container.inner-layout,
  .inner-hero-brief .container.inner-layout,
  .inner-hero-contact .container.inner-layout {
    width:min(calc(100vw - 32px), 420px) !important;
    max-width:min(calc(100vw - 32px), 420px) !important;
    padding:30px 0 42px !important;
  }
  .inner-hero-process .inner-title-block h1,
  .inner-hero-products .inner-title-block h1,
  .inner-hero-faq .inner-title-block h1,
  .inner-hero-brief .inner-title-block h1,
  .inner-hero-contact .contact-info h1,
  .inner-hero-process .inner-title-block .elementor-heading-title,
  .inner-hero-products .inner-title-block .elementor-heading-title,
  .inner-hero-faq .inner-title-block .elementor-heading-title,
  .inner-hero-brief .inner-title-block .elementor-heading-title,
  .inner-hero-contact .contact-info .elementor-heading-title {
    font-size:clamp(50px, 17vw, 76px) !important;
    white-space:normal !important;
  }
  .inner-hero-process .process-timeline > .e-con-inner,
  .inner-hero-products .product-grid > .e-con-inner { grid-template-columns:1fr !important; gap:24px !important; }
  .inner-hero-products .product-tile img { max-width:100% !important; }
  .inner-hero-faq .question-box,
  .inner-hero-brief .question-box { padding:30px 24px !important; }
}

/* Brandhaus pixel-polish pass 8b: Elementor boxed-container width correction. */
.inner-hero-process .container.inner-layout,
.inner-hero-products .container.inner-layout,
.inner-hero-faq .container.inner-layout,
.inner-hero-brief .container.inner-layout,
.inner-hero-contact .container.inner-layout {
  display:block !important;
  grid-template-columns:none !important;
}
.inner-hero-process .container.inner-layout > .e-con-inner,
.inner-hero-products .container.inner-layout > .e-con-inner,
.inner-hero-faq .container.inner-layout > .e-con-inner,
.inner-hero-brief .container.inner-layout > .e-con-inner,
.inner-hero-contact .container.inner-layout > .e-con-inner {
  width:100% !important;
  max-width:100% !important;
}
.inner-hero-process .process-timeline,
.inner-hero-process .process-timeline > .e-con-inner,
.inner-hero-products .product-grid,
.inner-hero-products .product-grid > .e-con-inner {
  width:100% !important;
  max-width:100% !important;
}
.inner-hero-process .step-number {
  width:84px !important;
  min-width:84px !important;
  max-width:84px !important;
  flex:0 0 84px !important;
  justify-self:center !important;
  align-self:center !important;
}
.inner-hero-process .process-step .elementor-widget-heading,
.inner-hero-process .process-step .elementor-widget-text-editor {
  min-width:0 !important;
  width:100% !important;
}

/* Brandhaus pixel-polish pass 8c: force Proceso step markers to true circles. */
.inner-hero-process .process-step .step-number,
.inner-hero-process .process-step .step-number.elementor-widget,
.inner-hero-process .process-step .step-number.elementor-widget-text-editor {
  width:84px !important;
  min-width:84px !important;
  max-width:84px !important;
  inline-size:84px !important;
  flex:0 0 84px !important;
  aspect-ratio:1 / 1 !important;
  border-radius:50% !important;
}

/* Brandhaus pixel-polish pass 8d: Brief child ordering from Elementor export. */
.inner-hero-brief .container.inner-layout > .e-con-inner {
  grid-template-columns:minmax(250px, 300px) minmax(340px, 1fr) minmax(270px, 330px) !important;
  grid-template-areas:
    "title art box"
    "button art box" !important;
  grid-template-rows:auto auto !important;
  column-gap:70px !important;
  row-gap:18px !important;
  align-items:center !important;
}
.inner-hero-brief .inner-title-block { grid-area:title !important; align-self:end !important; }
.inner-hero-brief .brief-art { grid-area:art !important; align-self:center !important; }
.inner-hero-brief .question-box { grid-area:box !important; align-self:center !important; }
.inner-hero-brief .container.inner-layout > .e-con-inner > .elementor-widget-button {
  grid-area:button !important;
  justify-self:start !important;
  align-self:start !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
}
@media (max-width:1120px) {
  .inner-hero-brief .container.inner-layout > .e-con-inner {
    grid-template-areas:"title" "button" "art" "box" !important;
    grid-template-columns:1fr !important;
  }
}

/* Brandhaus pixel-polish pass 8e: avoid Contacto title/form collision at mid desktop widths. */
.inner-hero-contact .contact-info h1,
.inner-hero-contact .contact-info .elementor-heading-title {
  font-size:clamp(56px, 5vw, 76px) !important;
  letter-spacing:-.06em !important;
}
.inner-hero-contact .container.inner-layout > .e-con-inner {
  grid-template-columns:minmax(250px, 300px) minmax(430px, 1fr) minmax(300px, 380px) !important;
  gap:48px !important;
}
@media (min-width:1320px) {
  .inner-hero-contact .container.inner-layout > .e-con-inner { gap:70px !important; }
}

/* Brandhaus pixel-polish pass 8f: nudge Contacto form/image below title cap height. */
.inner-hero-contact .contact-form,
.inner-hero-contact .contact-image {
  margin-top:32px !important;
}
@media (max-width:1120px) {
  .inner-hero-contact .contact-form,
  .inner-hero-contact .contact-image { margin-top:0 !important; }
}

/* Brandhaus pixel-polish pass 8g: give Contacto title clear breathing room before form. */
.inner-hero-contact .contact-form,
.inner-hero-contact .contact-image {
  margin-top:68px !important;
}
@media (max-width:1120px) {
  .inner-hero-contact .contact-form,
  .inner-hero-contact .contact-image { margin-top:0 !important; }
}

/* Brandhaus pixel-polish pass 8h: restore true single-column inner pages on mobile. */
@media (max-width:1120px) {
  .inner-hero-contact .container.inner-layout > .e-con-inner {
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
}

/* Brandhaus pixel-polish pass 9: Elementor widget defaults on FAQ/contact pages. */
.inner-hero-faq .faq-list .elementor-toggle-item {
  border-bottom:1px solid rgba(0,0,0,.10) !important;
}
.inner-hero-faq .faq-list .elementor-toggle-item:last-child {
  border-bottom:0 !important;
}
.inner-hero-faq .faq-list .elementor-tab-title {
  position:relative !important;
  padding:18px 54px 18px 24px !important;
  border-bottom:0 !important;
  color:#111 !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.25 !important;
}
.inner-hero-faq .faq-list .elementor-toggle-title {
  color:#111 !important;
  text-decoration:none !important;
}
.inner-hero-faq .faq-list .elementor-toggle-icon {
  display:none !important;
}
.inner-hero-faq .faq-list .elementor-tab-title::after {
  content:"+" !important;
  position:absolute !important;
  top:50% !important;
  right:22px !important;
  transform:translateY(-50%) !important;
  color:#111 !important;
  font-size:24px !important;
  font-weight:900 !important;
  line-height:1 !important;
}
.inner-hero-faq .faq-list .elementor-active.elementor-tab-title::after,
.inner-hero-faq .faq-list .elementor-tab-title[aria-expanded="true"]::after {
  content:"−" !important;
}
.inner-hero-faq .faq-list .elementor-tab-content {
  padding:0 24px 18px !important;
  border-top:0 !important;
}

.inner-hero-contact .contact-list ul {
  gap:18px !important;
}
.inner-hero-contact .contact-list li {
  display:grid !important;
  grid-template-columns:32px 1fr !important;
  gap:3px 12px !important;
  align-items:start !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}
.inner-hero-contact .contact-list li span {
  grid-row:span 2 !important;
  display:grid !important;
  place-items:center !important;
  width:28px !important;
  height:28px !important;
  border:1px solid var(--color-lime-dark) !important;
  border-radius:999px !important;
  color:var(--color-lime-dark) !important;
  font-size:16px !important;
  line-height:1 !important;
}
.inner-hero-contact .contact-list li span img.emoji {
  width:14px !important;
  height:14px !important;
}
.inner-hero-contact .contact-form .elementor-field-label {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  white-space:nowrap !important;
}
.inner-hero-contact .contact-form .elementor-form-fields-wrapper {
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
}
.inner-hero-contact .contact-form .elementor-field-group {
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
}
.inner-hero-contact .contact-form .elementor-field-type-textarea,
.inner-hero-contact .contact-form .elementor-field-type-submit,
.inner-hero-contact .contact-form .elementor-field-group:nth-child(n+3) {
  grid-column:1 / -1 !important;
}
.inner-hero-contact .contact-form .e-form__buttons {
  justify-self:start !important;
  width:auto !important;
}
.inner-hero-contact .contact-form .elementor-button {
  width:auto !important;
  min-width:190px !important;
  padding:0 30px !important;
  min-height:54px !important;
}
@media (max-width:760px) {
  .inner-hero-contact .contact-form .elementor-form-fields-wrapper {
    grid-template-columns:1fr !important;
  }
}

/* Brandhaus pixel-polish pass 8i: prevent Productos desktop title/product-row collision. */
@media (min-width:1121px) {
  .inner-hero-products .inner-title-block h1,
  .inner-hero-products .inner-title-block .elementor-heading-title {
    font-size:clamp(56px, 4.2vw, 60px) !important;
    letter-spacing:-.055em !important;
  }
  .inner-hero-products .container.inner-layout > .e-con-inner {
    grid-template-columns:minmax(320px, 350px) minmax(0, 1fr) !important;
    gap:58px !important;
  }
  .inner-hero-products .product-grid > .e-con-inner {
    gap:24px !important;
  }
}
@media (max-width:480px) {
  .inner-hero-process .inner-title-block h1,
  .inner-hero-products .inner-title-block h1,
  .inner-hero-faq .inner-title-block h1,
  .inner-hero-brief .inner-title-block h1,
  .inner-hero-contact .contact-info h1,
  .inner-hero-process .inner-title-block .elementor-heading-title,
  .inner-hero-products .inner-title-block .elementor-heading-title,
  .inner-hero-faq .inner-title-block .elementor-heading-title,
  .inner-hero-brief .inner-title-block .elementor-heading-title,
  .inner-hero-contact .contact-info .elementor-heading-title {
    font-size:clamp(42px, 13.4vw, 56px) !important;
    line-height:.95 !important;
    letter-spacing:-.055em !important;
    max-width:100% !important;
    overflow-wrap:normal !important;
  }
  .inner-hero-faq .question-box h2,
  .inner-hero-faq .question-box .elementor-heading-title {
    font-size:clamp(24px, 7vw, 30px) !important;
    line-height:1.05 !important;
    letter-spacing:-.04em !important;
  }
  .inner-hero-contact .contact-form,
  .inner-hero-contact .contact-form > .e-con-inner,
  .inner-hero-contact .contact-image,
  .inner-hero-contact .contact-image > .e-con-inner {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
}

/* Brandhaus pixel-polish pass 10: lock homepage Elementor headings to Brandhaus type/color. */
.bh-inicio .about h2,
.bh-inicio .about .elementor-heading-title,
.bh-inicio .services h2,
.bh-inicio .services .elementor-heading-title,
.bh-inicio .work h2,
.bh-inicio .work .elementor-heading-title,
.bh-inicio .cta h2,
.bh-inicio .cta .elementor-heading-title,
.bh-inicio .service-card h3,
.bh-inicio .service-card .elementor-heading-title {
  font-family:var(--font-sans) !important;
  font-weight:1000 !important;
  text-transform:uppercase !important;
  letter-spacing:-.065em !important;
  line-height:.95 !important;
}
.bh-inicio .about h2,
.bh-inicio .about .elementor-heading-title,
.bh-inicio .work h2,
.bh-inicio .work .elementor-heading-title,
.bh-inicio .cta h2,
.bh-inicio .cta .elementor-heading-title {
  color:#171717 !important;
}
.bh-inicio .about h2 span,
.bh-inicio .about .elementor-heading-title span,
.bh-inicio .work h2 span,
.bh-inicio .work .elementor-heading-title span,
.bh-inicio .cta h2 span,
.bh-inicio .cta .elementor-heading-title span {
  color:var(--color-lime-dark) !important;
}
.bh-inicio .services h2,
.bh-inicio .services .elementor-heading-title,
.bh-inicio .service-card h3,
.bh-inicio .service-card .elementor-heading-title,
.bh-inicio .service-card p,
.bh-inicio .service-card .elementor-widget-text-editor,
.bh-inicio .service-card a {
  color:#050505 !important;
  font-family:var(--font-sans) !important;
}
.bh-inicio .service-card h3,
.bh-inicio .service-card .elementor-heading-title {
  font-size:clamp(.95rem, 1.05vw, 1.15rem) !important;
}
.bh-inicio .service-card p,
.bh-inicio .service-card .elementor-widget-text-editor {
  font-size:.82rem !important;
  font-weight:500 !important;
  line-height:1.55 !important;
}
.bh-inicio .stats h2,
.bh-inicio .stats .elementor-heading-title {
  color:var(--color-lime) !important;
  font-family:var(--font-sans) !important;
  font-size:clamp(3.8rem, 6vw, 5.4rem) !important;
  font-weight:1000 !important;
  line-height:.9 !important;
  letter-spacing:-.055em !important;
  text-transform:uppercase !important;
}
.bh-inicio .stats .stat-wide h2,
.bh-inicio .stats .stat-wide .elementor-heading-title {
  font-size:clamp(2.5rem, 4.2vw, 4rem) !important;
}
.bh-inicio .stats .elementor-widget-text-editor,
.bh-inicio .stats .elementor-widget-text-editor p,
.bh-inicio .stats span {
  color:#fff !important;
  font-family:var(--font-sans) !important;
  font-size:clamp(1.1rem, 1.45vw, 1.45rem) !important;
  font-weight:950 !important;
  line-height:1.25 !important;
  text-transform:uppercase !important;
}
.bh-inicio .cta p,
.bh-inicio .cta .elementor-widget-text-editor,
.bh-inicio .cta .elementor-widget-text-editor p {
  color:#222 !important;
  font-family:var(--font-sans) !important;
}

/* Brandhaus pixel-polish pass 10b: homepage sections are Elementor siblings, not descendants of .bh-inicio. */
body.home .about h2,
body.home .about .elementor-heading-title,
body.home .services h2,
body.home .services .elementor-heading-title,
body.home .work h2,
body.home .work .elementor-heading-title,
body.home .cta h2,
body.home .cta .elementor-heading-title,
body.home .service-card h3,
body.home .service-card .elementor-heading-title {
  font-family:var(--font-sans) !important;
  font-weight:1000 !important;
  text-transform:uppercase !important;
  letter-spacing:-.065em !important;
  line-height:.95 !important;
}
body.home .about h2,
body.home .about .elementor-heading-title,
body.home .work h2,
body.home .work .elementor-heading-title,
body.home .cta h2,
body.home .cta .elementor-heading-title {
  color:#171717 !important;
}
body.home .about h2 span,
body.home .about .elementor-heading-title span,
body.home .work h2 span,
body.home .work .elementor-heading-title span,
body.home .cta h2 span,
body.home .cta .elementor-heading-title span {
  color:var(--color-lime-dark) !important;
}
body.home .services h2,
body.home .services .elementor-heading-title,
body.home .service-card h3,
body.home .service-card .elementor-heading-title,
body.home .service-card p,
body.home .service-card .elementor-widget-text-editor,
body.home .service-card a {
  color:#050505 !important;
  font-family:var(--font-sans) !important;
}
body.home .service-card h3,
body.home .service-card .elementor-heading-title {
  font-size:clamp(.95rem, 1.05vw, 1.15rem) !important;
}
body.home .service-card p,
body.home .service-card .elementor-widget-text-editor:not(.service-icon) {
  font-size:.82rem !important;
  font-weight:500 !important;
  line-height:1.55 !important;
}
body.home .stats h2,
body.home .stats .elementor-heading-title {
  color:var(--color-lime) !important;
  font-family:var(--font-sans) !important;
  font-size:clamp(3.8rem, 6vw, 5.4rem) !important;
  font-weight:1000 !important;
  line-height:.9 !important;
  letter-spacing:-.055em !important;
  text-transform:uppercase !important;
}
body.home .stats .stat-wide h2,
body.home .stats .stat-wide .elementor-heading-title {
  font-size:clamp(2.5rem, 4.2vw, 4rem) !important;
}
body.home .stats .elementor-widget-text-editor,
body.home .stats .elementor-widget-text-editor p,
body.home .stats span {
  color:#fff !important;
  font-family:var(--font-sans) !important;
  font-size:clamp(1.1rem, 1.45vw, 1.45rem) !important;
  font-weight:950 !important;
  line-height:1.25 !important;
  text-transform:uppercase !important;
}
body.home .cta p,
body.home .cta .elementor-widget-text-editor,
body.home .cta .elementor-widget-text-editor p {
  color:#222 !important;
  font-family:var(--font-sans) !important;
}

/* Brandhaus final responsive QA: mobile/tablet header should match supplied comps. */
@media (max-width:1120px) {
  body .bh-template-header .header-inner,
  body .bh-template-header .header-inner > .e-con-inner,
  body:not(.home) .bh-template-header .header-inner,
  body:not(.home) .bh-template-header .header-inner > .e-con-inner {
    width:min(calc(100vw - 32px), var(--bh-container, 1300px)) !important;
    max-width:min(calc(100vw - 32px), var(--bh-container, 1300px)) !important;
    margin-inline:auto !important;
    display:grid !important;
    grid-template-columns:120px minmax(0, 1fr) 54px !important;
    align-items:center !important;
    gap:0 !important;
    padding:0 !important;
  }
  body .bh-template-header .brand,
  body .bh-template-header .brand.elementor-widget-image,
  body:not(.home) .bh-template-header .brand,
  body:not(.home) .bh-template-header .brand.elementor-widget-image {
    grid-column:1 !important;
    justify-self:start !important;
    margin:0 !important;
  }
  body .bh-template-header .main-nav,
  body .bh-template-header .main-nav.elementor-widget-nav-menu {
    grid-column:3 !important;
    justify-self:end !important;
    align-self:center !important;
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    width:54px !important;
    max-width:54px !important;
    margin:0 !important;
    padding:0 !important;
  }
  body .bh-template-header .main-nav .elementor-nav-menu--main,
  body .bh-template-header .header-cta {
    display:none !important;
  }
  body .bh-template-header .main-nav .elementor-menu-toggle {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    margin:0 !important;
    padding:8px !important;
    border:1px solid rgba(255,255,255,.58) !important;
    border-radius:5px !important;
    background:transparent !important;
    color:#fff !important;
  }
  body:not(.home) .bh-template-header .main-nav .elementor-menu-toggle {
    border-color:rgba(0,0,0,.22) !important;
    color:#101010 !important;
  }
  body .bh-template-header .main-nav .elementor-menu-toggle svg {
    width:24px !important;
    height:24px !important;
    fill:currentColor !important;
  }
}

/* Brandhaus final responsive QA: Proceso mobile/tablet uses a horizontal timeline strip. */
@media (max-width:760px) {
  .inner-hero-process .process-timeline {
    overflow-x:auto !important;
    overflow-y:visible !important;
    -webkit-overflow-scrolling:touch !important;
    padding-bottom:8px !important;
    scrollbar-width:none !important;
  }
  .inner-hero-process .process-timeline::-webkit-scrollbar { display:none !important; }
  .inner-hero-process .process-timeline > .e-con-inner {
    width:max-content !important;
    min-width:760px !important;
    max-width:none !important;
    display:grid !important;
    grid-template-columns:repeat(5, 140px) !important;
    gap:12px !important;
    align-items:start !important;
  }
  .inner-hero-process .process-timeline > .e-con-inner::before {
    display:block !important;
    top:42px !important;
    left:56px !important;
    right:56px !important;
  }
  .inner-hero-process .process-step,
  .inner-hero-process .process-step > .e-con-inner {
    width:140px !important;
    max-width:140px !important;
  }
  body .bh-template-footer .footer-grid,
  body .bh-template-footer .footer-grid > .e-con-inner {
    justify-items:start !important;
    text-align:left !important;
  }
  body .bh-template-footer .footer-brand,
  body .bh-template-footer .footer-col,
  body .bh-template-footer .footer-brand > .e-con-inner,
  body .bh-template-footer .footer-col > .e-con-inner {
    align-items:flex-start !important;
    text-align:left !important;
  }
  body .bh-template-footer .footer-brand .elementor-widget-image,
  body .bh-template-footer .footer-brand .elementor-widget-container {
    text-align:left !important;
    margin-left:0 !important;
    margin-right:auto !important;
  }
}
