/* HarishProperties.ca — Release 7 / Sprint 7
   Portrait entrance, premium service graphics and refined brand gradients. */

/* Refined gradient buttons: clean blue-purple-rose blend with no heavy orange edge. */
.btn-purple,
.header-cta,
.site-header .btn-purple,
a[href*="consultation"].btn,
a[href*="book-consultation"].btn{
  background:linear-gradient(110deg,#273fa8 0%,#713a9c 54%,#d34d70 100%)!important;
  background-size:140% 100%!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 12px 30px rgba(72,44,147,.24),inset 0 1px 0 rgba(255,255,255,.16)!important;
  color:#fff!important;
  overflow:hidden;
  position:relative;
}
.btn-purple::before,
.header-cta::before,
a[href*="consultation"].btn::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.16),transparent 32%,transparent 70%,rgba(255,255,255,.08));
  opacity:.7;
}
.btn-purple:hover,
.header-cta:hover,
a[href*="consultation"].btn:hover{
  background-position:100% 0!important;
  box-shadow:0 16px 38px rgba(72,44,147,.30),inset 0 1px 0 rgba(255,255,255,.2)!important;
}

/* Bring Harish upward and reveal him with a slow, confident entrance. */
.hero-person{
  width:min(520px,35vw)!important;
  right:-.2%!important;
  bottom:72px!important;
  transform-origin:50% 100%;
  will-change:transform,opacity,filter;
  animation:hpPortraitRise 1.65s cubic-bezier(.16,1,.3,1) .22s both;
}
.hero-person img{
  max-height:710px!important;
  filter:drop-shadow(0 30px 54px rgba(0,0,0,.38))!important;
}
@keyframes hpPortraitRise{
  0%{opacity:0;transform:translate3d(0,74px,0) scale(.955);filter:blur(4px)}
  55%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
}
.hero:hover .hero-person{transform:translate3d(0,-5px,0)!important}

/* Premium service-card graphics and card treatment. */
.hp-premium-services{gap:22px!important}
.hp-premium-services .service-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:330px;
  padding:38px 38px 34px!important;
  border:1px solid rgba(14,40,133,.11)!important;
  border-radius:24px!important;
  background:linear-gradient(150deg,#fff 0%,#fff 64%,#f8f4f0 100%)!important;
  box-shadow:0 18px 48px rgba(7,20,46,.075)!important;
}
.hp-premium-services .service-card::before{
  content:"";
  position:absolute;
  width:190px;height:190px;
  right:-100px;top:-104px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(111,58,156,.10),transparent 68%);
  z-index:-1;
  transition:transform .7s cubic-bezier(.16,1,.3,1);
}
.hp-premium-services .service-card:hover::before{transform:scale(1.55)}
.hp-premium-services .service-card:hover{
  transform:translateY(-9px)!important;
  border-color:rgba(111,58,156,.22)!important;
  box-shadow:0 28px 70px rgba(7,20,46,.13)!important;
}
.hp-premium-services .service-icon{
  width:64px!important;height:64px!important;
  display:grid!important;place-items:center!important;
  margin-bottom:28px!important;
  border-radius:20px!important;
  background:linear-gradient(145deg,#213da3 0%,#713a9c 58%,#d34d70 100%)!important;
  color:#fff!important;
  box-shadow:0 13px 28px rgba(72,44,147,.22),inset 0 1px 0 rgba(255,255,255,.24)!important;
  position:relative;
  overflow:hidden;
}
.hp-premium-services .service-icon::after{
  content:"";position:absolute;inset:1px;border-radius:19px;
  background:linear-gradient(135deg,rgba(255,255,255,.17),transparent 42%);
}
.hp-premium-services .service-icon svg{
  position:relative;z-index:1;width:31px;height:31px;
  fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;
}
.hp-premium-services .service-card h3{font-size:1.46rem;margin:0 0 17px}
.hp-premium-services .service-card p{line-height:1.72;margin-bottom:26px}
.hp-premium-services .service-card a b{display:inline-flex;align-items:center;gap:8px}
.hp-premium-services .service-card a span{transition:transform .25s ease}
.hp-premium-services .service-card:hover a span{transform:translateX(5px)}

@media(max-width:1180px){
  .hero-person{width:min(470px,38vw)!important;bottom:55px!important;right:-1%!important}
}
@media(max-width:880px){
  .hero-person{width:50%!important;bottom:26px!important;right:-7%!important}
  .hp-premium-services .service-card{min-height:300px;padding:30px!important}
}
@media(max-width:680px){
  .hero-person{width:76%!important;bottom:10px!important;right:-25%!important}
  .hp-premium-services .service-card{min-height:0}
}
@media(prefers-reduced-motion:reduce){
  .hero-person{animation:none!important}
}
