/* Vedanta Orthopaedic Hospital and Physiotherapy Centre — premium home-page motion layer */
:root{--olwen-green:#087765;--olwen-deep:#063f37;--olwen-mint:#eaf8f3;--olwen-gold:#d6b16b}

#home{isolation:isolate;overflow:hidden;background:#092f2b}
#home:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(circle at 12% 22%,rgba(72,210,181,.18),transparent 28%),radial-gradient(circle at 88% 70%,rgba(214,177,107,.13),transparent 24%);mix-blend-mode:screen}
#home:after{content:"";position:absolute;left:50%;bottom:22px;width:1px;height:54px;background:linear-gradient(to bottom,rgba(255,255,255,.8),transparent);z-index:6;opacity:.7;animation:homeScrollLine 2.4s ease-in-out infinite}
#home .hero-track{transition:transform .95s cubic-bezier(.22,.75,.2,1);will-change:transform}
#home .hero-slide{position:relative;overflow:hidden;transform:translateZ(0)}
#home .hero-slide:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(3,35,31,.78) 0%,rgba(3,35,31,.46) 36%,rgba(3,35,31,.08) 75%),linear-gradient(0deg,rgba(3,35,31,.3),transparent 45%);pointer-events:none}
#home .hero-slide>img{transform:scale(1.08);filter:saturate(.88) contrast(1.04);transition:transform 8s cubic-bezier(.2,.6,.2,1),filter 1s ease}
#home .hero-slide.active>img{transform:scale(1);filter:saturate(1) contrast(1)}
#home .hero-content{position:relative;z-index:3}
#home .hero-copy{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
#home .hero-slide.active .hero-copy{opacity:1;transform:none}
#home .hero-slide.active .hero-copy .small{animation:homeRise .7s .12s both}
#home .hero-slide.active .hero-copy h1{animation:homeRise .8s .22s both}
#home .hero-slide.active .hero-copy .award{animation:homeRise .8s .34s both}
#home .hero-slide.active .hero-pill{animation:homeRise .8s .46s both}
#home .hero-slide.active .hero-award{animation:homeRise .8s .58s both}
#home .hero-copy .small{letter-spacing:.2em;text-transform:uppercase}
#home .hero-pill{position:relative;overflow:hidden;box-shadow:0 12px 36px rgba(0,0,0,.14)}
#home .hero-pill:after{content:"";position:absolute;top:0;left:-120%;width:70%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.3),transparent);transform:skewX(-18deg);animation:homeShimmer 5.5s 1.4s infinite}
#home .hero-arrow{transition:transform .3s ease,background .3s ease,box-shadow .3s ease;z-index:7}
#home .hero-arrow:hover{transform:translateY(-50%) scale(1.1);box-shadow:0 12px 28px rgba(0,0,0,.2)}
#home .hero-arrow.prev:hover{transform:translateY(-50%) scale(1.1)}
#home .hero-arrow.next:hover{transform:translateY(-50%) scale(1.1)}
#home .hero-dot{position:relative;transition:width .35s ease,background .35s ease,transform .35s ease}
#home .hero-dot.active{width:34px;transform:scaleY(1.15)}
#home .hero-dots{z-index:8}

/* Section reveal and editorial spacing */
#services,#doctor,.stats-wrap,.about,#international,#reviews,#gallery,.appointment{position:relative;overflow:hidden}
#services:before,#international:before,#gallery:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 46%,rgba(8,119,101,.035) 46% 54%,transparent 54%)}
.section-title,.profile-grid,.stats,.about-grid,.patient-carousel,.reviews-grid,.reviews-title,.video-grid,.appointment .container{position:relative;z-index:1}
.home-reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.home-reveal.is-visible{opacity:1;transform:none}
.home-reveal.delay-1{transition-delay:.08s}.home-reveal.delay-2{transition-delay:.16s}.home-reveal.delay-3{transition-delay:.24s}
.section-title h2,.reviews-title h2{position:relative;display:inline-block}
.section-title h2:after,.reviews-title h2:after{content:"";display:block;width:58px;height:4px;margin:14px auto 0;border-radius:99px;background:linear-gradient(90deg,var(--olwen-green),var(--olwen-gold));transform-origin:left;animation:homeBar 1.2s ease both}

/* Service cards */
#services .service-carousel{perspective:1200px}
#services .service-card{position:relative;overflow:hidden;border:1px solid rgba(8,119,101,.1);box-shadow:0 12px 32px rgba(4,67,57,.06);transform:translateY(0) rotateX(0);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,border-color .4s ease}
#services .service-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(8,119,101,.08),transparent 42%);opacity:0;transition:opacity .35s ease;pointer-events:none}
#services .service-card:after{content:"";position:absolute;top:-100%;right:-30%;width:70%;height:260%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:rotate(22deg);transition:top .8s ease;pointer-events:none}
#services .service-card:hover{transform:translateY(-12px) rotateX(2deg);box-shadow:0 24px 46px rgba(4,67,57,.14);border-color:rgba(8,119,101,.28)}
#services .service-card:hover:before{opacity:1}#services .service-card:hover:after{top:-20%}
#services .service-card .icon{transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .35s ease}
#services .service-card:hover .icon{transform:translateY(-5px) scale(1.07) rotate(-3deg);filter:drop-shadow(0 10px 12px rgba(8,119,101,.15))}
#services .service-card h3{transition:color .3s ease;position:relative;z-index:1}
#services .service-card:hover h3{color:var(--olwen-green)}

/* Doctor / about visual polish */
#doctor .profile-photo,#doctor .profile-copy,.about-visual,.about-copy{transition:transform .5s ease,box-shadow .5s ease}
#doctor .profile-photo{box-shadow:0 18px 45px rgba(3,63,54,.13);border:8px solid rgba(255,255,255,.75)}
#doctor .profile-photo:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:0 28px 60px rgba(3,63,54,.2)}
.about-visual{position:relative}
.about-visual:after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid rgba(8,119,101,.22);border-radius:24px;z-index:-1;transition:transform .5s ease}
.about-visual:hover:after{transform:translate(8px,8px)}
.about-visual img{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.about-visual:hover img{transform:scale(1.035);filter:saturate(1.06)}
.green-btn{position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.green-btn:after{content:"";position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transition:transform .65s ease}
.btn-outline{display:inline-block;padding:10px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.12);color:var(--olwen-mint);margin-left:10px}

/* Stats */
.stats-wrap:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 0,rgba(255,255,255,.12),transparent 28%),linear-gradient(115deg,transparent,rgba(255,255,255,.035),transparent)}
.stat{position:relative;transition:transform .35s ease,background .35s ease;overflow:hidden}
.stat:after{content:"";position:absolute;left:14%;right:14%;bottom:0;height:3px;border-radius:99px;background:var(--olwen-gold);transform:scaleX(0);transition:transform .35s ease}
.stat:hover{transform:translateY(-7px);background:rgba(255,255,255,.055)}.stat:hover:after{transform:scaleX(1)}
.stat strong{display:inline-block;transition:transform .35s ease}.stat:hover strong{transform:scale(1.08)}

/* International patients, reviews and video tiles */
#international .patient-card,#reviews .review-card,#gallery .video-card{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease}
#international .patient-card:hover,#reviews .review-card:hover,#gallery .video-card:hover{transform:translateY(-8px);box-shadow:0 22px 45px rgba(4,67,57,.13)}
#international .patient-card img{transition:transform .7s ease,filter .5s ease}#international .patient-card:hover img{transform:scale(1.045);filter:saturate(1.08)}
#reviews .review-card{position:relative;overflow:hidden}.review-card:before{content:"“";position:absolute;right:18px;top:-12px;font-size:100px;line-height:1;color:rgba(8,119,101,.07);font-family:Georgia,serif;pointer-events:none}
#gallery .video-card{position:relative;overflow:hidden}.video-placeholder{transition:background .35s ease,transform .35s ease}.video-card:hover .video-placeholder{background:linear-gradient(135deg,#0a7e6e,#063f37)!important;transform:scale(1.02)}

/* Appointment banner */
.appointment{background-size:180% 180%;animation:homeGradient 14s ease infinite}
.appointment .container{position:relative}.appointment .container:before{content:"";position:absolute;width:280px;height:280px;right:-100px;top:-150px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 35px rgba(255,255,255,.035),0 0 0 70px rgba(255,255,255,.025);pointer-events:none}
.appointment a{position:relative;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}.appointment a:hover{transform:translateY(-4px);box-shadow:0 15px 32px rgba(0,0,0,.2)}

@keyframes homeRise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes homeBar{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}
@keyframes homeShimmer{0%,55%{left:-120%}80%,100%{left:150%}}
@keyframes homeScrollLine{0%,100%{opacity:.25;transform:scaleY(.7);transform-origin:top}50%{opacity:.9;transform:scaleY(1);transform-origin:top}}
@keyframes homeGradient{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}

@media(max-width:900px){#home:after{display:none}#home .hero-slide:before{background:linear-gradient(90deg,rgba(3,35,31,.78),rgba(3,35,31,.2))}.about-visual:after{inset:10px -10px -10px 10px}}
@media(prefers-reduced-motion:reduce){#home *,#services *,#doctor *,#international *,#reviews *,#gallery *,#home:after,.appointment{animation:none!important;transition:none!important;scroll-behavior:auto!important}.home-reveal{opacity:1;transform:none}}

.home-hero{height:520px;position:relative}.home-hero .hero-track{display:flex;height:100%}.home-hero .hero-slide{min-width:100%;height:100%;position:relative}.home-hero .hero-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.home-hero .hero-content{height:100%;display:flex;align-items:center}.home-hero .hero-copy{width:min(650px,90%);padding-top:0}.home-hero .hero-copy h1{color:#fff;font-size:clamp(38px,5vw,64px);margin:5px 0 8px}.home-hero .hero-copy .small,.home-hero .hero-copy .award{color:#fff}.home-hero .hero-pill{background:rgba(4,50,45,.78);color:#fff;min-width:0;padding:13px 28px;font-size:21px}.home-hero .hero-arrow{background:rgba(0,0,0,.3);color:#fff;border-radius:50%;width:46px;height:46px}.home-hero .hero-arrow.prev{left:24px}.home-hero .hero-arrow.next{right:24px}.home-hero .hero-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.home-hero .hero-dot{width:28px;height:4px;border:0;border-radius:99px;background:rgba(255,255,255,.45);cursor:pointer}.home-hero .hero-dot.active{background:#fff;width:48px}.home-hero .hero-cta{font-weight:800;text-decoration:none;border-radius:12px;padding:13px 18px}.home-hero .hero-copy{opacity:0;transform:translateY(25px)}.home-hero .hero-slide.active .hero-copy{opacity:1;transform:none;transition:opacity .7s ease,transform .8s ease}.home-hero .hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,35,31,.82),rgba(3,35,31,.38) 48%,rgba(3,35,31,.05));z-index:1}.home-hero .hero-content{position:relative;z-index:2}.home-hero .hero-arrow,.home-hero .hero-dots{z-index:4}@media(max-width:700px){.home-hero{height:560px}.home-hero .hero-copy h1{font-size:40px}.home-hero .hero-pill{font-size:17px}.home-hero .hero-arrow{width:40px;height:40px}.home-hero .hero-arrow.prev{left:10px}.home-hero .hero-arrow.next{right:10px}}

/* Mobile homepage hero: prevent text/button clipping and arrow overlap */
@media (max-width: 700px) {
  #home.home-hero {
    height: auto !important;
    min-height: 570px;
    overflow: hidden;
  }

  #home.home-hero .hero-track {
    height: auto;
    align-items: stretch;
  }

  #home.home-hero .hero-slide {
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    height: auto;
    min-height: 570px;
    box-sizing: border-box;
  }

  #home.home-hero .hero-slide > img {
    height: 100%;
    min-height: 570px;
    object-fit: cover;
    object-position: 60% center;
  }

  #home.home-hero .hero-content {
    height: auto;
    min-height: 570px;
    align-items: flex-start;
    box-sizing: border-box;
    padding: 64px 18px 94px;
  }

  #home.home-hero .hero-copy {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 0;
    box-sizing: border-box;
  }

  #home.home-hero .hero-copy .small {
    font-size: 11px;
    line-height: 1.5;
    letter-spacing: .14em;
    overflow-wrap: anywhere;
  }

  #home.home-hero .hero-copy h1 {
    font-size: clamp(30px, 8.5vw, 40px);
    line-height: 1.12;
    margin: 8px 0 10px;
    overflow-wrap: break-word;
    word-break: normal;
  }

  #home.home-hero .hero-copy .award {
    font-size: 14px;
    line-height: 1.5;
    margin: 0 0 14px;
    max-width: 100%;
  }

  #home.home-hero .hero-pill {
    display: block;
    width: fit-content;
    max-width: 100%;
    min-width: 0;
    padding: 10px 14px;
    margin: 0 0 14px;
    font-size: 14px;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: break-word;
    box-sizing: border-box;
  }

  #home.home-hero .hero-cta {
    display: inline-flex;
    max-width: 100%;
    white-space: normal;
    box-sizing: border-box;
    padding: 11px 14px;
    font-size: 12px;
    line-height: 1.35;
  }

  #home.home-hero .hero-arrow {
    top: auto;
    bottom: 22px;
    width: 32px;
    height: 32px;
    z-index: 5;
  }

  #home.home-hero .hero-arrow.prev { left: 12px; }
  #home.home-hero .hero-arrow.next { right: 12px; }

  #home.home-hero .hero-dots {
    bottom: 35px;
    z-index: 5;
  }
}
