/* Breakpoints: desktop => tablet => mobile; no fixed mobile hero height. */
@media (max-width: 1200px) {
  .mn-header__inner { gap:20px; }
  .mn-brand__mark { width:60px; }
  .mn-brand__words strong { font-size:27px; }
  .mn-nav-list { gap:20px; }
  .mn-hero__title { font-size:clamp(37px,4.5vw,55px); }
  .mn-hero__content { width:min(620px,58%); }
  .mn-slider-tab { min-width:150px; padding-inline:11px; gap:10px; }
  .mn-slider-tab__num { font-size:31px; }
  .mn-services-strip__item { padding-inline:14px; gap:10px; }
  .mn-services-strip__item > .mn-icon { width:39px; height:39px; }
}
@media (max-width: 1020px) {
  .mn-header__inner { min-height:80px; }
  .mn-menu-toggle { display:block; margin-left:auto; }
  .mn-menu-toggle .mn-icon { width:27px; height:27px; }
  .mn-menu-toggle[aria-expanded="true"] .mn-menu-toggle__open { display:none; }
  .mn-menu-toggle[aria-expanded="true"] .mn-menu-toggle__close { display:block; }
  .mn-navigation { display:none; position:absolute; top:100%; left:0; right:0; background:white; padding:12px var(--mn-gutter) 25px; border-bottom:1px solid #dbe2e5; box-shadow:0 17px 25px rgba(25,43,56,.10); }
  .mn-navigation.is-open { display:block; }
  .mn-nav-list { display:flex; flex-direction:column; align-items:stretch; gap:2px; }
  .mn-nav-list a { display:block; padding:11px 5px; }
  .mn-nav-list .sub-menu { position:static; box-shadow:none; display:block; padding:0 0 0 18px; }
  .mn-header__cta { margin-left:0; min-width:128px; }
  .mn-hero__content { width: min(585px,68%); }
  .mn-hero__shade { background:linear-gradient(90deg,rgba(12,35,49,.98),rgba(12,35,49,.90) 42%,rgba(12,35,49,.22)); }
  .mn-hero__controls-inner { justify-content:center; }
  .mn-slider-pause { position:absolute; right:18px; bottom:2px; }
  .mn-services-strip__grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding-block:18px; }
  .mn-services-strip__item:nth-child(3) { border-left:0; padding-left:0; }
  .mn-footer__inner { grid-template-columns:1fr 1fr; }
  .mn-footer small { grid-column:1/-1; }
}
@media (max-width: 700px) {
  :root { --mn-gutter:22px; }
  .mn-topbar__inner { justify-content:center; padding-block:7px; }
  .mn-topbar__items { justify-content:center; row-gap:7px; }
  .mn-topbar__item { padding-inline:10px; font-size:11px; }
  .mn-topbar__item:first-child { padding-left:0; }
  .mn-header__inner { min-height:72px; gap:8px; }
  .mn-brand { gap:7px; }
  .mn-brand__mark { width:41px; height:36px; }
  .mn-brand__words strong { font-size:21px; }
  .mn-brand__words small { font-size:6px; letter-spacing:.22em; }
  .mn-brand__custom { max-width:138.75px; max-height:37.5px; }
  .mn-header__cta { display:none; }
  .mn-hero__slides { height:auto; min-height:0; }
  .mn-hero__slide { position:absolute; inset:0; }
  .mn-hero__slide.is-active { position:relative; }
  .mn-hero__content-wrap { min-height:655px; padding-top:52px; padding-bottom:125px; align-items:flex-start; }
  .mn-hero__content { width:100%; max-width:560px; padding-top:0; }
  .mn-hero__photo img { object-position:62% center; opacity:.70; }
  .mn-hero__shade { background:linear-gradient(90deg,rgba(12,35,49,.97),rgba(12,35,49,.79)),linear-gradient(0deg,rgba(12,35,49,.65),transparent 60%); }
  .mn-hero__eyebrow { font-size:10px; gap:12px; letter-spacing:.21em; margin-bottom:23px; }
  .mn-hero__rule { width:30px; }
  .mn-hero__title { font-size:clamp(34px,8vw,49px); line-height:1.08; margin-bottom:24px; letter-spacing:-.035em; }
  .mn-hero__slide[data-slide-index="2"] .mn-hero__title { font-size:clamp(32px,7.5vw,46px); }
  .mn-hero__description { font-size:15px; line-height:1.6; margin-bottom:27px; }
  .mn-hero__actions { gap:11px; }
  .mn-hero__actions .mn-btn { font-size:14px; flex:1 1 auto; min-width:0; padding-inline:15px; }
  .mn-hero__controls { min-height:100px; background:rgba(12,35,49,.80); }
  .mn-hero__controls-inner { min-height:100px; width:calc(100% - 22px); gap:4px; justify-content:space-around; }
  .mn-slider-arrow { width:35px; height:35px; }
  .mn-slider-arrow .mn-icon { width:18px; height:18px; }
  .mn-slider-tabs { flex:1; justify-content:center; }
  .mn-slider-tab { flex:1; min-width:0; flex-direction:column; gap:4px; padding:8px 3px; justify-content:center; align-items:center; text-align:center; }
  .mn-slider-tab__num { font-size:24px; }
  .mn-slider-tab__name { font-size:10px; max-width:90px; }
  .mn-slider-tab__progress { left:4px; right:4px; }
  .mn-slider-pause { bottom:1px; right:12px; font-size:10px; }
  .mn-services-strip__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; padding-block:20px; }
  .mn-services-strip__item { min-height:92px; padding:10px 9px; gap:10px; border:0; }
  .mn-services-strip__item > .mn-icon { width:34px; height:34px; }
  .mn-services-strip__item:nth-child(odd) { padding-left:0; }
  .mn-services-strip__item:nth-child(even) { padding-right:0; }
  .mn-services-strip__item h2 { font-size:12px; }
  .mn-services-strip__item p { font-size:11px; }
  .mn-footer__inner { grid-template-columns:1fr; gap:20px; }
  .mn-footer small { grid-column:auto; }
  .mn-hero__photo-pending span { right:7%; bottom:25%; font-size:10px; max-width:45%; }
}
@media (max-width: 560px) {
  .mn-topbar__inner { min-height:40px; padding-block:2px; }
  .mn-topbar__items { display:grid; grid-template-columns:max-content max-content; grid-auto-rows:17px; justify-content:center; align-items:center; row-gap:0; width:100%; }
  .mn-topbar__item { min-height:17px; gap:5px; padding-inline:7px; font-size:11px; white-space:nowrap; }
  .mn-topbar__item:nth-child(3) { border-left:0; }
  .mn-topbar__social { gap:5px; padding-inline:7px; }
  .mn-topbar__item .mn-icon { width:15px; height:15px; }
}

@media (max-width: 390px) {
  .mn-hero__content-wrap { min-height:700px; }
  .mn-hero__title { font-size:32px; }
  .mn-hero__actions { flex-direction:column; align-items:stretch; }
  .mn-slider-tab__name { font-size:9px; }
}

/* =================== BLOCK 02: RESPONSIVE ========================= */
@media (max-width:1200px) {
  .mn-about { padding-block:90px; }
  .mn-about__grid { gap:50px; }
  .mn-about__visual { min-height:540px; }
  .mn-about__title { font-size:clamp(39px,4vw,44px); }
  .mn-about__copy { font-size:16px; }
}
@media (max-width:920px) {
  .mn-about { padding-block:84px; }
  .mn-about__grid { grid-template-columns:1fr; gap:66px; }
  .mn-about__content { grid-row:1; max-width:680px; }
  .mn-about__visual { grid-row:2; width:min(680px,100%); min-height:610px; }
}
@media (max-width:700px) {
  .mn-about { padding-block:72px; }
  .mn-about__grid { gap:54px; }
  .mn-about__eyebrow { gap:16px; margin-bottom:24px; font-size:11px; letter-spacing:.25em; }
  .mn-about__eyebrow > span { width:42px; }
  .mn-about__title { margin-bottom:28px; font-size:clamp(34px,9vw,40px); line-height:1.1; }
  .mn-about__copy { font-size:15px; line-height:1.72; }
  .mn-about__copy p + p { margin-top:22px; }
  .mn-about__cta { margin-top:32px; font-size:16px; }
  .mn-about__visual { min-height:500px; }
  .mn-about__photo--main { width:86%; height:92%; }
  .mn-about__photo--detail { width:48%; height:55%; }
}
@media (max-width:430px) {
  .mn-about { padding-block:64px 72px; }
  .mn-about__grid { gap:48px; }
  .mn-about__visual { min-height:390px; }
  .mn-about__photo--main { width:88%; height:90%; border-radius:7px; }
  .mn-about__photo--detail { width:49%; height:53%; border-width:4px; border-radius:10px; }
  .mn-about__decor--panel { width:58%; right:1%; }
  .mn-about__decor--line { width:48%; right:4%; }
}


/* =================== BLOCK 03: RESPONSIVE ========================= */
@media (max-width:1200px) {
  .mn-service-cards { padding-block:90px; }
  .mn-service-cards__header { gap:48px; margin-bottom:42px; }
  .mn-service-cards__title { font-size:clamp(39px,4vw,44px); }
  .mn-service-card__media { height:250px; }
}
@media (max-width:920px) {
  .mn-service-cards { padding-block:84px; }
  .mn-service-cards__header { grid-template-columns:1fr; align-items:start; gap:28px; }
  .mn-service-cards__intro { max-width:680px; }
  .mn-service-cards__grid { gap:24px; }
  .mn-service-card__media { height:220px; }
  .mn-service-card__body { padding:25px 26px 30px; }
  .mn-service-card__title { font-size:22px; }
  .mn-service-card__description { font-size:15px; }
}
@media (max-width:700px) {
  .mn-service-cards { padding-block:72px; }
  .mn-service-cards__header { gap:24px; margin-bottom:38px; }
  .mn-service-cards__eyebrow { gap:16px; margin-bottom:20px; font-size:11px; letter-spacing:.25em; }
  .mn-service-cards__eyebrow > span { width:42px; }
  .mn-service-cards__title { font-size:clamp(34px,9vw,40px); line-height:1.1; }
  .mn-service-cards__intro { font-size:15px; line-height:1.72; }
  .mn-service-cards__grid { grid-template-columns:1fr; gap:26px; }
  .mn-service-card__media { height:clamp(210px,58vw,260px); }
  .mn-service-card__body { padding:27px 28px 31px; }
  .mn-service-card__description { margin-bottom:26px; }
}
@media (max-width:430px) {
  .mn-service-cards { padding-block:64px 72px; }
  .mn-service-card__media { height:210px; }
  .mn-service-card__body { padding:25px 24px 29px; }
  .mn-service-card__title { margin-bottom:14px; font-size:21px; }
}
@media (prefers-reduced-motion:reduce) {
  .mn-service-card,.mn-service-card__media img,.mn-service-card__link { transition:none; }
  .mn-service-card:hover { transform:none; }
  .mn-service-card:hover .mn-service-card__media img { transform:none; }
}


/* Ajustes compactos del Header Sticky por breakpoint. */
@media (max-width: 1020px) {
    :root { --mn-sticky-header-height: 70px; }
    html { scroll-padding-top: calc(var(--mn-admin-offset) + 78px); }
    .mn-header.is-sticky .mn-brand__mark { width: 51px; height: 44px; }
    .mn-header.is-sticky .mn-brand__words strong { font-size: 23px; }
    .mn-header.is-sticky .mn-brand__words small { font-size: 6.5px; letter-spacing: .28em; }
    .mn-header.is-sticky .mn-brand__custom { max-width: 120px; max-height: 32.25px; }
}

@media (max-width: 700px) {
    :root { --mn-sticky-header-height: 64px; }
    html { scroll-padding-top: calc(var(--mn-admin-offset) + 72px); }
    .mn-header.is-sticky .mn-brand__mark { width: 35px; height: 31px; }
    .mn-header.is-sticky .mn-brand__words strong { font-size: 18px; }
    .mn-header.is-sticky .mn-brand__words small { font-size: 5.5px; letter-spacing: .2em; }
    .mn-header.is-sticky .mn-brand__custom { max-width: 116.25px; max-height: 31.5px; }
}
