/* High-impact cardiology home experience */
.page-hero{
  padding:60px 0 52px
}
.page-hero h1{
  font-size:clamp(2.25rem,4vw,3.8rem);
  max-width:780px
}
.page-hero>div>p:last-child{
  font-size:1rem
}
.compact-page-hero{
  padding:55px 0 46px
}
.header-social{
  display:flex;
  gap:6px;
  margin-left:12px
}
.header-social a{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:50%;
  background:#eff5fa;
  color:#082d5c;
  text-decoration:none;
  font-size:.75rem;
  font-weight:700
}
.social-links{
  display:flex;
  gap:8px;
  flex-wrap:wrap
}
.social-links a{
  padding:7px 10px!important;
  border:1px solid #ffffff3b;
  border-radius:4px
}
.video-home{
  background:#f4f9fd
}
.home-video-grid,.video-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:17px
}
.video-card{
  border-radius:10px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 28px #082d5c14
}
.video-card iframe{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  border:0
}
.video-card p{
  margin:0;
  padding:12px 14px;
  font-size:.84rem;
  font-weight:700;
  color:#173a5e
}
.videos-section{
  background:#f7fafc
}
.blog-listing-card{
  padding:0!important;
  overflow:hidden
}
.blog-image-slot,.detail-image-slot{
  display:grid;
  place-items:center;
  min-height:175px;
  background:linear-gradient(135deg,#0a315f,#1d609f 50%,#d71b2a);
  color:#fff;
  position:relative;
  overflow:hidden
}
.blog-image-slot:after,.detail-image-slot:after{
  content:'+';
  position:absolute;
  right:16px;
  bottom:-28px;
  font:12rem/1 'Playfair Display';
  color:#ffffff16
}
.blog-image-slot span,.detail-image-slot span{
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.7rem;
  position:relative;
  z-index:1
}
.blog-card-content{
  padding:25px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-height:270px
}
.blog-card-content h2{
  font-size:1.45rem
}
.detail-image-slot{
  height:390px;
  margin-bottom:37px;
  border-radius:12px;
  align-content:center
}
.detail-image-slot small{
  position:relative;
  z-index:1;
  color:#dceefa;
  margin-top:-55px
}
.article-detail-hero{
  padding:58px 0 52px
}
.article-detail-hero h1{
  font-size:clamp(2.35rem,4vw,4.1rem)
}
@media(max-width:1000px){
  .header-social{
    display:none
  }
}
@media(max-width:850px){
  .home-video-grid,.video-grid{
    grid-template-columns:1fr
  }
  .detail-image-slot{
    height:300px
  }
}
.heart-hero{
  min-height:730px;
  isolation:isolate;
  overflow:hidden;
  position:relative;
  background:radial-gradient(circle at 78% 30%,#144e91 0,#092e60 37%,#051b38 77%);
  color:#fff
}
.heart-hero:before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(105deg,#061a36 12%,#082a58d9 51%,#0e4d912b 100%);
  z-index:-1
}
.heart-hero-grid{
  min-height:730px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  align-items:center
}
.hero-content{
  position:relative;
  z-index:2;
  padding:80px 0
}
.heart-hero .eyebrow{
  color:#ffb4bb
}
.heart-hero h1{
  max-width:740px;
  font-size:clamp(3rem,5.3vw,5.8rem);
  margin-bottom:23px
}
.heart-hero h1 em{
  color:#ff7884;
  font-style:normal
}
.heart-hero p:not(.eyebrow){
  max-width:590px;
  color:#d6e4f3;
  font-size:1.12rem
}
.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:33px
}
.button-ghost{
  background:#ffffff12;
  border-color:#ffffff72;
  backdrop-filter:blur(10px)
}
.button-ghost:hover{
  background:#ffffff24
}
.whatsapp{
  padding:14px 21px;
  border:1px solid #75e0a3;
  border-radius:3px;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  background:#24a966
}
.whatsapp:hover{
  background:#168b50
}
.hero-person{
  align-self:end;
  min-height:615px;
  position:relative
}
.hero-person img{
  height:650px;
  max-width:100%;
  object-fit:contain;
  object-position:center bottom;
  position:absolute;
  bottom:0;
  right:-7%;
  z-index:1;
  filter:drop-shadow(0 24px 20px #0004)
}
.person-halo{
  width:590px;
  height:590px;
  position:absolute;
  border-radius:50%;
  bottom:-40px;
  right:-38px;
  background:radial-gradient(circle,#e6f7ff1e 0 42%,#ff53651f 43% 44%,transparent 45%)
}
.hero-doctor-tag{
  position:absolute;
  bottom:75px;
  left:-20px;
  z-index:3;
  border:1px solid #ffffff37;
  border-radius:8px;
  padding:15px 18px;
  background:#051b38bd;
  backdrop-filter:blur(12px)
}
.hero-doctor-tag strong,.hero-doctor-tag span{
  display:block
}
.hero-doctor-tag span{
  font-size:.75rem;
  color:#c4d9ee
}
.ecg-line{
  position:absolute;
  z-index:0;
  bottom:70px;
  left:0;
  width:100%;
  opacity:.75
}
.ecg-line svg{
  width:100%;
  height:125px
}
.ecg-line path{
  fill:none;
  stroke:#ff5261;
  stroke-width:2;
  stroke-dasharray:2100;
  stroke-dashoffset:2100;
  animation:ecg 9s linear infinite;
  filter:drop-shadow(0 0 8px #ff4457)
}
@keyframes ecg{
  to{
    stroke-dashoffset:0
  }
}
.heart-glow{
  position:absolute;
  border-radius:50%;
  filter:blur(1px);
  z-index:-1
}
.glow-a{
  width:340px;
  height:340px;
  background:#fa2e4a24;
  left:-150px;
  top:20px
}
.glow-b{
  width:280px;
  height:280px;
  background:#1e86de36;
  right:10%;
  top:-110px
}
.trust-strip{
  margin-top:-54px;
  position:relative;
  z-index:4
}
.trust-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 16px 36px #051e401f
}
.trust-grid article{
  padding:23px 25px;
  background:#fff;
  border-right:1px solid #e1eaf3
}
.trust-grid article:last-child{
  border:0
}
.trust-grid b,.trust-grid span{
  display:block
}
.trust-grid b{
  color:#092e60;
  font:600 1.2rem 'Playfair Display'
}
.trust-grid span{
  font-size:.78rem;
  color:#60728a
}
.about-home-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:90px;
  align-items:center
}
.about-picture{
  position:relative
}
.about-picture img{
  width:100%;
  height:500px;
  object-fit:cover;
  object-position:top;
  border-radius:190px 16px 16px 16px
}
.picture-badge{
  position:absolute;
  right:-15px;
  bottom:26px;
  border-radius:50%;
  width:125px;
  height:125px;
  display:grid;
  place-content:center;
  text-align:center;
  background:var(--red);
  color:#fff;
  font-size:.8rem;
  line-height:1.15;
  box-shadow:0 10px 25px #d71b2a4c
}
.picture-badge b{
  font:1.45rem 'Playfair Display'
}
.about-home-grid p:not(.eyebrow){
  color:#5d7087;
  max-width:630px;
  font-size:1.03rem
}
.centered{
  text-align:center;
  margin-left:auto;
  margin-right:auto
}
.expertise{
  background:#f3f8fc
}
.expertise-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:11px
}
.expertise-grid a{
  display:flex;
  gap:13px;
  align-items:center;
  min-height:69px;
  border-radius:7px;
  padding:14px 17px;
  background:#fff;
  border:1px solid #e1eaf2;
  color:#18344e;
  text-decoration:none;
  font-size:.89rem;
  font-weight:700;
  transition:.2s
}
.expertise-grid a:hover{
  color:#fff;
  background:#092e60;
  transform:translateY(-3px);
  box-shadow:0 10px 22px #082d5c2b
}
.expertise-grid span{
  color:#d71b2a;
  font-size:.7rem
}
.expertise-grid b{
  margin-left:auto
}
.why-section{
  padding:100px 0;
  background:linear-gradient(115deg,#061f40 0 57%,#09366b 57%);
  color:#fff
}
.why-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:center
}
.why-section .eyebrow{
  color:#ffabb3
}
.why-section p:not(.eyebrow){
  color:#c7d9eb;
  max-width:530px
}
.why-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px
}
.why-list div{
  display:flex;
  align-items:center;
  gap:13px;
  padding:16px;
  border:1px solid #ffffff32;
  border-radius:6px;
  background:#ffffff0b
}
.why-list i{
  font-style:normal;
  color:#ff8a94;
  font-size:.75rem
}
.why-list span{
  font-size:.88rem;
  font-weight:700
}
.condition-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:13px
}
.condition-grid>div{
  border-radius:12px;
  padding:22px 15px;
  background:#fff;
  border:1px solid #e3ebf1;
  text-align:center;
  transition:.2s
}
.condition-grid>div:hover{
  transform:translateY(-5px);
  box-shadow:0 15px 25px #082d5c16
}
.condition-grid span{
  display:grid;
  place-items:center;
  margin:auto auto 13px;
  width:43px;
  height:43px;
  border-radius:50%;
  background:#fff0f2;
  color:#d71b2a
}
.condition-grid h3{
  font-size:.91rem;
  margin-bottom:4px
}
.condition-grid p{
  margin:0;
  color:#728197;
  font-size:.71rem;
  line-height:1.35
}
.journey{
  background:linear-gradient(155deg,#eef6fc,#fff)
}
.journey>div>h2{
  max-width:620px
}
.journey-steps{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  margin-top:48px
}
.journey-steps>div{
  position:relative;
  padding:0 20px
}
.journey-steps>div:not(:last-child):after{
  content:'';
  position:absolute;
  left:53px;
  right:-45%;
  top:20px;
  border-top:1px dashed #89a4bf
}
.journey-steps b{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  background:var(--navy);
  position:relative;
  z-index:1
}
.journey-steps h3{
  margin:17px 0 4px
}
.journey-steps p{
  font-size:.82rem;
  color:#66788d;
  margin:0
}
.blog-home{
  background:#fff
}
.home-blog-grid{
  grid-template-columns:repeat(3,1fr)
}
.home-blog-grid article{
  min-height:215px
}
.appointment-hero{
  color:#fff;
  background:linear-gradient(105deg,#d51d32,#a90721 58%,#0d3e76 58%);
  padding:75px 0
}
.appointment-hero .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px
}
.appointment-hero .eyebrow{
  color:#ffd0d5
}
.appointment-hero h2{
  margin-bottom:9px
}
.appointment-hero p:not(.eyebrow){
  margin:0;
  color:#ffe3e6
}
.appointment-hero>div>div:last-child{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px
}
.cta-phone{
  color:#fff;
  text-decoration:none;
  font-weight:700
}
.article-detail-hero{
  padding:105px 0 80px;
  background:linear-gradient(135deg,#eff7fd,#e0eef9)
}
.article-detail-hero h1{
  max-width:800px
}
.article-detail-hero p:last-child{
  color:#5d7087
}
.breadcrumb{
  display:inline-block;
  margin-bottom:35px;
  color:#0a427e;
  text-decoration:none;
  font-size:.85rem;
  font-weight:700
}
.article-body{
  width:min(770px,calc(100% - 40px));
  padding:76px 0
}
.article-body p{
  color:#52677e;
  font-size:1.04rem
}
.article-lead{
  font:1.42rem/1.55 'Playfair Display'!important;
  color:#18344e!important
}
.medical-note{
  margin:30px 0;
  padding:20px;
  border-radius:6px;
  background:#fff3f4;
  color:#74313b;
  border-left:4px solid #d71b2a;
  font-size:.9rem
}
@media(max-width:850px){
  .heart-hero{
    min-height:900px
  }
  .heart-hero-grid{
    min-height:900px;
    grid-template-columns:1fr
  }
  .hero-content{
    padding:65px 0 0
  }
  .heart-hero h1{
    font-size:3.3rem
  }
  .hero-person{
    min-height:420px
  }
  .hero-person img{
    height:470px;
    right:8%;
    max-width:86%
  }
  .hero-doctor-tag{
    left:0;
    bottom:26px
  }
  .person-halo{
    width:420px;
    height:420px;
    right:-35px
  }
  .trust-strip{
    margin:0
  }
  .trust-grid{
    grid-template-columns:1fr 1fr;
    border-radius:0
  }
  .trust-grid article{
    border-bottom:1px solid #e1eaf3
  }
  .about-home-grid,.why-grid{
    grid-template-columns:1fr;
    gap:42px
  }
  .about-picture img{
    height:400px
  }
  .expertise-grid{
    grid-template-columns:1fr 1fr
  }
  .condition-grid{
    grid-template-columns:repeat(2,1fr)
  }
  .journey-steps{
    grid-template-columns:1fr;
    gap:24px
  }
  .journey-steps>div:not(:last-child):after{
    left:20px;
    right:auto;
    top:42px;
    height:25px;
    border-top:0;
    border-left:1px dashed #89a4bf
  }
  .home-blog-grid{
    grid-template-columns:1fr
  }
  .appointment-hero .container{
    align-items:flex-start;
    flex-direction:column
  }
  .why-section{
    padding:70px 0;
    background:#061f40
  }
  .why-list{
    grid-template-columns:1fr
  }
  .ecg-line{
    bottom:390px
  }
}
