/* ============================================================
   TRISHNA MONTESSORI — SECTION ANIMATIONS
   Add this file AFTER min.css:
   <link rel="stylesheet" href="css/animations.css" />
   ============================================================ */

/* ── Global animation defaults ── */
[data-anim] {
  opacity: 0;
  will-change: opacity, transform;
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  transition-duration: 0.75s;
}

[data-anim].anim-in {
  opacity: 1;
  transform: none !important;
}

/* Variants */
[data-anim="fade-up"] {
  transform: translateY(48px);
}
[data-anim="fade-down"] {
  transform: translateY(-48px);
}
[data-anim="fade-left"] {
  transform: translateX(-56px);
}
[data-anim="fade-right"] {
  transform: translateX(56px);
}
[data-anim="fade"] {
  transform: none;
}
[data-anim="zoom-in"] {
  transform: scale(0.82);
}
[data-anim="zoom-out"] {
  transform: scale(1.14);
}
[data-anim="flip-x"] {
  transform: rotateX(25deg);
  perspective: 600px;
}
[data-anim="flip-y"] {
  transform: rotateY(28deg);
  perspective: 600px;
}
[data-anim="slide-up"] {
  transform: translateY(80px);
}
[data-anim="tilt"] {
  transform: rotate(-6deg) translateY(40px);
}

/* Stagger delays — apply via data-delay */
[data-delay="100"] {
  transition-delay: 0.1s;
}
[data-delay="150"] {
  transition-delay: 0.15s;
}
[data-delay="200"] {
  transition-delay: 0.2s;
}
[data-delay="250"] {
  transition-delay: 0.25s;
}
[data-delay="300"] {
  transition-delay: 0.3s;
}
[data-delay="350"] {
  transition-delay: 0.35s;
}
[data-delay="400"] {
  transition-delay: 0.4s;
}
[data-delay="450"] {
  transition-delay: 0.45s;
}
[data-delay="500"] {
  transition-delay: 0.5s;
}
[data-delay="600"] {
  transition-delay: 0.6s;
}
[data-delay="700"] {
  transition-delay: 0.7s;
}
[data-delay="800"] {
  transition-delay: 0.8s;
}

/* ── Topbar / Navbar ── */
.topbar {
  animation: topbarSlide 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes topbarSlide {
  from {
    opacity: 0;
    transform: translateY(-100%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.navbar {
  animation: navbarReveal 0.7s 0.15s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes navbarReveal {
  from {
    opacity: 0;
    transform: translateY(-24px);
    box-shadow: none;
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Nav links stagger — already handled via existing JS but enhanced */
.navbar-nav .nav-item {
  animation: navLinkDrop 0.5s both;
}
.navbar-nav .nav-item:nth-child(1) {
  animation-delay: 0.25s;
}
.navbar-nav .nav-item:nth-child(2) {
  animation-delay: 0.33s;
}
.navbar-nav .nav-item:nth-child(3) {
  animation-delay: 0.41s;
}
.navbar-nav .nav-item:nth-child(4) {
  animation-delay: 0.49s;
}
.navbar-nav .nav-item:nth-child(5) {
  animation-delay: 0.57s;
}
.navbar-nav .nav-item:nth-child(6) {
  animation-delay: 0.65s;
}

@keyframes navLinkDrop {
  from {
    opacity: 0;
    transform: translateY(-14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ══════════════════════════════════
   HERO SECTION (1st)
══════════════════════════════════ */
.hero-text h1 {
  animation: heroHeadline 1s 0.3s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.hero-text p {
  animation: heroBody 0.9s 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.hero-btns {
  animation: heroButtons 0.9s 0.75s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.kids-wrap {
  animation: heroImage 1.1s 0.2s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes heroHeadline {
  from {
    opacity: 0;
    transform: translateY(40px) skewY(2deg);
  }
  to {
    opacity: 1;
    transform: translateY(0) skewY(0deg);
  }
}

@keyframes heroBody {
  from {
    opacity: 0;
    transform: translateX(-24px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes heroButtons {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes heroImage {
  from {
    opacity: 0;
    transform: scale(0.88) translateX(40px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateX(0);
  }
}

/* Cloud shapes burst in */
.cloud-tl {
  animation:
    cloudBurstTL 1.2s 0.1s cubic-bezier(0.22, 1, 0.36, 1) both,
    floatRotate 6s ease-in-out infinite !important;
}
.cloud-bl {
  animation:
    cloudBurstBL 1s 0.3s cubic-bezier(0.22, 1, 0.36, 1) both,
    float 7s 1s ease-in-out infinite !important;
}
.cloud-br {
  animation:
    cloudBurstBR 1.1s 0.2s cubic-bezier(0.22, 1, 0.36, 1) both,
    float 8s 0.5s ease-in-out infinite !important;
}

@keyframes cloudBurstTL {
  from {
    opacity: 0;
    transform: translate(-60px, -40px) scale(0.5) rotate(80deg);
  }
  to {
    opacity: 0.65;
    transform: translate(0, 0) scale(1) rotate(80deg);
  }
}
@keyframes cloudBurstBL {
  from {
    opacity: 0;
    transform: translate(-40px, 50px) scale(0.5);
  }
  to {
    opacity: 0.65;
    transform: translate(0, 0) scale(1);
  }
}
@keyframes cloudBurstBR {
  from {
    opacity: 0;
    transform: translate(60px, 50px) scale(0.5);
  }
  to {
    opacity: 0.65;
    transform: translate(0, 0) scale(1);
  }
}

/* Doodles staggered pop */
.doodle-plane {
  animation: doodlePop 0.8s 0.9s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
.doodle-star1 {
  animation: doodlePop 0.8s 1.1s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
.doodle-cloud1 {
  animation: doodlePop 0.7s 1.3s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
.doodle-cloud2 {
  animation: doodlePop 0.7s 1.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

@keyframes doodlePop {
  from {
    opacity: 0;
    transform: scale(0.4) rotate(-15deg);
  }
  to {
    opacity: 1;
    transform: scale(1) rotate(0deg);
  }
}

/* ══════════════════════════════════
   HERO SECTION (2nd — about)
══════════════════════════════════ */
.hero-section .col-lg-4:first-child img {
  animation: aboutImgReveal 1s 0.3s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes aboutImgReveal {
  from {
    opacity: 0;
    transform: translateX(-50px) scale(0.9);
  }
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

.hero-section .school-label {
  animation: labelSlide 0.7s 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.hero-section .hero-title {
  animation: labelSlide 0.8s 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.hero-section .hero-desc {
  animation: labelSlide 0.8s 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.hero-section .btn-know {
  animation: buttonPop 0.7s 0.9s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
.hero-section .right-img-wrap img {
  animation: aboutImgRight 1s 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.hero-section .book-icon {
  animation: bookSpin 1s 1.2s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes labelSlide {
  from {
    opacity: 0;
    transform: translateY(32px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes buttonPop {
  from {
    opacity: 0;
    transform: scale(0.7);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes aboutImgRight {
  from {
    opacity: 0;
    transform: translateX(60px) scale(0.92);
  }
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}
@keyframes bookSpin {
  from {
    opacity: 0;
    transform: rotate(-45deg) scale(0.5);
  }
  to {
    opacity: 0.18;
    transform: rotate(0deg) scale(1);
  }
}

/* ══════════════════════════════════
   LIFE SECTION — scroll triggered
══════════════════════════════════ */

.deco-planet {
  animation:
    orbitSpin 4s linear infinite,
    decoFadeIn 1.2s 0.5s ease both !important;
}
.life-section .deco-blocks {
  animation:
    blockBounce 3s ease-in-out infinite,
    decoFadeIn 1.2s 0.7s ease both !important;
}

@keyframes decoFadeIn {
  from {
    opacity: 0;
    transform: scale(0.6);
  }
  to {
    opacity: 1;
  }
}

/* Feature cards hover — enhanced 3D tilt */
.feature-card {
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease,
    border-color 0.35s ease !important;
}
.feature-card:hover {
  transform: translateY(-8px) scale(1.025) !important;
  box-shadow: 0 24px 52px rgba(0, 0, 0, 0.1) !important;
}

/* ══════════════════════════════════
   PROGRAMS SECTION — scroll triggered
══════════════════════════════════ */
.prog-card:hover {
  transform: translateY(-10px) scale(1.025) !important;
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.11) !important;
}

.prog-card .card-img-wrap img {
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
.prog-card:hover .card-img-wrap img {
  transform: scale(1.09) !important;
}

.prog-card .time-badge {
  transition:
    background 0.3s ease,
    transform 0.3s ease;
}
.prog-card:hover .time-badge {
  transform: scale(1.03);
}

/* ══════════════════════════════════
   STATS BANNER — counter + fade
══════════════════════════════════ */
.stat-item {
  opacity: 0;
  transform: translateY(36px);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.stat-item.anim-in {
  opacity: 1;
  transform: translateY(0);
}

.stat-item:nth-child(1) {
  transition-delay: 0.05s;
}
.stat-item:nth-child(2) {
  transition-delay: 0.18s;
}
.stat-item:nth-child(3) {
  transition-delay: 0.31s;
}
.stat-item:nth-child(4) {
  transition-delay: 0.44s;
}
.stat-item:nth-child(5) {
  transition-delay: 0.57s;
}

.stat-number {
  display: inline-block;
}
.stat-item.anim-in .stat-number {
  animation: numberPop 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
.stat-item:nth-child(1).anim-in .stat-number {
  animation-delay: 0.05s;
}
.stat-item:nth-child(2).anim-in .stat-number {
  animation-delay: 0.18s;
}
.stat-item:nth-child(3).anim-in .stat-number {
  animation-delay: 0.31s;
}
.stat-item:nth-child(4).anim-in .stat-number {
  animation-delay: 0.44s;
}
.stat-item:nth-child(5).anim-in .stat-number {
  animation-delay: 0.57s;
}

@keyframes numberPop {
  from {
    transform: scale(0.5);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

.stat-icon svg {
  animation: iconSpin 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) both;
  animation-play-state: paused;
}
.stat-item.anim-in .stat-icon svg {
  animation-play-state: running;
}

@keyframes iconSpin {
  from {
    transform: rotate(-25deg) scale(0.5);
    opacity: 0;
  }
  to {
    transform: rotate(0deg) scale(1);
    opacity: 1;
  }
}

/* ══════════════════════════════════
   CREATIVE LEARNING SECTION
══════════════════════════════════ */
.creative-section .section-eyebrow,
.creative-section .section-title,
.creative-section .creative-desc,
.creative-section .btn-find {
  opacity: 0;
  transform: translateX(-44px);
  transition:
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}
.creative-section .section-eyebrow.anim-in,
.creative-section .section-title.anim-in,
.creative-section .creative-desc.anim-in,
.creative-section .btn-find.anim-in {
  opacity: 1;
  transform: translateX(0);
}
.creative-section .section-title {
  transition-delay: 0.1s;
}
.creative-section .creative-desc {
  transition-delay: 0.22s;
}
.creative-section .btn-find {
  transition-delay: 0.36s;
}

/* Collage images */
.img-main {
  opacity: 0;
  transform: translateX(50px) scale(0.9);
  transition:
    opacity 0.9s 0.15s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s 0.15s cubic-bezier(0.22, 1, 0.36, 1);
}
.img-main.anim-in {
  opacity: 1;
  transform: translateX(0) scale(1);
}

.img-side {
  opacity: 0;
  transform: translateY(50px);
  transition:
    opacity 0.9s 0.3s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
.img-side.anim-in {
  opacity: 1;
  transform: translateY(0);
}

.circle-overlay {
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.5);
  transition:
    opacity 0.7s 0.55s cubic-bezier(0.34, 1.56, 0.64, 1),
    transform 0.7s 0.55s cubic-bezier(0.34, 1.56, 0.64, 1),
    box-shadow 0.3s ease !important;
}
.circle-overlay.anim-in {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.badge-float {
  opacity: 0;
  transform: translateY(30px) scale(0.85);
  transition:
    opacity 0.6s 0.7s cubic-bezier(0.34, 1.56, 0.64, 1),
    transform 0.6s 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.badge-float.anim-in {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Hover polish on collage */
.img-main:hover {
  transform: scale(1.03) !important;
}
.img-side:hover {
  transform: scale(1.03) translateY(-4px) !important;
}

/* ══════════════════════════════════
   GALLERY SECTION
══════════════════════════════════ */
.gallery-section .section-label,
.gallery-section .section-title,
.gallery-section .gallery-desc {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}
.gallery-section .section-title {
  transition-delay: 0.12s;
}
.gallery-section .gallery-desc {
  transition-delay: 0.24s;
}

.gallery-section .section-label.anim-in,
.gallery-section .section-title.anim-in,
.gallery-section .gallery-desc.anim-in {
  opacity: 1;
  transform: translateY(0);
}

/* Gallery grid items */
.gallery-item {
  opacity: 0;
  transform: scale(0.88) translateY(30px);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.gallery-item.anim-in {
  opacity: 1;
  transform: scale(1) translateY(0);
}
.gallery-item:nth-child(1) {
  transition-delay: 0.05s;
}
.gallery-item:nth-child(2) {
  transition-delay: 0.16s;
}
.gallery-item:nth-child(3) {
  transition-delay: 0.27s;
}
.gallery-item:nth-child(4) {
  transition-delay: 0.38s;
}
.gallery-item:nth-child(5) {
  transition-delay: 0.49s;
}
.gallery-item:nth-child(6) {
  transition-delay: 0.6s;
}

.gallery-item img {
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
.gallery-item:hover img {
  transform: scale(1.07) !important;
}

/* Doodles in gallery header */
.deco-house {
  animation: doodlePop 1s 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
.deco-rocket {
  animation: doodlePop 1s 1s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

/* ══════════════════════════════════
   NEWS & EVENTS SECTION
══════════════════════════════════ */
.news-section .section-title,
.news-section .label-tag {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.news-section .section-title {
  transition-delay: 0.12s;
}

.news-section .section-title.anim-in,
.news-section .label-tag.anim-in {
  opacity: 1;
  transform: translateY(0);
}

.news-card {
  opacity: 0;
  transform: translateY(50px);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.news-card.anim-in {
  opacity: 1;
  transform: translateY(0);
}
.col-lg-4:nth-child(1) .news-card {
  transition-delay: 0.05s;
}
.col-lg-4:nth-child(2) .news-card {
  transition-delay: 0.2s;
}
.col-lg-4:nth-child(3) .news-card {
  transition-delay: 0.35s;
}

.news-card .img-wrap img {
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
.news-card:hover .img-wrap img {
  transform: scale(1.08) !important;
}

.btn-view {
  opacity: 0;
  transform: translateY(20px) scale(0.9);
  transition:
    opacity 0.6s 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.6s 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.25s,
    translateY 0.2s;
}
.btn-view.anim-in {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.btn-view:hover {
  transform: translateY(-3px) scale(1.04) !important;
}

/* Emoji decos bounce */
.news-section .text-center > span[style*="position:absolute"] {
  animation: emojiBounce 1.2s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
.news-section .text-center > span[style*="left"] {
  animation-delay: 0.6s;
}
.news-section .text-center > span[style*="right"] {
  animation-delay: 0.85s;
}

@keyframes emojiBounce {
  from {
    opacity: 0;
    transform: scale(0.3) translateY(-20px) rotate(-20deg);
  }
  to {
    opacity: 0.85;
    transform: scale(1) translateY(0) rotate(0deg);
  }
}

/* ══════════════════════════════════
   NEWSLETTER SECTION
══════════════════════════════════ */
.newsletter-section .news-label,
.newsletter-section .nl-title,
.newsletter-section .nl-desc,
.newsletter-section .nl-form {
  opacity: 0;
  transform: translateY(32px);
  transition:
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}
.newsletter-section .nl-title {
  transition-delay: 0.12s;
}
.newsletter-section .nl-desc {
  transition-delay: 0.24s;
}
.newsletter-section .nl-form {
  transition-delay: 0.38s;
}

.newsletter-section .news-label.anim-in,
.newsletter-section .nl-title.anim-in,
.newsletter-section .nl-desc.anim-in,
.newsletter-section .nl-form.anim-in {
  opacity: 1;
  transform: translateY(0);
}

.newsletter-section .deco-planet {
  animation: decoFadeIn 1.2s 0.4s ease both;
}
.newsletter-section .deco-ufo {
  animation: decoFadeIn 1.2s 0.7s ease both;
}

/* Stars pulse */
.star-deco,
.star {
  animation: twinkle 2.5s ease-in-out infinite;
}
.star-deco.s2,
.star.star-2 {
  animation-delay: 0.8s;
}
.star-deco.s3,
.star.star-3 {
  animation-delay: 1.6s;
}

/* Input focus ring lift */
.nl-form input:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(224, 122, 95, 0.18);
}

.nl-form button {
  transition:
    background 0.25s,
    transform 0.2s,
    box-shadow 0.2s !important;
}
.nl-form button:hover {
  transform: scale(1.06) !important;
  box-shadow: 0 6px 20px rgba(224, 122, 95, 0.35) !important;
}

/* ══════════════════════════════════
   FOOTER
══════════════════════════════════ */
.site-footer .footer-inner .col-lg-3,
.site-footer .footer-inner .col-md-6 {
  opacity: 0;
  transform: translateY(36px);
  transition:
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}
.site-footer .footer-inner .col-lg-3.anim-in,
.site-footer .footer-inner .col-md-6.anim-in {
  opacity: 1;
  transform: translateY(0);
}
.site-footer .footer-inner .col-lg-3:nth-child(1),
.site-footer .footer-inner .col-md-6:nth-child(1) {
  transition-delay: 0.05s;
}
.site-footer .footer-inner .col-lg-3:nth-child(2),
.site-footer .footer-inner .col-md-6:nth-child(2) {
  transition-delay: 0.18s;
}
.site-footer .footer-inner .col-lg-3:nth-child(3),
.site-footer .footer-inner .col-md-6:nth-child(3) {
  transition-delay: 0.31s;
}
.site-footer .footer-inner .col-lg-3:nth-child(4),
.site-footer .footer-inner .col-md-6:nth-child(4) {
  transition-delay: 0.44s;
}

.deco-left,
.deco-right {
  animation: decoFadeIn 1.4s 0.6s ease both;
}
.deco-rocket-small {
  animation: doodlePop 0.8s 1s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.copyright-bar {
  opacity: 0;
  animation: fadeInUp 0.7s 0.5s ease both;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ══════════════════════════════════
   BUTTON HOVER MICRO-INTERACTIONS
══════════════════════════════════ */
.btn-discover {
  transition:
    background 0.25s,
    transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1),
    box-shadow 0.22s ease !important;
}
.btn-discover:hover {
  transform: translateY(-4px) scale(1.04) !important;
}

.btn-video {
  transition:
    border-color 0.25s,
    color 0.25s,
    transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1),
    box-shadow 0.22s ease !important;
}
.btn-video:hover {
  transform: translateY(-4px) scale(1.04) !important;
}

.btn-know,
.btn-view-all,
.btn-find {
  transition:
    transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1),
    box-shadow 0.22s ease,
    background 0.25s,
    color 0.25s !important;
}
.btn-know:hover {
  transform: translateY(-3px) scale(1.04) !important;
}
.btn-view-all:hover {
  transform: translateY(-4px) scale(1.03) !important;
}
.btn-find:hover {
  transform: translateY(-3px) scale(1.04) !important;
}

/* Contact button pulse on hover */
.btn-contact {
  transition:
    background 0.25s,
    transform 0.2s,
    box-shadow 0.2s !important;
}
.btn-contact:hover {
  transform: scale(1.06) translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(244, 185, 66, 0.45) !important;
}

/* Icon circles rotate smoothly */
.icon-circle {
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}
.feature-card:hover .icon-circle,
.prog-card:hover .icon-circle {
  transform: rotate(15deg) scale(1.15) !important;
}

/* ══════════════════════════════════
   SMOOTH SCROLLBAR / ANCHOR BEHAVIOR
══════════════════════════════════ */
html {
  scroll-behavior: smooth;
}

/* ══════════════════════════════════
   REDUCE MOTION SUPPORT
══════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  [data-anim] {
    opacity: 1 !important;
    transform: none !important;
  }
}
