.contact-page{padding-top:60px;background:#ffffff;color:var(--brown-deep)}
.contact-kicker{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:var(--copper);font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.round-icon{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(0, 90, 168,.28);border-radius:50%;background:#f7fbff;color:var(--copper);font-size:18px}
.contact-hero{position:relative;min-height:520px;display:grid;grid-template-columns:minmax(340px,.82fr) minmax(620px,1.18fr);align-items:center;gap:24px;overflow:hidden;padding:56px clamp(34px,5.5vw,82px);background:linear-gradient(90deg,#ffffff 0%,rgba(255, 255, 255,.98) 31%,rgba(255, 255, 255,.72) 47%,rgba(255, 255, 255,.08) 73%),url("../assets/images/Ambiente/Evento_8.png") center 38%/cover no-repeat;color:var(--brown-deep)}
.contact-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255, 213, 74,.05),rgba(0, 63, 125,.08))}
.contact-hero-copy,.contact-channel-actions{position:relative;z-index:1;min-width:0}
.contact-hero-copy{width:min(100%,500px)}
.contact-hero h1{margin:0;color:var(--brown-deep);font-family:var(--font-heading);font-size:clamp(43px,4.6vw,66px);font-weight:800;letter-spacing:-.035em;line-height:.94;overflow-wrap:normal}
.contact-hero h1 em{display:block;color:var(--copper);font-style:italic;font-weight:700}
.contact-hero-copy>.contact-kicker{color:var(--copper)}
.contact-intro,.contact-hero-copy>.contact-intro{max-width:470px;margin:20px 0 0;color:#49627c;font-size:14px;font-weight:700;line-height:1.62}
.contact-primary-button{box-sizing:border-box;width:max-content;min-height:46px;display:inline-flex;align-items:center;gap:12px;margin-top:24px;padding:0 18px;border-radius:7px;background:#005aa8;color:#fff;font-size:13px;font-weight:900;box-shadow:0 14px 28px rgba(0, 92, 174,.22);transition:background-color 180ms ease,color 180ms ease,box-shadow 180ms ease}
.contact-primary-button:hover,.contact-primary-button:focus-visible{background:#ffffff;color:#003f7d;box-shadow:0 16px 32px rgba(0, 63, 125,.25)}
.contact-primary-button:focus-visible{outline:3px solid rgba(255,255,255,.9);outline-offset:3px}
.contact-hero-copy>.contact-primary-button{width:min(100%,370px);justify-content:center}
.contact-primary-button>span:last-child{margin-left:8px;font-size:22px}.button-icon{width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center}.contact-button-logo{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.contact-button-logo img{width:100%;height:100%;display:block;object-fit:contain}
.response-note{margin:12px 0 0;color:#49627c;font-size:12px;font-weight:750}.response-note span{margin-right:6px;color:var(--orange)}
.contact-channel-actions{width:min(100%,370px);display:grid;gap:8px;margin-top:10px}
.contact-channel-actions .contact-primary-button{width:100%;min-height:46px;margin-top:0}
.contact-button-copy{min-width:0;flex:1;color:#fff;font-size:13px;font-weight:900;overflow-wrap:anywhere}
.button-icon img,.channel-icon img,.footer-round-icon img{width:30px;height:30px;display:block;object-fit:contain}.channel-icon,.footer-round-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--copper);font-size:18px}
.map-apps small,.map-apps strong,.address-card small,.address-card strong,.contact-footer small,.contact-footer strong{display:block}.map-apps b{color:var(--copper);font-size:22px}
.visit-section{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(500px,1.15fr);gap:clamp(34px,5vw,66px);align-items:stretch;padding:52px clamp(34px,5.5vw,82px);background:radial-gradient(circle at 12% 30%,rgba(255, 213, 74,.2),transparent 26%),#f7fbff}.visit-copy{align-self:center}
.visit-section h2,.facilities-section h2{margin:0;color:var(--brown-deep);font-family:var(--font-heading);font-size:clamp(38px,4.2vw,56px);font-weight:800;line-height:1}.visit-copy>p:not(.contact-kicker){max-width:460px;margin:14px 0 0;color:#49627c;font-size:13px;font-weight:750;line-height:1.55}
.map-apps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.map-apps a,.address-card{min-width:0;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px;border:1px solid rgba(0, 90, 168,.14);border-radius:10px;background:#ffffff;box-shadow:0 12px 26px rgba(0, 63, 125,.08)}
.map-app-icon{width:38px;height:38px;display:block;border-radius:10px;object-fit:cover;object-position:center}.map-apps small,.address-card small{color:var(--copper);font-size:10px;font-weight:850}.map-apps strong,.address-card strong{color:var(--brown-deep);font-size:12px;line-height:1.35}
.address-card{margin:14px 0 0;font-style:normal}.building-icon{color:var(--copper);font-size:34px}.contact-map{width:100%;height:100%;min-height:355px;display:block;border:0;border-radius:14px;box-shadow:0 20px 42px rgba(0, 63, 125,.16);filter:sepia(.08) saturate(.85)}
.facilities-section{padding:42px clamp(28px,4.5vw,66px) 32px;background:#ffffff}.facilities-heading{text-align:center}.facilities-heading .contact-kicker{justify-content:center}.facilities-heading h2{font-size:clamp(34px,3.7vw,50px)}.facilities-heading>p:last-child{margin:10px 0 0;color:#49627c;font-size:13px;font-weight:650}
.facilities-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:26px}.facilities-gallery figure{min-width:0;height:205px;margin:0;overflow:hidden;border-radius:9px;background:#eaf4ff;box-shadow:0 10px 24px rgba(0, 63, 125,.12)}.facilities-gallery img{width:100%;height:100%;display:block;object-fit:cover;transition:transform 240ms ease}.facilities-gallery figure:hover img{transform:scale(1.04)}
.contact-footer{display:grid;grid-template-columns:.8fr .8fr 1.1fr 1.5fr;gap:14px;padding:22px clamp(26px,4.5vw,68px);background:var(--brown-deep);color:#f7fbff}.contact-footer>a{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center}.contact-footer small{color:var(--gold);font-size:10px;font-weight:850}.contact-footer strong{color:#f7fbff;font-size:11px;line-height:1.35;overflow-wrap:anywhere}.footer-round-icon{color:var(--gold)}.footer-map-logo{width:28px;height:28px;display:block;object-fit:cover;object-position:center}
.main-nav a[aria-current="page"]{color:var(--gold)}
@media(max-width:980px){.contact-page{padding-top:0}.contact-hero{grid-template-columns:1fr;gap:34px;padding-top:54px;background:linear-gradient(90deg,rgba(255, 255, 255,.97),rgba(255, 255, 255,.78)),url("../assets/images/Ambiente/Evento_8.png") center/cover no-repeat}.contact-channel-actions{justify-self:start}.visit-section{grid-template-columns:1fr}.facilities-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-footer{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){body,.site-page,.contact-page,.contact-hero,.visit-section,.facilities-section,.contact-footer{box-sizing:border-box;width:100%;max-width:100%;min-width:0}.site-header{box-sizing:border-box;left:0;width:100%;transform:none;display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-rows:auto auto;gap:4px 10px;padding:8px 14px;overflow:hidden}.logo{width:56px}.appointment-actions{display:none}.main-nav{grid-column:1/-1;width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.main-nav a{overflow:hidden;font-size:11px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.contact-hero,.visit-section{padding:38px 18px}.contact-hero h1{font-size:clamp(38px,13vw,52px)}.contact-primary-button{width:100%;justify-content:center}.contact-channel-actions{width:100%}.map-apps{grid-template-columns:1fr}.contact-map{min-height:300px}.facilities-section{padding:36px 18px 28px}.facilities-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.facilities-gallery figure{height:170px}.contact-footer{grid-template-columns:1fr;padding:24px 18px}}

.facilities-gallery {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: clamp(210px, 22vw, 285px);
  grid-template-columns: none;
  gap: 14px;
  overflow-x: auto;
  overflow-y: hidden;
  margin-top: 26px;
  padding: 6px 4px 20px;
  scroll-padding-inline: 4px;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.facilities-gallery:focus-visible {
  outline: 3px solid rgba(0, 90, 168, 0.35);
  outline-offset: 5px;
}

.facilities-gallery::-webkit-scrollbar {
  height: 10px;
}

.facilities-gallery::-webkit-scrollbar-track {
  border-radius: 999px;
  background: rgba(207, 227, 248, 0.58);
}

.facilities-gallery::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: var(--copper);
}

.facilities-gallery figure {
  width: 100%;
  min-width: 0;
  height: clamp(190px, 18vw, 235px);
  scroll-snap-align: start;
}

.facilities-gallery.is-sliding {
  --facilities-gap: 14px;
  --facilities-gap-half: 7px;
  --facilities-card-width: clamp(210px, 22vw, 285px);
  display: block;
  overflow-x: hidden;
  scroll-snap-type: none;
  mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
}

.facilities-gallery.is-sliding::-webkit-scrollbar {
  display: none;
}

.facilities-track {
  width: max-content;
  display: flex;
  gap: var(--facilities-gap);
  animation: facilities-slide 42s linear infinite;
  will-change: transform;
}

.facilities-gallery.is-sliding:hover .facilities-track,
.facilities-gallery.is-sliding:focus-within .facilities-track {
  animation-play-state: paused;
}

.facilities-slide-group {
  display: flex;
  gap: var(--facilities-gap);
}

.facilities-gallery.is-sliding figure {
  width: var(--facilities-card-width);
  min-width: var(--facilities-card-width);
  flex: 0 0 var(--facilities-card-width);
}

@keyframes facilities-slide {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(-50% - var(--facilities-gap-half)));
  }
}

@media (max-width: 980px) {
  .facilities-gallery {
    grid-auto-columns: minmax(230px, 34vw);
    grid-template-columns: none;
  }

  .facilities-gallery.is-sliding {
    --facilities-card-width: clamp(230px, 34vw, 320px);
  }
}

@media (max-width: 620px) {
  .facilities-gallery {
    grid-auto-columns: minmax(220px, 82%);
    grid-template-columns: none;
    gap: 12px;
    padding-bottom: 18px;
  }

  .facilities-gallery.is-sliding {
    --facilities-gap: 12px;
    --facilities-gap-half: 6px;
    --facilities-card-width: clamp(220px, 82vw, 320px);
  }

  .facilities-gallery figure {
    height: 180px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .facilities-gallery.is-sliding {
    overflow-x: auto;
    mask-image: none;
    -webkit-mask-image: none;
    scroll-snap-type: x mandatory;
  }

  .facilities-track {
    animation: none;
  }

  .facilities-gallery.is-sliding figure {
    scroll-snap-align: start;
  }
}
