/* Enquadramentos específicos das fotografias locais em diferentes proporções. */
.hero-visual img{object-position:54% center}
.hero-carousel{position:relative;width:100%;height:min(57vh,520px);overflow:hidden;border-radius:160px 24px 24px 24px;box-shadow:var(--shadow);background:#dceaf4}
.hero-carousel .hero-slide{position:absolute;inset:0;width:100%;height:100%;border-radius:0;box-shadow:none;opacity:0;transform:scale(1.035);transition:opacity .9s ease,transform 5.6s ease;pointer-events:none}
.hero-carousel .hero-slide.active{opacity:1;transform:scale(1)}
.hero-carousel-dots{position:absolute;z-index:3;right:18px;bottom:17px;display:flex;gap:7px;padding:7px 9px;border-radius:999px;background:rgba(0,35,65,.54);backdrop-filter:blur(6px)}
.hero-carousel-dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.58);cursor:pointer;transition:.25s}
.hero-carousel-dots button.active{width:25px;background:#fff}
.photo-stack img{object-position:56% center}
.course-math{object-position:48% 60%}
.course-portuguese{object-position:58% 48%}
.course-english{object-position:50% top}
.profile-image{object-position:57% center}
.map-frame{display:block;width:100%;min-height:480px;border:0;border-radius:24px;background:#eaf4fb}
.unit-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}
.unit-gallery figure{position:relative;min-width:0;height:245px;margin:0;overflow:hidden;border-radius:18px;background:#dceaf4;box-shadow:0 12px 32px rgba(3,43,75,.1)}
.unit-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.unit-gallery figure:hover img{transform:scale(1.035)}
.unit-gallery figcaption{position:absolute;inset:auto 12px 12px;padding:12px 14px;border:1px solid rgba(255,255,255,.3);border-radius:12px;background:rgba(3,43,75,.78);color:#fff;backdrop-filter:blur(7px)}
.unit-gallery figcaption strong,.unit-gallery figcaption span{display:block}
.unit-gallery figcaption strong{font:600 14px/1.3 Poppins}
.unit-gallery figcaption span{margin-top:3px;font-size:11px;line-height:1.35;color:rgba(255,255,255,.82)}
.unit-gallery-wide img{object-position:center 58%}

@media(max-width:768px){
  .hero-visual img{object-position:52% center}
  .hero-carousel{height:310px;border-radius:75px 18px 18px}
  .hero-carousel-dots{right:12px;bottom:90px}
  .photo-stack img{object-position:55% center}
  .profile-image{object-position:55% center}
  .unit-gallery{display:flex;gap:12px;margin:25px -15px 0;padding:0 15px 6px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .unit-gallery::-webkit-scrollbar{display:none}
  .unit-gallery figure{flex:0 0 82%;height:235px;scroll-snap-align:center}
}

@media(prefers-reduced-motion:reduce){.hero-carousel .hero-slide{transition:none;transform:none}}
