/*
 * BAET — R1 Public Shell Responsive v1.0.0
 * PHP target: 8.3 (CSS module; no PHP-specific dependency)
 *
 * Scope:
 *   .baet-r1-header
 *   .baet-r1-hero
 *   .baet-r1-news
 *
 * This file intentionally DOES NOT style:
 * - institutional section
 * - agenda
 * - calendar
 * - event pages
 * - admin
 */

/* ---------------------------------------------------------
   SAFETY / BASE
--------------------------------------------------------- */
.baet-r1-nav-short{
  display:none;
}

/* ---------------------------------------------------------
   TABLET / SMALL LAPTOP — 1024px and below
--------------------------------------------------------- */
@media (max-width:1024px){

  .public-body .baet-r1-header{
    background:rgba(5,20,43,.70) !important;
    border-bottom:1px solid rgba(255,255,255,.12) !important;
    box-shadow:0 10px 28px rgba(4,18,39,.14) !important;
    backdrop-filter:blur(16px) saturate(150%) !important;
    -webkit-backdrop-filter:blur(16px) saturate(150%) !important;
  }

  .public-body .baet-r1-header-row{
    min-height:66px !important;
    gap:18px !important;
  }

  .public-body .baet-r1-nav{
    gap:20px !important;
    min-width:0 !important;
  }

  .public-body .baet-r1-nav a{
    min-height:44px !important;
    display:inline-flex !important;
    align-items:center !important;
    color:#fff !important;
    font-size:.88rem !important;
    font-weight:800 !important;
    text-shadow:0 2px 10px rgba(0,0,0,.30) !important;
  }

  .public-body .baet-r1-brand img{
    width:150px !important;
    max-height:38px !important;
    object-fit:contain !important;
  }

  /*
   * Preserve the full 20:10 artwork.
   * We deliberately stop using "cover" on tablet/mobile because it crops
   * the embedded branding and text in PORTADA WEB.webp.
   */
  .public-body .baet-r1-hero.baet-home-hero{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:1774 / 887 !important;
    margin:0 !important;
    background:#eef5fb !important;
    overflow:visible !important;
  }

  .public-body .baet-r1-hero-media{
    position:absolute !important;
    inset:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    background:#eef5fb !important;
  }

  .public-body .baet-r1-hero-media img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
  }

  .public-body .baet-r1-hero-shade{
    background:linear-gradient(
      180deg,
      rgba(4,15,34,.08) 0%,
      rgba(4,15,34,0) 55%,
      rgba(4,15,34,.14) 100%
    ) !important;
  }

  .public-body .baet-r1-hero-content{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:5 !important;
    display:flex !important;
    justify-content:center !important;
    align-items:flex-end !important;
    padding:0 20px 18px !important;
    pointer-events:none !important;
  }

  .public-body .baet-r1-hero-cta{
    pointer-events:auto !important;
    margin:0 auto !important;
  }

  .public-body .baet-r1-news{
    min-height:44px !important;
    grid-template-columns:140px minmax(0,1fr) !important;
  }

  .public-body .baet-r1-news-label{
    min-height:44px !important;
    padding:0 14px !important;
  }

  .public-body .baet-r1-news-item{
    min-height:44px !important;
  }
}

/* ---------------------------------------------------------
   MOBILE — 767px and below
--------------------------------------------------------- */
@media (max-width:767px){

  .public-body{
    overflow-x:hidden;
  }

  .public-body .container{
    width:min(100% - 24px,1220px);
  }

  .public-body .baet-r1-header-row{
    min-height:58px !important;
    gap:10px !important;
  }

  .public-body .baet-r1-nav{
    gap:8px !important;
    flex:1 1 auto !important;
    overflow:hidden !important;
  }

  .public-body .baet-r1-nav a{
    min-height:40px !important;
    padding:0 5px !important;
    font-size:.78rem !important;
    line-height:1 !important;
  }

  .public-body .baet-r1-nav a:after{
    bottom:4px !important;
  }

  .public-body .baet-r1-nav-full{
    display:none !important;
  }

  .public-body .baet-r1-nav-short{
    display:inline !important;
  }

  .public-body .baet-r1-brand{
    flex:0 0 auto !important;
  }

  .public-body .baet-r1-brand img{
    width:112px !important;
    max-height:31px !important;
    filter:drop-shadow(0 6px 14px rgba(0,0,0,.22)) !important;
  }

  /*
   * Fixed header overlays the hero.
   * The artwork itself remains full and proportional.
   */
  .public-body .baet-r1-hero.baet-home-hero{
    padding-top:0 !important;
    aspect-ratio:1774 / 887 !important;
  }

  .public-body .baet-r1-hero-content{
    padding:0 12px 10px !important;
  }

  .public-body .baet-r1-hero-cta{
    min-height:42px !important;
    padding:8px 9px 8px 15px !important;
    gap:8px !important;
    font-size:.78rem !important;
    box-shadow:0 10px 24px rgba(3,25,54,.20) !important;
  }

  .public-body .baet-r1-hero-cta b{
    width:28px !important;
    height:28px !important;
  }

  /*
   * Mobile ticker becomes compact:
   * label is intentionally shorter and the moving content gets priority.
   */
  .public-body .baet-r1-news{
    grid-template-columns:104px minmax(0,1fr) !important;
    min-height:40px !important;
    box-shadow:0 6px 16px rgba(6,20,45,.10) !important;
  }

  .public-body .baet-r1-news-label{
    min-height:40px !important;
    padding:0 9px !important;
    gap:7px !important;
  }

  .public-body .baet-r1-news-label strong{
    font-size:.56rem !important;
    letter-spacing:.045em !important;
  }

  .public-body .baet-r1-news-label .baet-home-event-ticker-dot{
    width:7px !important;
    height:7px !important;
    flex:0 0 7px !important;
  }

  .public-body .baet-r1-news-item{
    min-height:40px !important;
    padding:0 10px !important;
    gap:7px !important;
  }

  .public-body .baet-r1-news-item strong{
    font-size:.69rem !important;
  }

  .public-body .baet-r1-news-item .baet-home-event-ticker-date{
    font-size:.64rem !important;
  }

  .public-body .baet-r1-news-item .baet-home-event-ticker-place{
    font-size:.64rem !important;
  }
}

/* ---------------------------------------------------------
   SMALL MOBILE — 480px and below
--------------------------------------------------------- */
@media (max-width:480px){

  .public-body .baet-r1-header-row{
    min-height:56px !important;
  }

  .public-body .baet-r1-nav{
    gap:4px !important;
  }

  .public-body .baet-r1-nav a{
    font-size:.72rem !important;
    padding:0 3px !important;
  }

  .public-body .baet-r1-brand img{
    width:98px !important;
    max-height:28px !important;
  }

  /*
   * On very narrow screens a 2:1 graphic is necessarily short.
   * We keep the artwork complete instead of cropping the BAET message.
   */
  .public-body .baet-r1-hero.baet-home-hero{
    min-height:190px !important;
    aspect-ratio:auto !important;
  }

  .public-body .baet-r1-hero-media img{
    object-fit:contain !important;
  }

  .public-body .baet-r1-news{
    grid-template-columns:88px minmax(0,1fr) !important;
  }

  .public-body .baet-r1-news-label{
    padding:0 7px !important;
  }

  .public-body .baet-r1-news-label strong{
    font-size:.52rem !important;
  }

  .public-body .baet-r1-news-item .baet-home-event-ticker-place{
    display:none !important;
  }
}

/* ---------------------------------------------------------
   LANDSCAPE MOBILE / SMALL TABLET
--------------------------------------------------------- */
@media (max-width:900px) and (orientation:landscape) and (max-height:520px){

  .public-body .baet-r1-header-row{
    min-height:52px !important;
  }

  .public-body .baet-r1-hero.baet-home-hero{
    min-height:280px !important;
    max-height:72vh !important;
    aspect-ratio:auto !important;
  }

  .public-body .baet-r1-hero-media img{
    object-fit:contain !important;
  }
}

/* ---------------------------------------------------------
   ACCESSIBILITY
--------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){

  .public-body .baet-r1-news-track,
  .public-body .baet-r1-news .baet-home-event-ticker-dot{
    animation:none !important;
  }

  .public-body .baet-r1-news-window{
    overflow-x:auto !important;
    scrollbar-width:thin !important;
  }

  .public-body .baet-r1-hero-media img{
    transform:none !important;
  }
}



/* =========================================================
   BAET R1.3 — MOBILE FINAL REBUILD
   Scope ONLY: header / hero / CTA / próximos eventos
========================================================= */

.baet-r1-news-label-mobile{
  display:none;
}

.baet-r1-hero-picture{
  display:block;
  width:100%;
  height:100%;
}

.baet-r1-hero-picture > img{
  display:block;
  width:100%;
  height:100%;
}

/* Tablet keeps the horizontal hero */
@media (min-width:768px) and (max-width:1024px){
  .public-body .baet-r1-header-row{
    min-height:64px !important;
  }

  .public-body .baet-r1-hero.baet-home-hero{
    height:52vw !important;
    min-height:360px !important;
    max-height:520px !important;
    aspect-ratio:auto !important;
  }

  .public-body .baet-r1-hero-picture > img,
  .public-body .baet-r1-hero-media img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
}

/* ---------------------------------------------------------
   MOBILE — rebuilt instead of patched
--------------------------------------------------------- */
@media (max-width:767px){
  html,
  body.public-body{
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  /* Header becomes normal-flow on mobile: it cannot cover the BAET logo. */
  .public-body .baet-r1-header,
  .public-body .site-header.baet-r1-header,
  .public-body .site-header-home.baet-r1-header{
    position:relative !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    width:100% !important;
    z-index:50 !important;
    margin:0 !important;
    border-radius:0 !important;
    background:linear-gradient(135deg,#071a3a,#0b315f) !important;
    border:0 !important;
    border-bottom:1px solid rgba(255,255,255,.12) !important;
    box-shadow:0 8px 20px rgba(4,18,39,.14) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  .public-body .baet-r1-header-row{
    width:100% !important;
    min-height:56px !important;
    padding:0 12px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
  }

  .public-body .baet-r1-nav{
    min-width:0 !important;
    flex:1 1 auto !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    overflow:hidden !important;
  }

  .public-body .baet-r1-nav a{
    min-height:44px !important;
    display:inline-flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
    padding:0 !important;
    color:#fff !important;
    font-size:.74rem !important;
    font-weight:850 !important;
    line-height:1 !important;
    white-space:nowrap !important;
    text-shadow:none !important;
  }

  .public-body .baet-r1-nav-full{
    display:none !important;
  }

  .public-body .baet-r1-nav-short{
    display:inline !important;
  }

  .public-body .baet-r1-brand{
    flex:0 0 auto !important;
    margin:0 !important;
  }

  .public-body .baet-r1-brand img{
    display:block !important;
    width:105px !important;
    height:auto !important;
    max-height:30px !important;
    object-fit:contain !important;
    filter:drop-shadow(0 5px 12px rgba(0,0,0,.16)) !important;
  }

  /* 75% of the browser's visible height as explicitly requested. */
  .public-body .baet-r1-hero.baet-home-hero,
  .public-body .hero-stage.baet-r1-hero{
    position:relative !important;
    width:100% !important;
    height:75svh !important;
    min-height:520px !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#f7f9fc !important;
  }

  .public-body .baet-r1-hero-media,
  .public-body .baet-r1-hero-picture{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    display:block !important;
    overflow:hidden !important;
    background:#f7f9fc !important;
  }

  /* Complete artwork, never cropped. White letterbox blends into artwork. */
  .public-body .baet-r1-hero-picture > img,
  .public-body .baet-r1-hero-media img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:contain !important;
    object-position:center top !important;
    transform:none !important;
  }

  .public-body .baet-r1-hero-shade{
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(6,20,45,.03) 72%,rgba(6,20,45,.12) 100%) !important;
    pointer-events:none !important;
  }

  .public-body .baet-r1-hero-content{
    position:absolute !important;
    z-index:5 !important;
    left:0 !important;
    right:0 !important;
    bottom:14px !important;
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    padding:0 14px !important;
    pointer-events:none !important;
  }

  .public-body .baet-r1-hero-cta{
    pointer-events:auto !important;
    min-width:210px !important;
    min-height:46px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin:0 auto !important;
    padding:8px 10px 8px 18px !important;
    border-radius:999px !important;
    background:linear-gradient(135deg,#19d6df,#87e5b2,#f1cb42) !important;
    color:#06142d !important;
    font-size:.8rem !important;
    font-weight:900 !important;
    box-shadow:0 12px 26px rgba(5,25,52,.22) !important;
  }

  .public-body .baet-r1-hero-cta b{
    width:30px !important;
    height:30px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:50% !important;
    background:rgba(6,20,45,.10) !important;
  }

  /* Ticker rebuilt as two physically isolated columns. */
  .public-body .baet-r1-news,
  .public-body .baet-home-event-ticker.baet-r1-news{
    position:relative !important;
    z-index:10 !important;
    width:100% !important;
    height:38px !important;
    min-height:38px !important;
    display:grid !important;
    grid-template-columns:86px minmax(0,1fr) !important;
    align-items:stretch !important;
    overflow:hidden !important;
    background:#15171c !important;
    color:#fff !important;
    border:0 !important;
    box-shadow:0 5px 14px rgba(4,18,39,.14) !important;
  }

  .public-body .baet-r1-news-label{
    position:relative !important;
    z-index:4 !important;
    width:86px !important;
    min-width:86px !important;
    max-width:86px !important;
    height:38px !important;
    min-height:38px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    padding:0 7px !important;
    overflow:hidden !important;
    background:linear-gradient(135deg,#063d83,#0b68c9) !important;
    box-shadow:8px 0 18px rgba(0,0,0,.18) !important;
  }

  .public-body .baet-r1-news-label .baet-home-event-ticker-dot{
    width:6px !important;
    height:6px !important;
    min-width:6px !important;
    flex:0 0 6px !important;
  }

  .public-body .baet-r1-news-label-desktop{
    display:none !important;
  }

  .public-body .baet-r1-news-label-mobile{
    display:block !important;
    min-width:0 !important;
    max-width:60px !important;
    overflow:hidden !important;
    color:#fff !important;
    font-size:.5rem !important;
    font-weight:900 !important;
    letter-spacing:.035em !important;
    line-height:1 !important;
    white-space:nowrap !important;
    text-overflow:clip !important;
  }

  .public-body .baet-r1-news-window{
    position:relative !important;
    z-index:1 !important;
    width:100% !important;
    min-width:0 !important;
    height:38px !important;
    overflow:hidden !important;
    background:#15171c !important;
  }

  .public-body .baet-r1-news-track{
    width:max-content !important;
    height:38px !important;
    display:flex !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    animation:baetR13Ticker 38s linear infinite !important;
    will-change:transform !important;
  }

  .public-body .baet-r1-news-sequence{
    height:38px !important;
    display:flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
    white-space:nowrap !important;
  }

  .public-body .baet-r1-news-item{
    height:38px !important;
    min-height:38px !important;
    display:inline-flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
    gap:6px !important;
    padding:0 9px !important;
    color:#fff !important;
    white-space:nowrap !important;
    text-decoration:none !important;
  }

  .public-body .baet-r1-news-item .baet-home-event-ticker-date{
    color:#64e8ef !important;
    font-size:.55rem !important;
    font-weight:900 !important;
    white-space:nowrap !important;
  }

  .public-body .baet-r1-news-item > strong{
    color:#fff !important;
    font-size:.57rem !important;
    font-weight:800 !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  .public-body .baet-r1-news-item .baet-home-event-ticker-place{
    display:none !important;
  }

  .public-body .baet-r1-news-item i{
    margin-left:4px !important;
    color:#f2c83d !important;
    font-size:.42rem !important;
    font-style:normal !important;
    opacity:.85 !important;
  }

  .public-body .baet-r1-news:hover .baet-r1-news-track{
    animation-play-state:paused !important;
  }
}

@keyframes baetR13Ticker{
  from{ transform:translate3d(0,0,0); }
  to{ transform:translate3d(-50%,0,0); }
}

@media (max-width:480px){
  .public-body .baet-r1-header-row{
    min-height:54px !important;
  }

  .public-body .baet-r1-nav{
    gap:9px !important;
  }

  .public-body .baet-r1-nav a{
    font-size:.7rem !important;
  }

  .public-body .baet-r1-brand img{
    width:98px !important;
    max-height:28px !important;
  }

  .public-body .baet-r1-hero.baet-home-hero,
  .public-body .hero-stage.baet-r1-hero{
    height:75svh !important;
    min-height:500px !important;
  }

  .public-body .baet-r1-news,
  .public-body .baet-home-event-ticker.baet-r1-news{
    grid-template-columns:80px minmax(0,1fr) !important;
    height:36px !important;
    min-height:36px !important;
  }

  .public-body .baet-r1-news-label{
    width:80px !important;
    min-width:80px !important;
    max-width:80px !important;
    height:36px !important;
    min-height:36px !important;
    padding:0 6px !important;
  }

  .public-body .baet-r1-news-label-mobile{
    max-width:55px !important;
    font-size:.47rem !important;
  }

  .public-body .baet-r1-news-window,
  .public-body .baet-r1-news-track,
  .public-body .baet-r1-news-sequence,
  .public-body .baet-r1-news-item{
    height:36px !important;
    min-height:36px !important;
  }

  .public-body .baet-r1-news-item{
    padding:0 8px !important;
    gap:5px !important;
  }

  .public-body .baet-r1-news-item .baet-home-event-ticker-date{
    font-size:.52rem !important;
  }

  .public-body .baet-r1-news-item > strong{
    font-size:.54rem !important;
  }
}

@media (max-width:900px) and (orientation:landscape) and (max-height:520px){
  .public-body .baet-r1-hero.baet-home-hero,
  .public-body .hero-stage.baet-r1-hero{
    height:75svh !important;
    min-height:300px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .public-body .baet-r1-news-track{
    animation:none !important;
  }

  .public-body .baet-r1-news-window{
    overflow-x:auto !important;
    scrollbar-width:thin !important;
  }
}


/* =========================================================
   BAET R1.3.1 — MOBILE HERO 65SVH
   Requested adjustment: reduce mobile hero from 75svh to 65svh.
========================================================= */
@media (max-width:767px){
  .public-body .baet-r1-hero.baet-home-hero,
  .public-body .hero-stage.baet-r1-hero{
    height:65svh !important;
    min-height:440px !important;
    max-height:none !important;
  }
}

@media (max-width:480px){
  .public-body .baet-r1-hero.baet-home-hero,
  .public-body .hero-stage.baet-r1-hero{
    height:65svh !important;
    min-height:420px !important;
  }
}

@media (max-width:900px) and (orientation:landscape) and (max-height:520px){
  .public-body .baet-r1-hero.baet-home-hero,
  .public-body .hero-stage.baet-r1-hero{
    height:65svh !important;
    min-height:260px !important;
  }
}



/* =========================================================
   BAET R1.3.2 — TRUE 65SVH MOBILE + DARK NAV ALL DEVICES
   Scope:
   - Mobile hero only: exact 65svh, no min-height override
   - Public navigation all devices: dark glass / mirror style
========================================================= */

/* ---------------------------------------------------------
   DARK GLASS NAV — ALL PUBLIC DEVICES
--------------------------------------------------------- */
.public-body .baet-r1-header,
.public-body .site-header.baet-r1-header,
.public-body .site-header-home.baet-r1-header,
.public-body .site-header-inner.baet-r1-header{
  background:linear-gradient(135deg,rgba(5,18,39,.94),rgba(8,43,78,.90)) !important;
  border-bottom:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 10px 28px rgba(4,18,39,.18) !important;
  backdrop-filter:blur(16px) saturate(145%) !important;
  -webkit-backdrop-filter:blur(16px) saturate(145%) !important;
}

.public-body .baet-r1-nav a{
  color:#fff !important;
  text-shadow:0 2px 10px rgba(0,0,0,.24) !important;
}

.public-body .baet-r1-brand img{
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.20)) !important;
}

@media (min-width:1025px){
  .public-body .baet-r1-header-row{
    min-height:62px !important;
  }

  .public-body .baet-r1-nav{
    gap:24px !important;
  }

  .public-body .baet-r1-nav a{
    min-height:44px !important;
    display:inline-flex !important;
    align-items:center !important;
    font-size:.86rem !important;
    font-weight:850 !important;
  }

  .public-body .baet-r1-brand img{
    width:145px !important;
    max-height:37px !important;
    object-fit:contain !important;
  }
}

@media (min-width:768px) and (max-width:1024px){
  .public-body .baet-r1-header-row{
    min-height:60px !important;
  }

  .public-body .baet-r1-nav a{
    color:#fff !important;
    font-size:.82rem !important;
    font-weight:850 !important;
  }

  .public-body .baet-r1-brand img{
    width:132px !important;
    max-height:34px !important;
  }
}

/* ---------------------------------------------------------
   MOBILE HERO — EXACT 65% OF SMALL VIEWPORT HEIGHT
--------------------------------------------------------- */
@media (max-width:767px){
  .public-body .baet-r1-hero.baet-home-hero,
  .public-body .hero-stage.baet-r1-hero{
    height:65vh !important;
    height:65svh !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:auto !important;
  }

  .public-body .baet-r1-hero-media,
  .public-body .baet-r1-hero-picture{
    height:100% !important;
  }

  .public-body .baet-r1-hero-picture > img,
  .public-body .baet-r1-hero-media img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center top !important;
  }
}

@media (max-width:480px){
  .public-body .baet-r1-hero.baet-home-hero,
  .public-body .hero-stage.baet-r1-hero{
    height:65vh !important;
    height:65svh !important;
    min-height:0 !important;
    max-height:none !important;
  }
}

@media (max-width:900px) and (orientation:landscape) and (max-height:520px){
  .public-body .baet-r1-hero.baet-home-hero,
  .public-body .hero-stage.baet-r1-hero{
    height:65vh !important;
    height:65svh !important;
    min-height:0 !important;
    max-height:none !important;
  }
}


/* =========================================================
   BAET R1.3.3 — MOBILE HERO 60SVH
   Scope: mobile only.
   Reduce public mobile hero from 65svh to 60svh.
========================================================= */
@media (max-width:767px){
  .public-body .baet-r1-hero.baet-home-hero,
  .public-body .hero-stage.baet-r1-hero{
    height:60vh !important;
    height:60svh !important;
    min-height:0 !important;
    max-height:none !important;
  }
}

@media (max-width:480px){
  .public-body .baet-r1-hero.baet-home-hero,
  .public-body .hero-stage.baet-r1-hero{
    height:60vh !important;
    height:60svh !important;
    min-height:0 !important;
    max-height:none !important;
  }
}

@media (max-width:900px) and (orientation:landscape) and (max-height:520px){
  .public-body .baet-r1-hero.baet-home-hero,
  .public-body .hero-stage.baet-r1-hero{
    height:60vh !important;
    height:60svh !important;
    min-height:0 !important;
    max-height:none !important;
  }
}



/* =========================================================
   BAET R1.3.4 — MOBILE HERO NO GAP / FINAL HEIGHT MODEL
   Root fix:
   - no fixed container taller than the artwork
   - hero follows the mobile image aspect ratio
   - 60svh is a MAXIMUM, not an artificial forced height
   - CTA remains overlaid inside the image
========================================================= */
@media (max-width:767px){
  .public-body .baet-r1-hero.baet-home-hero,
  .public-body .hero-stage.baet-r1-hero{
    position:relative !important;
    width:100% !important;
    height:calc(100vw * 1.011586) !important; /* 1135 / 1122 */
    max-height:60vh !important;
    max-height:60svh !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
    background:#f4f8fc !important;
  }

  .public-body .baet-r1-hero-media,
  .public-body .baet-r1-hero-picture{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    display:block !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
  }

  .public-body .baet-r1-hero-picture > img,
  .public-body .baet-r1-hero-media img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:cover !important;
    object-position:center top !important;
    transform:none !important;
  }

  .public-body .baet-r1-hero-shade{
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(180deg,rgba(6,20,45,0) 0%,rgba(6,20,45,0) 72%,rgba(6,20,45,.11) 100%) !important;
    pointer-events:none !important;
  }

  .public-body .baet-r1-hero-content,
  .public-body .baet-home-hero-content.baet-r1-hero-content{
    position:absolute !important;
    z-index:5 !important;
    left:0 !important;
    right:0 !important;
    top:auto !important;
    bottom:12px !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 12px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    pointer-events:none !important;
  }

  .public-body .baet-r1-hero-cta{
    pointer-events:auto !important;
    margin:0 auto !important;
  }
}

@media (max-width:480px){
  .public-body .baet-r1-hero.baet-home-hero,
  .public-body .hero-stage.baet-r1-hero{
    height:calc(100vw * 1.011586) !important;
    max-height:60vh !important;
    max-height:60svh !important;
    min-height:0 !important;
  }

  .public-body .baet-r1-hero-content,
  .public-body .baet-home-hero-content.baet-r1-hero-content{
    bottom:10px !important;
  }
}

/* landscape: prioritize no-gap fill over the portrait ratio */
@media (max-width:900px) and (orientation:landscape) and (max-height:520px){
  .public-body .baet-r1-hero.baet-home-hero,
  .public-body .hero-stage.baet-r1-hero{
    height:60vh !important;
    height:60svh !important;
    max-height:60vh !important;
    max-height:60svh !important;
  }

  .public-body .baet-r1-hero-picture > img,
  .public-body .baet-r1-hero-media img{
    object-fit:cover !important;
    object-position:center center !important;
  }
}

/* =========================================================
   BAET v1.5.1-HF2 — HEADER CLARO + MENÚ ECOSISTEMA
   Objetivo:
   - Header blanco translúcido para dar contraste al logo BAET.
   - Navegación azul institucional.
   - Mantener legibilidad y comportamiento responsive.
   - Sobrescribe únicamente los hotfix históricos del header.
========================================================= */
.public-body .baet-r1-header,
.public-body .site-header.baet-r1-header,
.public-body .site-header-home.baet-r1-header,
.public-body .site-header-inner.baet-r1-header,
.public-body .site-header-home.baet-r1-header.is-scrolled{
  background:rgba(255,255,255,.94) !important;
  border:0 !important;
  border-bottom:1px solid rgba(11,114,219,.14) !important;
  box-shadow:0 8px 26px rgba(6,20,45,.09) !important;
  backdrop-filter:blur(18px) saturate(150%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(150%) !important;
}

.public-body .site-header-home.baet-r1-header.is-scrolled{
  background:rgba(255,255,255,.985) !important;
  box-shadow:0 10px 30px rgba(6,20,45,.11) !important;
}

.public-body .baet-r1-nav a,
.public-body .site-header-home.is-scrolled .baet-r1-nav a,
.public-body .site-header-inner .baet-r1-nav a{
  color:#0b4f89 !important;
  text-shadow:none !important;
  transition:color .2s ease,opacity .2s ease !important;
}

.public-body .baet-r1-nav a:hover,
.public-body .baet-r1-nav a:focus-visible{
  color:#0b72db !important;
}

.public-body .baet-r1-nav a:focus-visible{
  outline:2px solid rgba(11,114,219,.34) !important;
  outline-offset:7px !important;
  border-radius:6px !important;
}

.public-body .baet-r1-brand img{
  filter:drop-shadow(0 5px 12px rgba(6,20,45,.12)) !important;
}

/* Tablet: etiquetas cortas evitan saturación con los cuatro accesos. */
@media (max-width:1120px){
  .public-body .baet-r1-nav-full{
    display:none !important;
  }
  .public-body .baet-r1-nav-short{
    display:inline !important;
  }
  .public-body .baet-r1-nav{
    gap:18px !important;
  }
}

/* Mobile: header claro y compacto, conservando los cuatro accesos. */
@media (max-width:767px){
  .public-body .baet-r1-header,
  .public-body .site-header.baet-r1-header,
  .public-body .site-header-home.baet-r1-header,
  .public-body .site-header-inner.baet-r1-header{
    background:rgba(255,255,255,.98) !important;
    border-bottom:1px solid rgba(11,114,219,.13) !important;
    box-shadow:0 7px 20px rgba(6,20,45,.08) !important;
    backdrop-filter:blur(14px) saturate(145%) !important;
    -webkit-backdrop-filter:blur(14px) saturate(145%) !important;
  }

  .public-body .baet-r1-header-row{
    padding:0 10px !important;
    gap:8px !important;
  }

  .public-body .baet-r1-nav{
    gap:9px !important;
    overflow:visible !important;
  }

  .public-body .baet-r1-nav a{
    color:#0b4f89 !important;
    font-size:.68rem !important;
    letter-spacing:-.01em !important;
    text-shadow:none !important;
  }

  .public-body .baet-r1-brand img{
    width:92px !important;
    max-height:28px !important;
    filter:drop-shadow(0 4px 9px rgba(6,20,45,.10)) !important;
  }
}

@media (max-width:420px){
  .public-body .baet-r1-header-row{
    padding:0 8px !important;
    gap:6px !important;
  }

  .public-body .baet-r1-nav{
    gap:7px !important;
  }

  .public-body .baet-r1-nav a{
    font-size:.64rem !important;
  }

  .public-body .baet-r1-brand img{
    width:84px !important;
    max-height:26px !important;
  }
}

/* =========================================================
   BAET v1.5.1-HF3 — HEADER FUERA DEL HERO
   Objetivo:
   - El header ocupa su propia franja en el flujo del documento.
   - El hero comienza exactamente debajo del borde inferior del header.
   - Evita que el menú o el fondo blanco cubran la portada BAET.
   - No altera dimensiones, imagen, CTA ni contenido del hero.
========================================================= */
.public-body .baet-r1-header,
.public-body .site-header.baet-r1-header,
.public-body .site-header-home.baet-r1-header,
.public-body .site-header-inner.baet-r1-header,
.public-body .site-header-home.baet-r1-header.is-scrolled{
  position:relative !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  width:100% !important;
  margin:0 !important;
  z-index:90 !important;
}

/* El hero no necesita compensaciones porque el header ya consume altura real. */
.public-body.is-home main,
.public-body.is-home .baet-r1-hero.baet-home-hero,
.public-body.is-home .hero-stage.baet-r1-hero{
  margin-top:0 !important;
}

/* =========================================================
   BAET v1.5.1-HF4 — HEADER STICKY EN FLUJO
   Objetivo:
   - Al cargar, el header conserva su franja propia y no invade el hero.
   - Al desplazarse, el header queda adherido al borde superior del viewport.
   - position:sticky conserva la altura del header en el flujo, evitando saltos.
========================================================= */
.public-body .baet-r1-header,
.public-body .site-header.baet-r1-header,
.public-body .site-header-home.baet-r1-header,
.public-body .site-header-inner.baet-r1-header,
.public-body .site-header-home.baet-r1-header.is-scrolled{
  position:-webkit-sticky !important;
  position:sticky !important;
  top:0 !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  width:100% !important;
  margin:0 !important;
  z-index:1000 !important;
}

/* =========================================================
   BAET v1.8.0-R2 — CONSOLIDACIÓN HEADER + HERO
   Fuente final para evitar regresiones de hotfix anteriores.
   - Header en flujo normal al cargar.
   - Sticky al hacer scroll.
   - Hero inicia exactamente bajo el borde inferior del header.
   - En desktop se conserva completa la portada 1774x887, sin recorte superior.
========================================================= */
.public-body .baet-r1-header,
.public-body .site-header.baet-r1-header,
.public-body .site-header-home.baet-r1-header,
.public-body .site-header-inner.baet-r1-header,
.public-body .site-header-home.baet-r1-header.is-scrolled{
  position:-webkit-sticky !important;
  position:sticky !important;
  top:0 !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  width:100% !important;
  margin:0 !important;
  flex:none !important;
  z-index:1000 !important;
}

.public-body.is-home > main{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}

.public-body.is-home > main > .baet-r1-hero.baet-home-hero,
.public-body.is-home > main > .hero-stage.baet-r1-hero{
  margin-top:0 !important;
}

#actividades,
#respaldo{
  scroll-margin-top:84px;
}

@media (min-width:1025px){
  .public-body.is-home .baet-r1-hero.baet-home-hero,
  .public-body.is-home .hero-stage.baet-r1-hero{
    position:relative !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:1774 / 887 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#eef5fb !important;
  }

  .public-body.is-home .baet-r1-hero-media,
  .public-body.is-home .baet-r1-hero-picture{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  .public-body.is-home .baet-r1-hero-picture > img,
  .public-body.is-home .baet-r1-hero-media img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center top !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
  }
}
