/* Tres caminos — viewport-height / mobile responsive layer */

:root{
  --fluid-v:min(1vw,1vh);
  --nav-clearance:24px;
  --logo-clearance:88px;
  --foot-clearance:110px;
}

/* Owner: layout-only — minimum type sizes (no copy changes) */
@media (min-width:641px){
  .foot{font-size:max(14px,.875rem)}
  .eyebrow,.tag{font-size:max(14px,.875rem)}
  .lab,.tbl th,.matrix-case .case-tag{font-size:max(13px,.8125rem)}
  .slide-probamos .probamos-tbl th{font-size:max(13px,.8125rem)}
  .dos-slide .dos-credit{font-size:max(13px,.8125rem)}
  .deliverable-volaris-slide .panel-meta,
  .deliverable-volaris-slide .sealed-badge,
  .deliverable-volaris-slide .codebox-contract .label,
  .deliverable-volaris-slide .codebox-contract pre,
  .deliverable-volaris-slide .deliverable-panel h3,
  .deliverable-volaris-slide .figma-spec-list li,
  .deliverable-volaris-slide .contract-code-note{font-size:max(13px,.8125rem)}
  .deliverable-volaris-slide .deliverable-volaris-head .eyebrow{font-size:max(13px,.8125rem)!important}
  .deliverable-volaris-slide .codebox-contract .map-hl,
  .deliverable-volaris-slide .codebox-contract .map-code,
  .deliverable-volaris-slide .codebox-contract .map-val,
  .deliverable-volaris-slide .figma-spec-list .map-hl,
  .deliverable-volaris-slide .figma-spec-list .map-code{font-size:1em!important}
  .deliverable-volaris-slide .codebox-contract pre{font-size:max(13px,.8125rem)!important}
}
@media (max-width:640px){
  .deliverable-volaris-slide .sealed-badge,
  .deliverable-volaris-slide .panel-meta,
  .deliverable-volaris-slide .codebox-contract .label,
  .deliverable-volaris-slide .codebox-contract pre{font-size:max(12px,.8125rem)!important}
  .deliverable-volaris-slide .codebox-contract pre .map-hl,
  .deliverable-volaris-slide .codebox-contract pre .map-code{font-size:1em!important}
  .deliverable-volaris-slide .deliverable-volaris-head .lead{font-size:max(13px,.875rem)!important}
  .probamos-tbl td:not(:first-child)::before{font-size:max(12px,.75rem)}
  .metrics-tbl td:not(:first-child)::before{font-size:max(12px,.75rem)}
  .probamos-tbl td:first-child{font-size:max(12px,.8125rem)}
}
@media (max-width:640px){
  .foot,.foot-right{display:none!important}
  .lab,.tbl th,.matrix-case .case-tag,.dos-slide .dos-credit{font-size:max(12px,.75rem)}
  .eyebrow,.tag{font-size:max(13px,.8125rem)}
}

/* Content slide titles: scale with min(vw, vh) */
#deck > .slide:not(:first-child):not(.cierre-slide):not(.dos-slide) .slide-head h2.hl,
#deck > .slide.decision-slide .dos-header h2{
  font-size:clamp(1.85rem,min(5.6vw,7.2vh),4.6rem);
}

/* Slide 7 (process diagram): compact title above diagram */
#deck > .slide.dos-slide:not(.decision-slide) .dos-header{
  padding:clamp(28px,7vh,48px) clamp(20px,4vw,48px) clamp(4px,1vh,8px) clamp(20px,10vw,160px);
  max-width:100%;
  width:100%;
}
#deck > .slide.dos-slide:not(.decision-slide) .dos-header h2{
  font-size:clamp(0.7rem,min(0.9vw + 1.25vh,2.4vh + 0.5rem),1.1rem);
  line-height:1.28;
  letter-spacing:0;
  font-weight:600;
  max-width:min(72ch,100%);
}

.dos-slide .dos-stage{
  flex:1;min-height:0;
  display:flex;flex-direction:column;align-items:stretch;
  justify-content:flex-start;
  overflow:hidden;
}
.dos-scale-host{
  flex:1 1 auto;min-height:0;max-height:100%;
  display:flex;justify-content:center;align-items:flex-start;
  overflow:hidden;width:100%;margin:0 auto;
}
.dos-scale-wrap{transform-origin:top center}
.dos-credit{flex:none;margin-top:clamp(2px,0.6vh,6px)}

.slide-head .lead,.slide-head .lead-tight{
  font-size:clamp(0.8125rem,min(1.05vw + 0.35vh,1.35vh + 0.5rem),1.0625rem);
}

@media (max-height:800px){
  :root{--nav-safe:104px}
  .logo-sm{top:clamp(16px,3vh,28px);left:clamp(20px,3vw,36px);transform:scale(0.92);transform-origin:top left}
  .slide-fit .inner-viewport{padding-top:clamp(40px,8vh,52px);padding-bottom:calc(var(--nav-safe) + 16px)}
  .slide-spacious .inner-spacious{padding-top:clamp(40px,8vh,52px);padding-bottom:calc(var(--nav-safe) + 16px)}
}

@media (max-height:650px){
  :root{--nav-safe:96px}
  .nav{padding:7px 16px}
  .dos-slide:not(.decision-slide) .dos-header{padding-top:clamp(24px,6vh,36px)}
  .decision-slide .dos-header.decision-header{padding-top:clamp(32px,6vh,42px)}
}

@media (max-height:800px){
  .deuda-cards{gap:10px!important}
  .deuda-cards .problema-card{padding:14px 16px!important}
  .problema-stack{gap:14px!important}
  .problema-cards{gap:12px!important}
  .problema-card{padding:14px 16px!important}
  .slide-probamos .probamos-stack{gap:10px}
  .slide-probamos .probamos-stack > .probamos-sello-banner{margin-top:8px;padding:8px 12px}
  .slide-probamos .probamos-stack > .hero-band{padding:12px 16px;margin-top:8px}
  .cierre-slide .big{font-size:clamp(1.65rem,min(5.5vw,11vh),3.2rem)!important;line-height:1.06}
  .cierre-slide .inner.center{padding-top:clamp(36px,7vh,48px)!important;padding-bottom:calc(var(--nav-safe) + 48px)!important}
  #deck > .slide > .inner::after,
  #deck > .slide > .inner.inner-viewport::after,
  #deck > .slide > .inner.inner-spacious::after{
    content:'';display:block;height:calc(var(--nav-safe) + var(--foot-clearance));width:100%;flex:none;
  }
  .slide-spacious .inner-spacious,.slide-fit .inner-viewport{
    height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;
    padding-bottom:calc(var(--nav-safe) + 24px)!important;
  }
  .slide-spacious .slide-body,.slide-fit .slide-body,.problema-slide .slide-body,
  .metrics-slide .slide-body,.slide-probamos .slide-body,.roadmap-combined-slide .slide-body,
  .contracts-slide .slide-body,.bridge-volaris-slide .slide-body{
    flex:none!important;justify-content:flex-start!important;min-height:0;overflow:visible;
  }
  .deuda-stack,.curva-stack,.matrix-stack,.bridge-volaris-slide .problema-stack,
  .probamos-stack,.metrics-slide .metrics-stack{
    flex:none!important;justify-content:flex-start!important;
  }
  .metrics-slide .slide-body{flex:none!important;justify-content:flex-start!important}
  .slide.slide-fit.active,.slide.slide-spacious.active,.slide.cierre-slide.active,
  .slide.deliverable-volaris-slide.active,.slide.slide-probamos.active,.slide.metrics-slide.active,
  .slide.roadmap-combined-slide.active,.slide.contracts-slide.active{
    overflow-y:auto!important;-webkit-overflow-scrolling:touch;
  }
  .slide-fit .inner-viewport,.slide-spacious .inner-spacious{
    height:auto;max-height:none;overflow:visible;min-height:0;
  }
  .slide-fit .slide-body,.slide-spacious .slide-body{overflow:visible;min-height:0}
  .dos-slide.active{overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch}
  .dos-slide.decision-slide.active{overflow-y:auto!important;overflow-x:hidden!important}
  .dos-slide.decision-slide .dos-stage{padding-bottom:calc(var(--nav-safe) + 56px)}
  .dos-slide.decision-slide .dos-stage::after{
    content:'';display:block;height:calc(var(--nav-safe) + 48px);width:100%;flex:none;
  }
  .dos-slide .dos-stage{overflow:visible;min-height:0;max-width:100%}
  .dos-slide:not(.dos-mobile-stack) .dos-scale-host{overflow:hidden;max-height:none;max-width:100%}
  .dos-slide.dos-mobile-stack .dos-scale-host{overflow:visible;max-height:none;max-width:100%}
  .dos-slide:not(.dos-mobile-stack) .dos-stage{padding-bottom:calc(var(--nav-safe) + 80px)}
  .dos-slide:not(.dos-mobile-stack) .dos-credit::after{
    content:'';display:block;height:calc(var(--nav-safe) + 36px);width:100%;
  }
}

@media (max-height:560px),(max-width:1024px) and (max-height:560px){
  .dos-slide .dos-header .eyebrow{font-size:max(13px,.8125rem)!important}
  #deck > .slide:not(.dos-slide) > .inner,
  #deck > .slide:not(.dos-slide) > .inner.inner-viewport,
  #deck > .slide:not(.dos-slide) > .inner.inner-spacious{
    padding-top:max(var(--logo-clearance),clamp(72px,14vh,96px))!important;
  }
  #deck > .slide.dos-slide .dos-header{
    padding-top:max(var(--logo-clearance),clamp(72px,14vh,96px))!important;
  }
  #deck > .slide.slide-dark > .inner.center{
    padding-top:var(--logo-clearance)!important;
    justify-content:flex-start;
    min-height:100vh;
  }
  .slide-dark .big{font-size:clamp(1.85rem,min(9vw,14vh),4.2rem);line-height:1.02}
}

@media (max-height:520px){
  :root{--nav-safe:88px}
  .foot{display:none}
  .slide-dark.active{overflow-y:auto!important;-webkit-overflow-scrolling:touch}
  .slide-dark .inner.center{padding-bottom:calc(var(--nav-safe) + 48px)}
  .dos-slide .dos-header .eyebrow{margin-bottom:4px;font-size:max(13px,.8125rem)!important}
  .dos-slide:not(.decision-slide) .dos-credit{font-size:max(12px,.75rem)!important;line-height:1.35}
  .dos-slide.active{overflow-y:auto!important}
  .dos-slide:not(.decision-slide) .dos-credit::after{
    content:'';display:block;height:calc(var(--nav-safe) + 40px);width:100%;
  }
}

@media (max-width:900px){
  .dos-slide .dos-header{padding-left:clamp(20px,5vw,48px)!important;padding-right:clamp(20px,5vw,48px)!important}
  .deliverable-volaris{grid-template-columns:1fr!important}
  .analogy{grid-template-columns:1fr}
  .deuda-cards{grid-template-columns:1fr}
  .curva-columns{grid-template-columns:1fr}
  .probamos-banners{grid-template-columns:1fr!important}
}

@media (max-width:1024px),(max-height:620px){
  .deuda-cards .problema-card:nth-child(n){grid-column:auto!important;grid-row:auto!important}
  .curva-columns{grid-template-columns:1fr!important}
  .matrix-slide .slide-body{overflow:visible;flex:none;min-height:0}
  .matrix-stack{overflow:visible;flex:none;height:auto;min-height:0}
  .matrix-board{
    display:flex;flex-direction:column;gap:12px;height:auto!important;min-height:0!important;flex:none!important;
    padding:20px 16px 28px 16px;overflow:visible;
  }
  .matrix-board::before,.matrix-board::after{display:none}
  .matrix-axis-y,.matrix-axis-x{display:none}
  .matrix-case{grid-column:auto!important;grid-row:auto!important;width:100%}
}

@media (max-width:480px){
  .matrix-board{
    display:flex;flex-direction:column;gap:12px;height:auto;min-height:0;padding:20px 16px 32px 16px;
  }
  .matrix-board::before,.matrix-board::after{display:none}
  .matrix-axis-y,.matrix-axis-x{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:auto;height:auto}
  .matrix-axis-y > *{writing-mode:horizontal-tb;transform:none}
  .matrix-case{grid-column:auto!important;grid-row:auto!important}
}

.dos-slide.dos-mobile-stack .dos-stage{overflow:visible;min-height:0;padding-bottom:calc(var(--nav-safe) + 28px)}
.dos-slide.dos-mobile-stack .dos-scale-host{overflow:visible;max-height:none;height:auto!important;flex:0 0 auto}
.dos-slide.dos-mobile-stack .dos-credit{padding-bottom:8px}
.dos-slide.dos-mobile-stack .dos-credit::after{
  content:'';display:block;height:calc(var(--nav-safe) + 48px);width:100%;flex:none;
}

@media (max-width:640px){
  html,body{overflow-x:hidden;max-width:100vw}
  #deck,.deck{width:100%;max-width:100vw;overflow-x:hidden}
  #deck > .slide{max-width:100vw;overflow-x:hidden}
  :root{--logo-clearance:76px;--nav-safe:112px}
  #deck > .slide > .inner{
    padding-top:var(--logo-clearance)!important;
  }
  #deck > .slide > .inner::after,
  #deck > .slide > .inner.inner-viewport::after,
  #deck > .slide > .inner.inner-spacious::after{
    content:'';display:block;height:calc(var(--nav-safe) + var(--foot-clearance));width:100%;flex:none;
  }
  .deliverable-volaris-slide .inner-spacious{
    height:auto!important;max-height:none!important;overflow:visible!important;
    display:flex!important;flex-direction:column;
  }
  .deliverable-volaris-slide .slide-body{
    overflow:visible!important;height:auto!important;min-height:0;
    grid-template-rows:auto auto!important;
  }
  .deliverable-volaris-slide .deliverable-volaris{
    height:auto!important;min-height:0;grid-template-columns:1fr!important;
  }
  .deliverable-volaris-slide .deliverable-panel{
    height:auto!important;max-height:none!important;overflow:visible!important;
  }
  .deliverable-volaris-slide .contract-panel .codebox-contract{overflow:visible!important;flex:none;min-height:0}
  .deliverable-volaris-slide .contract-panel .codebox{
    overflow-x:auto!important;overflow-y:visible;max-width:100%;flex:none;min-height:0;
    -webkit-overflow-scrolling:touch;
  }
  .deliverable-volaris-slide .codebox-contract pre{
    overflow-x:auto!important;overflow-y:visible;flex:none;min-height:auto;max-height:none;
    white-space:pre;-webkit-overflow-scrolling:touch;
  }
  .deliverable-volaris-slide .figma-panel .volaris-btn-stage{
    height:auto!important;min-height:88px;max-height:none;
  }
  #deck > .slide > .inner.center{
    justify-content:flex-start;
    min-height:100vh;
    padding-top:var(--logo-clearance)!important;
  }
  #deck > .slide.dos-slide > .dos-header{
    padding-top:var(--logo-clearance)!important;
  }
  #deck > .slide .slide-head .eyebrow,
  #deck > .slide.dos-slide .dos-header .eyebrow{
    margin-top:0;
  }
  .decision-slide .dos-stage::after{
    content:'';display:block;height:calc(var(--nav-safe) + 48px);width:100%;flex:none;
  }
  .slide.active{overflow-y:auto!important;-webkit-overflow-scrolling:touch}
  .slide-fit.active,.slide-spacious.active{
    height:auto!important;min-height:100vh;max-height:none;overflow-y:auto!important;
  }
  .slide.slide-spacious.active,.slide.slide-fit.active{overflow-x:hidden}
  .slide-fit .inner-viewport,.slide-spacious .inner-spacious{
    height:auto!important;max-height:none!important;min-height:0!important;overflow:visible;
  }
  .deuda-slide .inner-viewport,.matrix-slide .inner-viewport,.curva-slide .inner-viewport{
    height:auto!important;max-height:none!important;overflow:visible!important;
  }
  .slide-fit .slide-body,.slide-spacious .slide-body{
    flex:none!important;min-height:0;overflow:visible;width:100%;
  }
  .deuda-stack,.matrix-stack,.curva-stack{
    flex:none!important;justify-content:flex-start!important;min-height:0;width:100%;
  }
  .metrics-slide .slide-body{
    flex:none!important;justify-content:flex-start!important;min-height:0;width:100%;
  }
  .slide-head{position:relative;z-index:2;flex:none;width:100%}
  .deuda-cards{grid-template-columns:1fr}
  .matrix-board{min-height:360px;height:auto}
  .dos-slide.active{overflow-y:auto}
  .dos-slide .dos-stage{min-height:min(52vh,420px)}
  .deuda-cards .problema-card:nth-child(n){grid-column:auto!important;grid-row:auto!important}
  .curva-columns,.roadmap-adopcion-cards,.compact-steps,.problema-cards,.grid-2{
    grid-template-columns:1fr!important;
  }
  .deliverable-volaris{grid-template-columns:1fr!important}
  .tbl{overflow-x:visible!important;border:none;background:transparent}
  .probamos-tbl table,.metrics-tbl table{min-width:0!important;width:100%;border:none;background:transparent}
  .probamos-tbl thead,.metrics-tbl thead{display:none}
  .probamos-tbl tbody,.metrics-tbl tbody{display:flex;flex-direction:column;gap:12px}
  .probamos-tbl tr,.metrics-tbl tr{
    display:block;border:1px solid var(--line);border-radius:var(--radius);background:var(--page);
    padding:12px 14px;box-shadow:0 2px 8px rgba(18,18,18,.04);
  }
  .probamos-tbl td,.metrics-tbl td{
    display:block;border:none;padding:6px 0;font-size:13px;line-height:1.4;text-align:left;
  }
  .probamos-tbl td+td,.metrics-tbl td+td{border-top:1px solid var(--line);margin-top:6px;padding-top:10px}
  .probamos-tbl td:first-child,.metrics-tbl td:first-child{font-weight:700;color:var(--ink);padding-top:0;border-top:0;margin-top:0}
  .probamos-tbl td:not(:first-child)::before,.metrics-tbl td:not(:first-child)::before{
    display:block;font-size:max(12px,.75rem);font-weight:600;letter-spacing:.04em;text-transform:uppercase;
    color:var(--gray);margin-bottom:6px;line-height:1.3;
  }
  /* Mobile card labels: exact copy of <thead> text (no content edits). */
  .probamos-tbl td:nth-child(2)::before{content:'Qué respondía'}
  .probamos-tbl td:nth-child(3)::before{content:'Resultado'}
  .metrics-tbl td:nth-child(2)::before{content:'Manual'}
  .metrics-tbl td:nth-child(3)::before{content:'Con skills (reloj / activo)'}
  .metrics-tbl td:nth-child(4)::before{content:'Señal'}
  .codebox,.codebox-contract{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .codebox pre,.codebox-contract pre{
    font-size:max(11px,.75rem);line-height:1.45;overflow-x:auto;max-width:100%;white-space:pre;
  }
}

@media (max-height:620px){
  .deuda-cards{grid-template-columns:1fr!important}
  .deuda-cards .problema-card:nth-child(n){grid-column:auto!important;grid-row:auto!important}
  .deliverable-volaris{grid-template-columns:1fr!important}
  .slide-spacious .inner-spacious{
    height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;
  }
  .slide-fit .inner-viewport{
    height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;
  }
  .slide-spacious .slide-body,.slide-fit .slide-body{
    flex:none!important;justify-content:flex-start!important;min-height:0;overflow:visible;
  }
  .deuda-stack,.matrix-stack,.curva-stack,.metrics-slide .slide-body{
    flex:none!important;justify-content:flex-start!important;
  }
  .slide.slide-spacious.active,.slide.slide-fit.active{
    height:auto!important;min-height:100vh;overflow-y:auto!important;
  }
  #deck > .slide.slide-fit.active,
  #deck > .slide.slide-spacious.active,
  #deck > .slide.dos-slide.active{overflow-y:auto!important}
  #deck > .slide > .inner::after,
  #deck > .slide > .inner.inner-viewport::after,
  #deck > .slide > .inner.inner-spacious::after{
    content:'';display:block;height:calc(var(--nav-safe) + 32px);width:100%;flex:none;
  }
}

@media (max-height:920px){
  .deliverable-volaris-slide.active{overflow-y:auto!important;-webkit-overflow-scrolling:touch}
  .deliverable-volaris-slide .inner-spacious{
    display:flex!important;flex-direction:column;
    height:auto!important;max-height:none!important;overflow:visible!important;
    grid-template-rows:none!important;
  }
  .deliverable-volaris-slide .slide-body{
    display:flex!important;flex-direction:column;
    grid-template-rows:none!important;
    height:auto!important;min-height:0;overflow:visible!important;gap:12px;
  }
  .deliverable-volaris-slide .deliverable-volaris{
    flex:none;height:auto!important;min-height:0;width:100%!important;max-width:100%!important;
    align-items:stretch;
  }
  .deliverable-volaris-slide .deliverable-panel{
    height:auto!important;min-height:0;overflow:visible!important;max-width:100%!important;
  }
  .deliverable-volaris-slide .figma-panel,.deliverable-volaris-slide .contract-panel{height:auto!important;min-height:0}
  .deliverable-volaris-slide .figma-panel-rest{display:none!important}
  .deliverable-volaris-slide .contract-panel .codebox-contract{
    flex:none!important;min-height:0;overflow:visible!important;margin-top:6px;
  }
  .deliverable-volaris-slide .contract-panel .codebox{
    flex:none!important;min-height:0;overflow-x:auto!important;overflow-y:visible;max-width:100%;
  }
  .deliverable-volaris-slide .codebox-contract pre{
    flex:none!important;min-height:auto!important;max-height:none!important;
    overflow-x:auto!important;overflow-y:visible!important;
    font-size:max(13px,.8125rem)!important;line-height:1.45;
  }
  .deliverable-volaris-slide .contract-code-note{
    flex:none;margin-top:10px;position:static;
  }
  .deliverable-volaris-slide .deliverable-takeaway{
    position:static!important;z-index:auto!important;
    margin-top:12px!important;flex:none;order:10;
    font-size:max(13px,.8125rem)!important;line-height:1.35;
  }
  .deliverable-volaris-slide .figma-spec-list li{
    overflow-wrap:anywhere;word-break:break-word;line-height:1.4;
  }
  .deliverable-volaris-slide .figma-panel .volaris-btn-stage{
    height:auto!important;min-height:88px;max-height:none;
  }
  .deliverable-volaris-slide .inner-spacious::after{
    content:'';display:block;height:calc(var(--nav-safe) + 64px);width:100%;flex:none;
  }
}
@media (max-height:920px) and (min-width:641px){
  .deliverable-volaris-slide .deliverable-volaris{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
}
@media (max-width:1024px) and (max-height:560px){
  .deliverable-volaris-slide .deliverable-volaris{grid-template-columns:1fr!important}
}

@media (max-height:760px){
  .deliverable-volaris-slide .deliverable-volaris-head .lead,
  .deliverable-volaris-slide .deliverable-volaris-head .lead strong{font-size:max(13px,.875rem)!important;line-height:1.4}
  .deliverable-volaris-slide .codebox-contract pre,
  .deliverable-volaris-slide .codebox-contract .label,
  .deliverable-volaris-slide .panel-meta,
  .deliverable-volaris-slide .sealed-badge,
  .deliverable-volaris-slide .deliverable-panel h3,
  .deliverable-volaris-slide .figma-spec-list li,
  .deliverable-volaris-slide .deliverable-takeaway{font-size:max(13px,.8125rem)!important;line-height:1.45}
  .deliverable-volaris-slide .inline-code{font-size:max(12px,.75rem)!important}
}

@media (max-height:620px) and (min-width:641px){
  .tbl.compact td,.tbl.compact th{font-size:max(12px,.75rem)}
  .metrics-slide .lead-one-line{font-size:max(12px,.78rem)}
  .roadmap-combined-slide .roadmap-proponemos-lead{font-size:max(12px,.75rem)}
  .roadmap-combined-slide .compact-steps .step-card p{font-size:max(12px,.75rem)}
}
