@media (max-width: 1280px) {
.bmm-hero__frame {
grid-template-columns: minmax(0, 47%) minmax(0, 53%);
}

.bmm-hero__title {
font-size: clamp(4.4rem, 8.2vw, 7.6rem);
}

.bmm-collage {
width: min(64vw, 880px);
right: -2vw;
}

.bmm-panels {
width: clamp(112px, 11vw, 180px);
}
}

/* Tablet horizontal */
@media (max-width: 1024px) {
#home.bmm-hero {
padding-top: 72px !important;
}

.bmm-hero__frame {
min-height: auto;
grid-template-columns: 1fr;
align-items: start;
}

.bmm-hero__copy {
padding: clamp(30px, 5vw, 56px) clamp(28px, 5vw, 60px) 0;
max-width: 790px;
}

.bmm-hero__title {
font-size: clamp(4.2rem, 12.8vw, 8rem);
line-height: .78;
}

.bmm-hero__text {
max-width: 680px;
font-size: clamp(.95rem, 1.8vw, 1.12rem);
line-height: 1.18;
}

.bmm-hero__visual {
min-height: 0;
height: auto;
margin-top: clamp(8px, 2vw, 24px);
}

.bmm-collage {
position: relative;
width: min(102vw, 860px);
right: auto;
margin-left: 0;
margin-right: 0;
}

.bmm-loop {
width: 92%;
left: -24%;
top: 15%;
}

.bmm-ring {
width: 38%;
right: 15%;
top: 35%;
z-index: 8;
}

.bmm-ribbon-brush {
width: 70%;
right: -18%;
top: 2%;
}

.bmm-ribbon-words {
width: 60%;
right: -15%;
top: 3%;
}

.bmm-brain {
width: 33%;
left: 40%;
top: 11%;
}

.bmm-brain-word {
width: 15%;
left: 38%;
top: 1%;
}

.bmm-minds-word {
width: 5.5%;
left: 51%;
top: 5%;
}

.bmm-arrow {
width: 14%;
left: 12%;
top: 11%;
}

.bmm-eye-module {
width: 19%;
height: 11%;
right: 32%;
top: 17%;
}

.bmm-eye {
width: 41%;
right: 12%;
top: 4%;
}

.bmm-eye-stripes {
width: 44%;
left: 19%;
bottom: 0;
}

.bmm-person {
width: 78%;
right: 5%;
bottom: 0;
}

.bmm-shoulder-mark {
width: 18%;
left: 17%;
bottom: 0;
}

.bmm-brand-box {
width: 30%;
right: 6%;
top: 58%;
}

.bmm-panels {
width: clamp(92px, 15vw, 150px);
}
}



@media (max-width: 900px) {
  section { padding: 80px 32px; }
  nav { padding: 0 24px; }
  footer { padding: 32px 32px; flex-direction: column; gap: 16px; text-align: center; }
  .scroll-hint { left: 24px; bottom: 24px; }
  .quienes-grid, .servicios-header, .contacto-inner { grid-template-columns: 1fr; gap: 40px; }
  .services-grid { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: 1fr 1fr; }
  .banner-strip { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .nav-actions { gap: 12px; }
  .nav-links { gap: 20px; }
  .lang-switcher__btn { padding: 8px 10px; font-size: .68rem; }
  .contact-form { padding: 32px 24px; }
  .form-captcha-wrap .g-recaptcha { transform-origin: left top; }
  /* Hero mobile */
  #home { min-height: auto; }
  .hero-stage {
    height: auto;
    min-height: auto;
    padding: 96px 0 40px;
  }
  .h-content {
    position: relative;
    left: auto;
    bottom: auto;
    width: 100%;
    padding: 0 24px;
  }
  .h-content::before { display: none; }
  .h-logo-tag {
    position: relative;
    width: min(230px, 62vw);
    height: auto;
    margin: 0 0 32px;
    overflow: visible;
    clip: auto;
    white-space: normal;
    border: 0;
    opacity: 0;
    animation: fadeUp .6s .1s ease forwards;
  }
  .h-title {
    position: relative;
    width: auto;
    height: auto;
    margin: 0 0 12px;
    overflow: visible;
    clip: auto;
    white-space: normal;
    border: 0;
    font-family: 'League Spartan', 'Montserrat', sans-serif;
    font-weight: 900;
    margin-bottom: 32px;
  }
  .h-title {
    font-size: clamp(3.4rem, 17vw, 5.8rem);
    line-height: .88;
  }
  .h-body {
    max-width: 100%;
    font-size: .95rem;
    line-height: 1.3;
  }
  .hero-actions {
    margin-top: 24px;
    gap: 12px;
  }
  .hero-art {
    position: relative;
    inset: auto;
    height: 430px;
    margin-top: 24px;
    transform: none;
    --hero-head-width: 74%;
    --hero-head-height: 42%;
    --hero-head-right: 8%;
    --hero-head-top: 10%;
  }
  .hero-reference { display: none; }
  .hero-loop {
    display: block;
    width: 130%;
    right: -36%;
    bottom: -48%;
  }
  .hero-ring {
    display: block;
    width: 66%;
    right: 2%;
    bottom: 16%;
  }
  .hero-head-underlay,
  .hero-head {
    display: block;
    width: var(--hero-head-width);
    height: var(--hero-head-height);
    right: var(--hero-head-right);
    top: var(--hero-head-top);
  }
  .hero-arrow {
    width: 24%;
    left: 0;
    top: 10%;
  }
  .hero-ribbon-brush {
    width: 112%;
    right: -58%;
    top: -24%;
  }
  .hero-ribbon-words {
    width: 88%;
    right: -8%;
    top: -6%;
  }
  .hero-brain {
    width: 42%;
    right: 16%;
    top: 12%;
  }
  .hero-brain-word {
    width: 14%;
    right: 48%;
    top: 27%;
  }
  .hero-minds-word {
    width: 10%;
    right: 34%;
    top: 24%;
  }
  .hero-eye-module {
    width: 42%;
    height: 24%;
    left: 46%;
    top: 43%;
  }
  .hero-eye {
    width: 26%;
  }
  .hero-eye-stripes {
    width: 28%;
    left: 30%;
  }
  .hero-brand-box {
    display: block;
    width: 42%;
    right: 8%;
    bottom: 18%;
  }
  .hero-person {
    display: block;
    width: 92%;
    right: -15%;
  }
  .hero-shoulder-mark {
    display: block;
    width: 20%;
    right: 49%;
    bottom: 9%;
  }
  .h-sidebar,
  .scroll-hint { display: none; }
}

@media (max-width: 760px) {
nav {
height: auto;
min-height: 72px;
padding: 10px 18px;
gap: 14px;
}

.nav-logo img {
height: 52px;
}

.nav-actions {
margin-left: auto;
gap: 8px;
}

.nav-links {
gap: 18px;
flex-wrap: wrap;
justify-content: flex-end;
}

.nav-links a {
font-size: .74rem;
}

.nav-cta {
padding: 9px 14px !important;
font-size: .7rem !important;
}

.lang-switcher {
flex-shrink: 0;
}

.lang-switcher__btn {
padding: 7px 9px;
font-size: .66rem;
}

.bt-section {
height: auto;
min-height: 100svh;
align-items: stretch;
}

.bt-body {
grid-template-columns: 1fr;
height: auto;
min-height: 100svh;
}

.bt-side,
.bt-img-side {
height: auto;
min-height: 0;
}

.bt-side {
justify-content: flex-start;
padding: 132px 26px 20px;
gap: 0;
}

.bt-img-side {
padding: 0 26px 150px;
align-items: flex-start;
justify-content: flex-start;
}

.bt-img-frame,
.bt-2 .bt-img-frame {
clip-path: inset(0 0 0 0);
padding: 0;
justify-content: flex-start;
}

.bt-img-frame img {
width: 100%;
max-width: 100%;
transform: scale(1);
}

.bt-label {
margin-bottom: 18px;
}

.bt-word {
font-size: clamp(2.8rem, 15vw, 4.8rem);
line-height: .9;
}

.bt-word.wsmall {
font-size: clamp(1.2rem, 6vw, 1.9rem);
margin-top: 4px;
}

.bt-accent-bar {
margin: 16px 0;
}

.bt-section.bt-active .bt-accent-bar {
width: 56px;
}

.bt-meta {
bottom: 28px;
left: 26px;
right: 26px;
justify-content: space-between;
gap: 16px;
flex-wrap: wrap;
}

.bt-meta-url {
font-size: .62rem;
letter-spacing: .08em;
}

.bt-meta-logos {
gap: 10px;
flex-wrap: wrap;
justify-content: flex-end;
}

.bt-logo-badge {
padding: 8px 12px;
font-size: .62rem;
}

.bt-corner-num {
top: 92px;
right: 18px;
font-size: clamp(4rem, 18vw, 6rem);
}

.bt-scroll-hint {
display: none;
}

.bt-2 .bt-body {
grid-template-columns: 1fr;
}

.bt-2 .bt-side {
order: 1;
padding: 128px 26px 18px;
position: relative;
z-index: 3;
}

.bt-2 .bt-img-side {
order: 2;
padding: 8px 26px 132px;
position: relative;
z-index: 2;
}

.bt-2 .bt-img-frame {
justify-content: center;
align-items: flex-start;
}

.bt-2 .bt-img-frame img {
max-width: min(100%, 520px);
width: 100%;
}

.bt-2 .bt-word {
font-size: clamp(2.5rem, 13vw, 4.4rem);
line-height: .9;
}

.bt-2 .bt-word.wsmall {
font-size: clamp(1.1rem, 4.8vw, 1.6rem);
margin-top: 10px;
}

.bt-2 .bt-label {
margin-bottom: 14px;
}

.bt-2 .bt-meta {
bottom: 18px;
left: 26px;
right: 26px;
padding: 0;
}

.bt-2 .bt-meta-url {
order: 2;
width: 100%;
}

.bt-2 .bt-meta-logos {
order: 1;
width: 100%;
justify-content: flex-start;
}

#home.bmm-hero {
padding-top: 86px !important;
}

.bmm-hero__copy {
padding: 26px 26px 0;
}

.bmm-hero__title {
font-size: clamp(3.55rem, 15vw, 6.1rem);
line-height: .79;
margin-bottom: 20px;
}

.bmm-hero__text {
font-size: 1rem;
line-height: 1.22;
}

.bmm-hero__actions {
gap: 12px;
}

.bmm-btn {
flex: 1 1 210px;
min-width: 0;
}

.bmm-panels {
display: none;
}

.bmm-collage {
width: min(124vw, 720px);
margin-right: -18vw;
}

.bmm-loop {
width: 94%;
left: -20%;
top: 28%;
}

.bmm-ring {
width: 34%;
right: 10%;
top: 44%;
}

.bmm-ribbon-brush {
width: 78%;
right: -24%;
top: 1%;
}

.bmm-ribbon-words {
width: 68%;
right: -18%;
top: 3%;
}

.bmm-brain {
width: 35%;
left: 42%;
top: 8%;
}

.bmm-brain-word {
width: 15%;
left: 29%;
top: 2%;
}

.bmm-minds-word {
width: 5.8%;
left: 45%;
top: 6%;
}

.bmm-arrow {
width: 16%;
left: 10%;
top: 11%;
}

.bmm-person {
width: 80%;
right: 0;
bottom: 0;
}

.bmm-shoulder-mark {
width: 19%;
left: 17%;
bottom: 1%;
}

.bmm-brand-box {
width: 34%;
right: 3%;
top: 57%;
}

.bmm-eye-module {
width: 20%;
height: 11%;
right: 27%;
top: 10%;
}

.bmm-eye {
width: 40%;
right: 12%;
top: 4%;
}

.bmm-eye-stripes {
width: 43%;
left: 20%;
}
}

@media (max-width: 520px) {
nav {
padding: 8px 14px;
}

.nav-logo img {
height: 46px;
}

.nav-actions {
gap: 6px;
}

.nav-links {
gap: 8px;
}

.nav-links li:not(:last-child) {
display: none;
}

.nav-links {
justify-content: flex-end;
}

.nav-cta {
font-size: .66rem !important;
padding: 8px 12px !important;
}

.lang-switcher {
padding: 2px;
}

.lang-switcher__btn {
font-size: .62rem;
padding: 6px 8px;
}

.bt-section {
min-height: auto;
}

.bt-body {
min-height: auto;
}

.bt-side {
padding: 116px 20px 18px;
}

.bt-img-side {
padding: 0 20px 128px;
}

.bt-word {
font-size: clamp(2.3rem, 14vw, 3.8rem);
}

.dot-accent {
display: none;
}

.form-captcha-wrap .g-recaptcha {
transform: scale(.92);
}

.bt-word.wsmall {
font-size: clamp(1rem, 5.4vw, 1.45rem);
}

.bt-label {
font-size: .78rem;
margin-bottom: 14px;
}

.bt-accent-bar {
height: 3px;
margin: 14px 0;
}

.bt-section.bt-active .bt-accent-bar {
width: 44px;
}

.bt-meta {
left: 20px;
right: 20px;
bottom: 20px;
align-items: flex-start;
}

.bt-meta-url {
width: 100%;
font-size: .58rem;
}

.bt-meta-logos {
width: 100%;
justify-content: space-between;
gap: 8px;
}

.bt-logo-badge {
font-size: .58rem;
padding: 7px 10px;
}

.bt-corner-num {
top: 96px;
right: 12px;
font-size: clamp(3.2rem, 17vw, 4.4rem);
}

.bt-2 .bt-side {
padding: 108px 20px 16px;
}

.bt-2 .bt-img-side {
padding: 4px 20px 112px;
}

.bt-2 .bt-word {
font-size: clamp(2.05rem, 12.4vw, 3.3rem);
line-height: .92;
}

.bt-2 .bt-word.wsmall {
font-size: clamp(.92rem, 4.5vw, 1.2rem);
margin-top: 8px;
}

.bt-2 .bt-img-frame img {
max-width: 100%;
}

.bt-2 .bt-meta {
left: 20px;
right: 20px;
bottom: 14px;
gap: 6px;
}

.bt-2 .bt-meta-url {
font-size: .52rem;
letter-spacing: .04em;
}

.bt-2 .bt-meta-logos {
justify-content: flex-start;
gap: 6px;
}

.bt-2 .bt-logo-badge {
font-size: .52rem;
padding: 6px 8px;
}

#home.bmm-hero {
padding-top: 84px !important;
}

.bmm-hero__copy {
padding: 22px 20px 0;
}

.bmm-hero__title {
font-size: clamp(3.05rem, 16vw, 4.8rem);
letter-spacing: -0.06em;
}

.bmm-title-outline {
text-shadow:
  -1.2px 0 0 #111,
  1.2px 0 0 #111,
  0 -1.2px 0 #111,
  0 1.2px 0 #111,
  -1px -1px 0 #111,
  1px -1px 0 #111,
  -1px 1px 0 #111,
  1px 1px 0 #111;
}

.bmm-hero__actions {
flex-direction: column;
}

.bmm-btn {
width: 100%;
flex-basis: auto;
}

.bmm-collage {
width: 132vw;
margin-right: -28vw;
margin-top: 8px;
}

.bmm-loop {
width: 102%;
left: -38%;
top: 30%;
}

.bmm-ring {
width: 36%;
right: 30%;
top: 28%;
}

.bmm-ribbon-brush {
width: 76%;
right: -5%;
top: 0%;
}

.bmm-ribbon-words {
width: 65%;
right: -3%;
top: 1%;
}

.bmm-person {
width: 82%;
right: 20%;
bottom: 0;
}

.bmm-shoulder-mark {
width: 18%;
left: -1%;
bottom: 1%;
}

.bmm-brand-box {
width: 25%;
right: 28%;
top: 58%;
}

.bmm-brain {
width: 37%;
left: 20%;
top: 8%;
}

.bmm-brain-word {
width: 14%;
left: 22%;
top: 1%;
}

.bmm-minds-word {
width: 5%;
left: 36%;
top: 1%;
}

.bmm-arrow {
width: 13%;
left: 2%;
top: 10%;
}

.bmm-eye-module {
width: 22%;
height: 11%;
right: 45%;
top: 13%;
}

.bmm-eye {
width: 39%;
right: 11%;
top: 5%;
}

.bmm-eye-stripes {
width: 42%;
left: 21%;
}
}

@media (max-width: 390px) {
.form-captcha-wrap .g-recaptcha {
transform: scale(.78);
}

.bmm-hero__title {
font-size: clamp(2.75rem, 15.5vw, 3.75rem);
}

.bmm-hero__text {
font-size: .95rem;
}

.bmm-collage {
width: 134vw;
margin-right: -31vw;
}

.bmm-loop {
width: 104%;
left: -28%;
top: 31%;
}

.bmm-ring {
width: 37%;
right: 30%;
top: 32%;
}

.bmm-ribbon-brush {
width: 82%;
right: -14%;
top: 0;
}

.bmm-ribbon-words {
width: 70%;
right: -10%;
top: 1%;
}

.bmm-person {
width: 83%;
right: 18%;
}

.bmm-brain {
width: 38%;
left: 20%;
top: 7%;
}

.bmm-brain-word {
width: 14%;
left: 22%;
top: 1%;
}

.bmm-minds-word {
width: 5.4%;
left: 36%;
top: 1%;
}

.bmm-arrow {
width: 15%;
left: 2%;
top: 10%;
}

.bmm-eye-module {
width: 22%;
right: 45%;
top: 13%;
}

.bmm-shoulder-mark {
width: 18%;
left: -1%;
bottom: 1%;
}

.bmm-brand-box {
width: 25%;
right: 28%;
top: 58%;
}
}

@media (prefers-reduced-motion: reduce) {
.bmm-title-line,
.bmm-hero__text,
.bmm-hero__actions,
.bmm-layer,
.bmm-panels img,
.bmm-eye {
animation: none !important;
opacity: 1 !important;
transform: none !important;
}
}

@media (max-width: 920px) {
.ticket {
width: 66px;
height: 62px;
}

.ticket .ticket-icon {
height: 62px;
background-size: 54%;
}
}
