
/* =========================
   Base
========================= */
:root{
  --slate-900:#0f172a;
  --amber-400:#fbbf24;
  --sky-200:#bae6fd;
  --gray-50:#f9fafb;
  --gray-100:#f3f4f6;
  --gray-400:#9ca3af;

  --zinc-200: rgba(228, 228, 231, .30);
  --border: rgba(113,113,113,.2);
  --shadow: 0 0 15px rgba(0,0,0,.06);
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{ margin:0; }

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; }
li{ list-style:none; }

.page{
  font-family: "Karla", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size:14px;
  line-height:21px;
  color: var(--slate-900);
  background: var(--slate-900);
  padding-top: 51px; /* espacio por header fijo */
}

.container{
  width:100%;
  max-width:1620px;
  margin:0 auto;
  padding:0 12px;
}

@media (min-width:768px){
  .page{
    font-size:16px;
    line-height:24px;
    padding-top:114px;
  }
  .container{ padding:0 48px; }
}

/* =========================
   Utilities / helpers
========================= */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.no-scroll{ overflow:hidden; }

/* =========================
   Header
========================= */
.site-header{
  position:fixed;
  left:0; top:0;
  width:100%;
  z-index:9;
  border-bottom: 1px solid var(--border);
  background: var(--slate-900);
}

/* Topbar */
.topbar{
  position:fixed;
  left:50%;
  transform: translateX(-50%);
  bottom:40px;
  width:180px;
  z-index:8;

  background: var(--zinc-200);
  backdrop-filter: blur(5px);
  border-radius: 30px;
  box-shadow: var(--shadow);
  padding: 8px 0;
}

.topbar__inner{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
}

/* Brand */
.brand{ display:block; width:150px; }
.brand__img{ height:28px; width:auto; }
.brand--desktop{ display:none; }
.brand--mobile{ display:block; }

@media (min-width:768px){
  .topbar{
    position:relative;
    left:auto;
    transform:none;
    bottom:auto;
    width:100%;
    background: #eff6ff; /* (si prefieres: var(--sky-200)) */
    backdrop-filter:none;
    border-radius:0;
    box-shadow:none;
    padding: 15px 0;
  }
  .topbar__inner{ justify-content:space-between; }
  .brand--desktop{ display:block; width:163px; }
  .brand--mobile{ display:none; width:163px; }
}

/* Contacts */
.contact-list{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
}

.contact-item{ padding:0 8px; position:relative; }

@media (min-width:768px){
  .contact-list{ justify-content:flex-end; align-items:center; }
  .contact-item{
    padding:0 26px;
    border-right: 1px solid rgba(15,23,42,.2);
  }
  .contact-item--last{ border-right:none; padding-right:0; }
}

.contact-link{
  display:flex;
  align-items:center;
  justify-content:center;

  width:40px;
  height:40px;
  border-radius:50%;
  padding:9px;
  font-weight:600;
  color: var(--amber-400);
}

.contact-link--whatsapp{ background:#22c55e; }
.contact-link--phone{ background: var(--amber-400); color:#fff; }
.contact-link--email{ background: var(--sky-200); }

.contact-icon{ display:block; width:26px; height:26px; }
.contact-icon img{ width:100%; height:100%; object-fit:contain; }

.contact-text{ display:none; font-size:14px; line-height:18px; }

@media (min-width:768px){
  .contact-link{
    width:auto;
    height:auto;
    padding:0;
    border-radius:0;
    background:transparent !important;
    color: var(--slate-900);
  }
  .contact-icon{
    width:19px;
    height:19px;
    margin-right:8px;
  }
  .contact-text{ display:block; color: var(--slate-900); }
}

/* Nav */
.navwrap{ width:100%; }

.main-nav{
  position:relative; /* ayuda a posicionar el toggle */
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  width:100%;
  padding:0;
}

/* Checkbox toggle (NO pointer-events:none; ya lo oculta sr-only) */
.nav-toggle{
  position:absolute;
}

/* Burger */
.burger{
  margin-left:auto;
  width:25px;
  display:block;
  cursor:pointer;
  padding:10px 0;
}

.burger span{
  display:block;
  height:2px;
  width:100%;
  background: var(--amber-400);
  margin-top:6px;
}
.burger span:first-child{ margin-top:0; }
.burger span:nth-child(2){ width:66.666%; margin-left:auto; }
.burger span:nth-child(3){ width:80%; margin-left:auto; }

@media (min-width:768px){
  .burger{ display:none; }
}

/* Drawer */
.drawer{
  position:fixed;
  top:0;
  left:-100%;
  width:100%;
  height:100%;
  z-index:999;
  overflow:auto;

  background: rgba(15,23,42,.90);
  backdrop-filter: blur(10px);
  padding: 80px 50px;
  transition: left .25s ease;
}

.nav-toggle:checked ~ .drawer{ left:0; }

.drawer__close{
  position:absolute;
  right:20px;
  top:20px;
  width:22px;
  height:22px;
  cursor:pointer;
  display:block;
}
.drawer__close img{ width:100%; height:100%; object-fit:contain; }

@media (min-width:768px){
  .drawer{
    position:static;
    left:auto;
    width:auto;
    height:auto;
    overflow:visible;
    background:transparent;
    backdrop-filter:none;
    padding:0;
    transition:none;
    z-index:auto;
    margin-left:auto;
  }
  .drawer__close{ display:none; }
}

/* Menu */
.menu{ width:100%; display:block; }
.menu__item{ width:100%; }

.menu__link{
  display:block;
  font-size:15px;
  line-height:22.5px;
  font-weight:600;
  text-transform:uppercase;
  padding: 10px 0;
  color:#fff;
}
.menu__link--active{ color: var(--amber-400); }

@media (min-width:768px){
  .menu{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
  }
  .menu__item{ width:auto; }
  .menu__link{ padding: 17px 14px; }
}

/* Dropdown */
.dropdown{ position:relative; }

.dropdown__label{
  position:relative;
  padding-right:18px;
  cursor:pointer;
  user-select:none;
}
.dropdown__label::after{
  content:"";
  position:absolute;
  right:0;
  top:16px;
  width:11px;
  height:11px;
  background: url("https://lagaleriapty.com/img/down-arrow-light.svg") no-repeat center/100%;
  transform: rotate(0deg);
  opacity:1;
}


@media (min-width:768px){
  .dropdown__label::after{
    top:24px;
    width:8px;
    height:9px;
    opacity:.8;
    right:-1px;
  }
}

/* Toggle (no pointer-events:none por el mismo motivo del nav) */
.dropdown__toggle{ position:absolute; }

/* Panel */
.dropdown__panel{
  display:none;
  width:100%;
  margin-top: 10px;
  padding: 0;
}
.dropdown__toggle:checked ~ .dropdown__panel{ display:block; }

.dropdown__title{
  display:block;
  color:#fff;
  font-size:18px;
  font-weight:700;
  text-transform:uppercase;
  margin-bottom: 25px;
}

.dropdown__columns{
  display:flex;
  flex-wrap:wrap;
  gap: 24px;
}
.dropdown__col{ width:100%; }

.dropdown__heading{
  color: var(--gray-50);
  font-size:16px;
  line-height:16px;
  text-transform:uppercase;
  margin-bottom:15px;
  padding-bottom:15px;
  position:relative;
}
.dropdown__heading::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  height:1px;
  width:200px;
  background: rgba(255,255,255,.30);
}

.dropdown__list{ padding:0; columns: 1; }
.dropdown__list a{
  display:block;
  padding: 4px 2px;
  font-weight:600;
  text-transform:uppercase;
  color: rgba(255,255,255,.70);
  font-size:14px;
  line-height:21px;
}

.dropdown__list--cols{ columns: 1; }

@media (min-width:768px){
  .dropdown__panel{
    display:block; /* pero oculto visualmente */
    position:absolute;
    left:0;
    top:100%;
    width:100%;
    padding: 25px;
    margin-top: 0;
    z-index:9;

    background: rgba(186,230,253,.90);
    backdrop-filter: blur(10px);
    box-shadow: rgba(0,0,0,0.13) 0px 3px 5px 1px;

    opacity:0;
    visibility:hidden;
    transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  }

  .dropdown:hover > .dropdown__panel,
  .dropdown:focus-within > .dropdown__panel,
  .dropdown__toggle:checked ~ .dropdown__panel{
    opacity:1;
    visibility:visible;
    transform: translateY(0);
  }

  .dropdown__title{ display:none; }

  .dropdown__columns{
    max-width:1170px;
    margin:0 auto;
    gap: 32px;
  }

  .dropdown__col{ width: calc(50% - 16px); }
  .dropdown__columns--single .dropdown__col{ width:100%; }

  .dropdown__heading{
    color: var(--slate-900);
    font-size:18px;
    line-height:18px;
  }
  .dropdown__heading::after{ background: rgba(15,23,42,.30); }



  .dropdown__list a{
    color: var(--slate-900);
    opacity:.9;
  }
  .dropdown__list a:hover{
    opacity:1;
    text-decoration: underline;
    text-underline-offset: 2px;
  }
}

/* =========================
   HERO
========================= */
.hero{
  position:relative;
  background: var(--slate-900);
  padding-top: 10px;
  /*z-index:2;*/
}

.hero__inner{
  position:relative;
  max-width:1560px;
  margin:0 auto;
  padding: 40px 16px 0;
}

.hero__inner::before{
  content:"";
  position:absolute;
  left:0;
  top:15px;
  width:100%;
  height:90px;
  background: url("assets/intro-new.svg") no-repeat top/100%;
  pointer-events:none;
}

.hero__content{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap: 16px;
}

.hero__title{
  margin:0;
  color:#fff;
  font-weight:600;
  text-transform:uppercase;
  font-size:42px;
  line-height:45px;
  max-width:250px;
}

.hero__copy{ color:#fff; padding-left:0; }

.hero__copy p{
  margin:0 0 15px;
  color: var(--gray-100);
  font-weight:300;
  text-align:justify;
  font-size:14px;
  line-height:22.4px;
}

/* Read more */
.hero__more{ margin-top: 6px; }
.hero__more summary{
  display:inline-block;
  cursor:pointer;
  color: var(--amber-400);
  text-decoration: underline;
  text-underline-offset: 2px;
  font-size:16px;
    line-height:24px;
  text-transform: capitalize;
  list-style:none;
}
.hero__more summary::-webkit-details-marker{ display:none; }
.hero__more[open] summary{ opacity:.9; }
.hero__more .hero__more-body{ margin-top: 12px; }

@media (min-width:768px){
  .hero__inner{ padding: 48px 48px 0; }
  .hero__inner::before{
    height:130px;
    background-position: left top;
    top:20px;
  }

  .hero__content{
    flex-direction:row;
    align-items:center;
    gap: 24px;
  }

  .hero__title{
    font-size:48px;
    line-height:45px;
    max-width:340px;
    margin-bottom:18px;
  }

  .hero__copy{ padding-left:48px; }
  .hero__copy p{ font-size:16px; line-height:28.8px; }

  .hero__more .hero__more-body{ margin-top:0; }
}

/* =========================
   GALLERY
========================= */
.gallery-section{
  position:relative;
  background: var(--slate-900);
  overflow:hidden;
  padding: 25px 0;
}
@media (min-width:768px){
  .gallery-section{ padding: 33px 0; }
}

.gallery-section::before{
  content:"GALLERY";
  position:absolute;
  right:0;
  top:8px;
  font-weight:700;
  letter-spacing:20px;
  opacity:.10;
  color:#111827;
  text-transform:uppercase;
  text-align:center;
  width:100%;
  pointer-events:none;
}
@media (min-width:768px){
  .gallery-section::before{
    font-size:115.2px;
    line-height:115.2px;
    letter-spacing:28px;
    top:-50px;
    width:auto;
  }
}

.gallery-section__inner{
  position:relative;
  z-index:1;
}
.gallery-section__inner::before{
  content:"";
  position:absolute;
  right:0;
  top:25px;
  width:50%;
  height:180px;
  background: url("assets/model-text.svg") no-repeat top/100%;
  opacity:.10;
  pointer-events:none;
  z-index:0;
}
@media (min-width:768px){
  .gallery-section__inner::before{
    width:60%;
    right:-120px;
    top:-25px;
    background-position:left top;
  }
}

.gallery-section__label{ display:none; }
@media (min-width:768px){
  .gallery-section__label{
    display:block;
    position:absolute;
    right:-200px;
    top:410px;
    transform: rotate(-90deg);
    transform-origin: 0 0;
    font-size:12px;
    font-weight:700;
    letter-spacing:4.8px;
    color: var(--gray-50);
    z-index:2;
  }
  .gallery-section__label::after{
    content:"";
    position:absolute;
    left:100%;
    top:50%;
    transform: translateY(-50%);
    height:1px;
    width:65%;
    background: rgba(115,115,115,1);
    margin-left:10px;
  }
}

.gallery-header{ position:relative; z-index:2; }

.gallery-title{
  margin:0 0 10px;
  color:#fff;
  font-size:24px;
  line-height:24px;
  font-weight:600;
  text-transform:uppercase;
}
@media (min-width:768px){
  .gallery-title{
    font-size:28px;
    line-height:28px;
    margin-bottom: 8px;
  }
}

.gallery-filters{
  display:flex;
  align-items:center;
  gap: 16px;
  margin-bottom: 24px;
}

.filter-group{
  display:none;
  border:0;
  padding:0;
  margin:0;
  gap:24px;
}
@media (min-width:768px){
  .filter-group{ display:flex; align-items:center; }
}

.filter-option{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  color:#fff;
  font-weight:600;
  text-transform:uppercase;
  font-size:16px;
  line-height:24px;
}
.filter-option input{
  position:absolute;
  opacity:0;
}
.filter-option span{
  padding-left: 28px;
  position:relative;
}
.filter-option span::before{
  content:"";
  position:absolute;
  left:0;
  top:3px;
  width:16px;
  height:16px;
  border-radius:3px;
  background:#fff;
}
.filter-option input:checked + span::after{
  content:"✓";
  position:absolute;
  left:3px;
  top:0px;
  font-size:12px;
  font-weight:700;
  color: var(--slate-900);
}

.filter-btn{
  margin-left:auto;
  border:0;
  cursor:pointer;
  font-weight:600;
  background: var(--amber-400) url("https://lagaleriapty.com/img/filter.svg") no-repeat center/12px;
  height:32px;
  padding: 0 16px;
}
.filter-btn__text{ display:none; }
@media (min-width:768px){
  .filter-btn{
    height:auto;
    padding: 7px 10px 7px 30px;
    background-position: 10px 10px;
  }
  .filter-btn__text{ display:inline-block; }
}

/* Advanced filters open (mobile, via JS class) */
.gallery-filters.filters-open .filter-group{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}
@media (min-width:768px){
  .gallery-filters.filters-open .filter-group{
    flex-direction:row;
    align-items:center;
    gap:24px;
  }
}

.cards-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
@media (min-width:560px){
  .cards-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (min-width:768px){
  .cards-grid{ grid-template-columns: repeat(5, 1fr); }
}

.profile-card__link{ display:block; }
.profile-card__info{ text-align:center; margin-top: 15px; }

.profile-card__name{
  color:#fff;
  font-size:16px;
  line-height:24px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:1.7px;
  margin-bottom:5px;
}

.profile-card__meta{
  color:#fff;
  opacity:.75;
  font-size:14px;
  line-height:19.6px;
  letter-spacing:.7px;
}

/* Media + shine */
.media{
  position:relative;
  width:100%;
  overflow:hidden;
}
.media--3x2{ padding-top:150%; }

.media img{
  position:absolute;
  left:0; top:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 0%;
}

.media::after{
  content:"";
  position:absolute;
  top:0;
  left:-85%;
  width:50%;
  height:100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.30) 100%);
  transform: skewX(-20deg);
  transition: left .35s ease;
  pointer-events:none;
  z-index:2;
}

.profile-card__link:hover .media::after,
.profile-card__link:focus-visible .media::after{
  left:120%;
}

/* Badges */
.badge{
  display:inline-block;
  font-size:12px;
  line-height:18px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1.4px;
  padding: 2px 10px;
  color:#fff;
  z-index:0;
}

.badge--new{ background: var(--amber-400); }
.badge--exclusive{ background:#1e3a8a; }
.badge--away{ background:#c2410c; }
.badge--video{ background: var(--amber-400); }

.badge--tr{ position:absolute; top:0; right:0; }
.badge--tl{ position:absolute; top:0; left:0; }

.badge-row{
  position:absolute;
  left:0;
  bottom:10px;
  width:100%;
  display:flex;
  justify-content:center;
  gap:6px;
  flex-wrap:wrap;
  z-index:3;
}

/* =========================
   JOIN
========================= */
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:600;
  font-size:16px;
  line-height:28.8px;
  text-transform:uppercase;
  white-space:nowrap;
  border:1px solid transparent;
  padding: 12px 25px;
  cursor:pointer;
}
.btn__icon{
  width:19px;
  height:14px;
  position:relative;
  top:-1px;
}
.btn--dark{
  background: var(--slate-900);
  color:#fff;
}
.btn--dark:hover{ filter: brightness(1.08); }

.join-section{
  position:relative;
  background: none;
  background-size: cover;
  background-position: center;
  padding-top: 250px;
  padding-bottom: 0;
}
.join-section::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:50%;
  background: url("https://lagaleriapty.com/img/joinBG-M.jpg") center/cover no-repeat;
  pointer-events:none;
  z-index:0;
}
@media (min-width:768px){
  .join-section{
    background-image: url("https://lagaleriapty.com/assets/joinBg.webp");
    padding-top: 143px;
    padding-bottom: 90px;
  }
  .join-section::before{ width:0; height:0; background:none; }
}

.join-section__label{ display:none; }
@media (min-width:768px){
  .join-section__label{
    display:block;
    position:absolute;
    left:5%;
    top:432px;
    transform: rotate(-90deg);
    transform-origin: 0 0;
    font-size:12px;
    font-weight:700;
    letter-spacing:4.8px;
    color: var(--gray-50);
    z-index:2;
  }
  .join-section__label::after{
    content:"";
    position:absolute;
    left:100%;
    top:50%;
    transform: translateY(-50%);
    height:1px;
    width:47%;
    background:#fff;
    margin-left:10px;
  }
}

.join-section__container{
  position:relative;
  z-index:1;
  width:100%;
  max-width:1410px;
  margin:0 auto;
  padding: 0;
}
@media (min-width:768px){
  .join-section__container{
    max-width:1040px;
    padding: 0 16px;
  }
}

.join-card{
  background: var(--sky-200);
  padding: 30px 15px;
  width:100%;
}
@media (min-width:768px){
  .join-card{
    padding: 58px 68px;
    max-width:50%;
  }
}

.join-card__title{
  margin:0 0 10px;
  font-weight:600;
  text-transform:uppercase;
  font-size:24px;
  line-height:31.2px;
  color: var(--slate-900);
}
@media (min-width:768px){
  .join-card__title{
    font-size:28px;
    line-height:36.4px;
  }
}

.join-card__text{
  margin:0 0 27px;
  color:#3f3f46;
  font-weight:300;
  font-size:14px;
  line-height:22.4px;
}
@media (min-width:768px){
  .join-card__text{
    font-size:16px;
    line-height:28.8px;
  }
}

/* =========================
   CAROUSELS (New + Updates helpers)
========================= */
/* Hide scrollbar but keep scroll */
.carousel__viewport,
.updates-carousel__viewport{
  scrollbar-width:none;
  -ms-overflow-style:none;
  overscroll-behavior-x: contain;
  touch-action: pan-x;
}
.carousel__viewport::-webkit-scrollbar,
.updates-carousel__viewport::-webkit-scrollbar{
  display:none;
}

/* Prevent native drag/select */
.carousel__viewport img,
.carousel__viewport a,
.updates-carousel__viewport img,
.updates-carousel__viewport a{
  -webkit-user-drag:none;
  user-select:none;
}

.carousel__viewport.is-dragging,
.updates-carousel__viewport.is-dragging{
  cursor:grabbing;
}

/* =========================
   NEW TALENT
========================= */
.new-section{
  background: var(--slate-900);
  padding: 35px 0;
}
@media (min-width:768px){
  .new-section{ padding: 60px 0; }
}

.new-section__title{
  margin:0 0 48px;
  padding: 0 16px;
  text-align:center;
  color:#fff;
  font-weight:600;
  text-transform:uppercase;
  font-size:24px;
  line-height:24px;
}
@media (min-width:768px){
  .new-section__title{
    font-size:40px;
    line-height:40px;
  }
}

.carousel{
  position:relative;
  max-width:1410px;
}
@media (min-width:768px){
  .carousel{ padding: 0 16px; }
}

.carousel__btn{
  position:absolute;
  top:40%;
  transform: translateY(-40%);
  width:40px;
  height:40px;
  border-radius:50%;
  background: var(--amber-400);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
}
.carousel__btn img{ width:25px; height:25px; }
.carousel__btn--prev{ left:20px; }
.carousel__btn--prev img{ transform: scaleX(-1); }
.carousel__btn--next{ right:20px; }

@media (min-width:768px){
  
  .carousel__btn img{ width:36px; height:36px; }
  .carousel__btn--prev{ left:-60px; }
  .carousel__btn--next{ right:-60px; }
}

.carousel__viewport{
  position:relative;
  overflow-x:auto;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling: touch;
  padding: 0 80px;
  cursor:grab;
}
.carousel__viewport:active{ cursor:grabbing; }

@media (min-width:768px){
  .carousel__viewport{ padding:0; }
}

.carousel__track{
  display:flex;
  gap: 8px;
  scroll-snap-type: x mandatory;
}
@media (min-width:768px){
  .carousel__track{ gap: 30px; }
}

.carousel__slide{
  flex: 0 0 100%;
  scroll-snap-align: start;
  padding: 0 4px;
}
@media (min-width:768px){
  .carousel__slide{
    flex: 0 0 calc(25% - 22.5px);
    padding:0;
  }
}

/* =========================
   LATEST UPDATES / BLOG
========================= */
.updates-section{
  position:relative;
  background: #eff6ff;
  padding: 62px 0;
  overflow:hidden;
}
@media (min-width:768px){
  .updates-section{ padding: 112px 0; }
}

.updates-section::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  transform: translateX(-140px);
  width:75%;
  height:100px;
  background: url("https://lagaleriapty.com/img/blog.svg") no-repeat center/100%;
  opacity:.03;
  pointer-events:none;
}
@media (min-width:768px){
  .updates-section::before{
    transform:none;
    left:32px;
    width:480px;
    height:100px;
  }
}

.updates-section__label{ display:none; }
@media (min-width:768px){
  .updates-section__label{
    display:block;
    position:absolute;
    left:8%;
    top:537px;
    transform: rotate(-90deg);
    transform-origin: 0 0;
    font-size:12px;
    font-weight:700;
    letter-spacing:4.8px;
    color: var(--slate-900);
    z-index:2;
  }
  .updates-section__label::after{
    content:"";
    position:absolute;
    left:100%;
    top:50%;
    transform: translateY(-50%);
    height:1px;
    width:45%;
    background: var(--slate-900);
    margin-left:10px;
  }
}

.updates-header{ position:relative; z-index:2; width:100%; }

.updates-header__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  padding: 0 16px;
}
@media (min-width:768px){
  .updates-header__inner{
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    padding: 0 48px;
  }
}

.updates-title{
  margin:0;
  font-size:24px;
  line-height:24px;
  font-weight:600;
  text-transform:uppercase;
  color: var(--slate-900);
  text-align:center;
}
@media (min-width:768px){
  .updates-title{
    font-size:28px;
    line-height:28px;
    text-align:left;
  }
}

.updates-cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:16px;
  line-height:28.8px;
  font-weight:600;
  letter-spacing:3.1px;
  text-transform:uppercase;
  color:#262626;
  margin-bottom:25px;
}
@media (min-width:768px){
  .updates-cta{ margin-bottom:0; }
}
.updates-cta__icon{
  width:19px;
  height:14px;
  position:relative;
  top:-1px;
}

.updates-carousel{
  position:relative;
  z-index:2;
  max-width:1410px;
}
@media (min-width:768px){
  .updates-carousel{
    max-width:1170px;
    padding: 0 16px;
  }
}

.updates-carousel__viewport{
  overflow-x:auto;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling: touch;
  padding: 0 10%;
  cursor:grab;
}
.updates-carousel__viewport:active{ cursor:grabbing; }

@media (min-width:768px){
  .updates-carousel__viewport{
    padding-left:0;
    padding-right:25%;
  }
}

.updates-carousel__track{
  display:flex;
  gap:16px;
  scroll-snap-type: x mandatory;
}
@media (min-width:768px){
  .updates-carousel__track{ gap:30px; }
}

.post-card{
  flex: 0 0 100%;
  scroll-snap-align:start;
  padding: 0 4px;
}
@media (min-width:768px){
  .post-card{
    flex: 0 0 calc(50% - 15px);
    padding:0;
  }
}

.post-card__link{
  display:block;
  color:#111827;
}

.post-card__media{
  position:relative;
  width:100%;
  overflow:hidden;
  padding-top:65%;
}
.post-card__media img{
  position:absolute;
  left:0; top:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 0%;
}

.post-card__body{
  position:relative;
  background:#fff;
  width: calc(100% - 30px);
  margin: -95px auto 0;
  padding: 35px 40px;
  box-shadow: rgba(0,0,0,0.05) 0px 0px 8px 1px;
  z-index:1;
}

.post-card__date{
  color:#0e7490;
  font-size:14px;
  line-height:18px;
  font-weight:700;
  text-transform:uppercase;
  margin-bottom:16px;
}

.post-card__title{
  margin:0 0 8px;
  color: var(--slate-900);
  font-size:18px;
  line-height:23px;
  font-weight:700;
  text-transform:uppercase;
}

.post-card__excerpt{
  margin:0;
  color:#4b5563;
  font-size:14px;
  line-height:21px;
  letter-spacing:1.9px;
}
@media (min-width:768px){
  .post-card__excerpt{
    font-size:16px;
    line-height:24px;
  }
}

/* =========================
   ABOUT + FAQ
========================= */
.aboutfaq{
  background: #eff6ff;
  padding: 55px 0;
}
@media (min-width:768px){
  .aboutfaq{ padding: 90px 0; }
}

.aboutfaq__inner{ max-width:1410px; }
@media (min-width:768px){
  .aboutfaq__inner{ max-width:1170px; }
}

.aboutfaq__cols{
  display:grid;
  grid-template-columns: 1fr;
  gap: 30px;
  align-items:start;
}
@media (min-width:768px){
  .aboutfaq__cols{
    grid-template-columns: 1.1fr .9fr;
    gap: 40px;
  }
}

.aboutfaq__content{ color:#fff; }

.aboutfaq__title{
  margin:0 0 18px;
  color:var(--slate-900);
  font-size:24px;
  line-height:28px;
  font-weight:600;
  text-transform:uppercase;
}
@media (min-width:768px){
  .aboutfaq__title{
    font-size:28px;
    line-height:32px;
  }
}

.aboutfaq__content p{
  margin: 0 0 15px;
  color: black;
  font-weight:300;
  text-align:justify;
  font-size:14px;
  line-height:22.4px;
}
@media (min-width:768px){
  .aboutfaq__content p{
    font-size:16px;
    line-height:28.8px;
  }
}

.aboutfaq__subtitle{
  margin: 26px 0 14px;
  font-size:18px;
  line-height:22px;
  font-weight:700;
  text-transform:uppercase;
  color:var(--slate-900);
}

/* FAQ */
.faq{ border-top: 1px solid rgba(255,255,255,.15); }
.faq__item{
  border-bottom: 1px solid rgba(255,255,255,.15);
  padding: 10px 0;
}

.faq__q{
  cursor:pointer;
  list-style:none;
  font-weight:700;
  color:var(--slate-900);
  text-transform:uppercase;
  font-size:14px;
  line-height:20px;
  padding: 12px 28px 12px 0;
  position:relative;
}
.faq__q::-webkit-details-marker{ display:none; }
.faq__q::after{
  content:"+";
  position:absolute;
  right:0;
  top:50%;
  transform: translateY(-50%);
  font-size:20px;
  line-height:20px;
  color: var(--amber-400);
}
.faq__item[open] .faq__q::after{ content:"–"; }

.faq__a{ padding: 0 0 12px; }
.faq__a p{
  margin:0;
  color: black;
  font-weight:300;
  font-size:14px;
  line-height:22.4px;
}
@media (min-width:768px){
  .faq__q{ font-size:16px; line-height:24px; }
  .faq__a p{ font-size:16px; line-height:28.8px; }
}

/* Right image */
.aboutfaq__image{
  position:relative;
  width:100%;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.10);
}
.aboutfaq__image::before{
  content:"";
  display:block;
  padding-top: 130%;
}
.aboutfaq__image img{
  position:absolute;
  left:0; top:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
}

/* =========================
   FOOTER
========================= */
.site-footer{
  background:#0b1224;
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 55px 0 25px;
  color:#fff;
}

.site-footer__inner{ max-width:1410px; }
@media (min-width:768px){
  .site-footer__inner{ max-width:1170px; }
}

.footer-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 28px;
}
@media (min-width:768px){
  .footer-grid{
    grid-template-columns: 1.2fr 1fr 1fr 1.1fr;
    gap:40px;
    align-items:start;
  }
}

.footer-brand{
  display:inline-block;
  width:170px;
  margin-bottom:14px;
}
.footer-brand__img{ width:100%; height:auto; }

.footer-text{
  margin:0;
  color: rgba(243,244,246,.78);
  font-weight:300;
  font-size:14px;
  line-height:22.4px;
}
@media (min-width:768px){
  .footer-text{
    font-size:16px;
    line-height:28.8px;
  }
}

.footer-title{
  margin:0 0 14px;
  font-size:14px;
  line-height:20px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:2px;
  color:#fff;
}

.footer-links li{ margin: 10px 0; }
.footer-links a{
  color: rgba(243,244,246,.78);
  font-weight:600;
  text-transform:uppercase;
  font-size:12px;
  line-height:18px;
  letter-spacing:1.6px;
}
.footer-links a:hover{
  color:#fff;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Contact */
.footer-contact{
  display:grid;
  gap:10px;
}
.footer-contact__item{
  display:flex;
  align-items:center;
  gap:10px;
  color: rgba(243,244,246,.82);
}
.footer-contact__icon{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background: rgba(255,255,255,.10);
}
.footer-contact__icon img{
  width:16px;
  height:16px;
  object-fit:contain;
}
.footer-contact a{
  color: rgba(243,244,246,.82);
  font-weight:600;
  font-size:14px;
  line-height:20px;
}
.footer-contact a:hover{ color:#fff; }


/* Bottom */
.footer-bottom{
  margin-top:35px;
  padding-top:18px;
  border-top: 1px solid rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  gap:10px;
  color: rgba(243,244,246,.70);
  font-size:12px;
  line-height:18px;
  letter-spacing:1px;
  text-transform:uppercase;
}
@media (min-width:768px){
  .footer-bottom{
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
  }
}

.footer-bottom__right a{
  color: rgba(243,244,246,.70);
  font-weight:700;
}
.footer-bottom__right a:hover{ color:#fff; }

.footer-bottom__sep{
  display:inline-block;
  margin:0 10px;
  opacity:.6;
}

/* Ocultar checkboxes de dropdown (mantenerlos accesibles) */
.dropdown__toggle{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
