/*==========================================================
  APTAMED CARDIAC SERVICES — optimized
  (same colors & typography, merged duplicates, tidied structure)
==========================================================*/

:root{
  /* Brand */
  --primary:#C8102E;
  --primary-dark:#9F0F26;
  --primary-light:#FDEBED;
  --secondary:#12345A;
  --secondary-dark:#0E2746;
  --accent:#F6F8FB;
  --text:#2A2A2A;
  --text-light:#707782;
  --border:#E8EDF3;
  --white:#ffffff;

  /* Layout */
  --container:1240px;
  --radius-xl:22px;
  --radius-lg:18px;
  --radius-md:14px;
  --radius-sm:10px;

  --shadow-sm:0 6px 18px rgba(0,0,0,.05);
  --shadow-md:0 12px 35px rgba(0,0,0,.08);
  --shadow-lg:0 20px 60px rgba(0,0,0,.10);
  --transition:.35s ease;
}

/************************************************
GLOBAL
************************************************/
.acc-page{ background:#fff; color:var(--text); font-family:inherit; overflow-x:hidden; position:relative; }
.acc-page *{ box-sizing:border-box; }
.acc-page img{ max-width:100%; display:block; height:auto; object-fit:cover; }

.acc-container{ width:100%; max-width:var(--container); margin:auto; padding:0 24px; }

/* merged: base rule + overflow + decorative dot-grid pseudo-element (was declared twice) */
.acc-section{
  padding:55px 0;
  position:relative;
  overflow:hidden;
}
.acc-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.015;
  background-image:
    radial-gradient(circle at 20% 30%, var(--primary) 1px, transparent 1px),
    radial-gradient(circle at 70% 80%, var(--secondary) 1px, transparent 1px);
  background-size:120px 120px;
}
.acc-section--white{ background:#fff; }
.acc-section--cream{ background:#fafafa; }
.acc-section--navy{ background:#12345A; color:#fff; }

/************************************************
TYPOGRAPHY
************************************************/
.acc-eyebrow{
  color:var(--primary);
  font-size:13px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  display:flex;
  align-items:center;
  margin-bottom:20px;
}
.acc-eyebrow::before{ content:""; width:38px; height:2px; margin-right:12px; background:var(--primary); }

.acc-h2{ font-size:clamp(34px,4vw,48px); line-height:1.15; font-weight:700; color:var(--secondary); margin-bottom:20px; }
.acc-lede{ max-width:650px; font-size:17px; line-height:1.8; color:var(--text-light); }

/************************************************
BUTTONS
************************************************/
.acc-btn{
  position:relative;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:15px 34px;
  border-radius:999px;
  text-decoration:none;
  font-weight:600;
  transition:var(--transition);
  backface-visibility:hidden;
  -webkit-font-smoothing:antialiased;
}
.acc-btn::before{
  content:"";
  position:absolute;
  top:0; left:-120%;
  width:120%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  transition:.8s;
}
.acc-btn:hover::before{ left:120%; }

.acc-btn--primary{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:#fff;
  box-shadow:0 12px 30px rgba(200,16,46,.28);
}
.acc-btn--primary:hover{ transform:translateY(-4px); box-shadow:0 20px 40px rgba(200,16,46,.35); }

.acc-btn--ghost{ border:2px solid var(--primary); color:var(--primary); background:#fff; }
.acc-btn--ghost:hover{ background:var(--primary); color:#fff; }

/************************************************
HERO
************************************************/
.acc-hero{
  position:relative;
  isolation:isolate;
  padding:100px 0 40px;
  background:
    radial-gradient(circle at top right, rgba(200,16,46,.12), transparent 40%),
    linear-gradient(180deg,#ffffff,#f8fafc);
}
.acc-hero::before{
  content:"";
  position:absolute;
  right:-120px; top:-120px;
  width:480px; height:480px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(200,16,46,.10), transparent);
  z-index:0;
}
.acc-hero::after{
  content:"";
  position:absolute;
  width:700px; height:700px;
  border-radius:50%;
  right:-320px; bottom:-320px;
  background:radial-gradient(circle, rgba(200,16,46,.08), transparent 70%);
  animation:heroFloat 10s ease-in-out infinite;
  z-index:0;
}
.acc-hero .acc-container{ position:relative; z-index:2; }
@keyframes heroFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-20px); } }

.acc-hero__grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:center; }
.acc-hero__title{ font-size:clamp(42px,6vw,68px); font-weight:800; line-height:1.08; margin-bottom:24px; color:var(--secondary); }
.acc-hero__title em{ font-style:normal; color:var(--primary); }
.acc-hero__sub{ font-size:18px; line-height:1.9; color:var(--text-light); max-width:580px; margin-bottom:38px; }
.acc-hero__ctas{ display:flex; flex-wrap:wrap; gap:16px; margin-bottom:45px; }
.acc-hero__vitals{ display:flex; gap:40px; flex-wrap:wrap; }

.acc-vital{ position:relative; }
.acc-vital::before{ content:""; position:absolute; left:-16px; top:8px; width:3px; height:36px; border-radius:50px; background:var(--primary); }
.acc-vital .num{ display:block; font-size:34px; font-weight:700; color:var(--secondary); }
.acc-vital .lab{ color:var(--text-light); font-size:13px; margin-top:5px; }

/************************************************
DOCTOR CARD
************************************************/
.acc-doc-card{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow-lg);
  transition:.5s;
  max-width:460px;
  margin-left:auto;
  backface-visibility:hidden;
  -webkit-font-smoothing:antialiased;
}
.acc-doc-card:hover{ transform:translateY(-10px) rotate(-1deg); }
.acc-doc-card img{ width:100%; aspect-ratio:4/5; object-fit:cover; transition:transform .8s; }
.acc-doc-card:hover img{ transform:scale(1.05); }

.acc-doc-card__badge{
  position:absolute;
  left:20px; right:20px; bottom:20px;
  background:rgba(255,255,255,.95);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  border-radius:16px;
  padding:18px;
  box-shadow:var(--shadow-md);
}
.acc-doc-card__badge .name{ font-size:22px; font-weight:700; color:var(--secondary); }
.acc-doc-card__badge .role{ color:var(--primary); font-weight:600; margin-top:4px; }
.acc-doc-card__badge .place{ color:var(--text-light); font-size:14px; }

/************************************************
DOCTOR PROFILE
************************************************/
.acc-profile{ position:relative; z-index:2; display:grid; grid-template-columns:420px 1fr; gap:60px; align-items:center; }
.acc-profile__photo{ border-radius:22px; overflow:hidden; box-shadow:var(--shadow-lg); }
.acc-profile__photo img{ width:100%; }
.acc-profile__quote{ font-size:28px; line-height:1.6; color:var(--secondary); font-weight:600; margin-bottom:30px; }

.acc-cred-list{ list-style:none; padding:0; margin:35px 0; }
.acc-cred-list li{ display:flex; gap:15px; margin-bottom:22px; }
.acc-cred-list svg{ width:22px; height:22px; color:var(--primary); flex-shrink:0; }

.acc-spine{ position:absolute; top:0; bottom:0; left:50%; width:2px; transform:translateX(-50%); pointer-events:none; z-index:0; }
.acc-spine svg{ width:2px; height:100%; display:block; }

/************************************************
FLOATING BUTTONS  (merged — was two conflicting blocks)
************************************************/
.acc-floating{
  position:fixed;
  right:24px; bottom:24px;
  display:flex;
  flex-direction:column;
  gap:12px;
  z-index:999;
  opacity:0;
  transform:translateY(20px);
  pointer-events:none;
  transition:opacity .3s ease, transform .3s ease;
}
.acc-floating.show{ opacity:1; transform:translateY(0); pointer-events:auto; }

.acc-fab{
  width:58px; height:58px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  text-decoration:none;
  box-shadow:var(--shadow-md);
  transition:transform .35s ease, box-shadow .35s ease;
  animation:floating 3s ease-in-out infinite;
  backface-visibility:hidden;
  -webkit-font-smoothing:antialiased;
}
.acc-fab:nth-child(2){ animation-delay:.6s; }
.acc-fab:hover{ animation-play-state:paused; transform:scale(1.08); }
.acc-fab--call{ background:var(--primary); }
.acc-fab--wa{ background:#25D366; }
@keyframes floating{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-6px); } }

/*==========================================================
SERVICES
==========================================================*/
.acc-services{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:50px; }

.acc-card{
  position:relative;
  overflow:hidden;
  background:#fff;
  border-radius:20px;
  padding:40px 34px;
  box-shadow:0 10px 30px rgba(0,0,0,.05);
  border:1px solid #edf1f5;
  transition:transform .4s, box-shadow .4s, border-color .4s;
  backface-visibility:hidden;
  -webkit-font-smoothing:antialiased;
}
.acc-card::before{
  content:"";
  position:absolute;
  left:0; top:0;
  width:5px; height:100%;
  background:linear-gradient(180deg,var(--primary),var(--primary-dark));
  transition:.35s;
}
.acc-card::after{
  content:"";
  position:absolute;
  left:0; bottom:0;
  height:4px; width:0;
  background:linear-gradient(90deg,var(--primary),var(--primary-dark));
  transition:.4s;
}
.acc-card:hover{ transform:translateY(-10px); box-shadow:0 18px 45px rgba(0,0,0,.12); border-color:rgba(200,16,46,.15); }
.acc-card:hover::after{ width:100%; }

.acc-card__icon,
.acc-pillar__icon{
  position:relative;
  width:72px; height:72px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--primary-light);
  color:var(--primary);
  margin:0 auto 25px;
  transition:.35s;
}
.acc-card__icon::after,
.acc-pillar__icon::after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:50%;
  border:2px solid rgba(200,16,46,.18);
}
.acc-card:hover .acc-card__icon::after,
.acc-pillar:hover .acc-pillar__icon::after{
  animation:pulse 1.4s;
}
@keyframes pulse{ 0%{ transform:scale(.9); opacity:1; } 70%{ transform:scale(1.4); opacity:0; } 100%{ opacity:0; } }

.acc-card:hover .acc-card__icon{ background:var(--primary); color:#fff; transform:rotate(8deg); }
.acc-card__icon svg{ width:34px; height:34px; }

.acc-card h3{ font-size:24px; margin-bottom:15px; font-weight:700; color:var(--secondary); }
.acc-card p{ font-size:15px; line-height:1.8; color:var(--text-light); }

/************************************************
WHY CHOOSE
************************************************/
.acc-pillars{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; margin-top:55px; }

.acc-pillar{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  padding:40px 28px;
  text-align:center;
  transition:.35s;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  backface-visibility:hidden;
  -webkit-font-smoothing:antialiased;
}
.acc-pillar:hover{ background:rgba(255,255,255,.12); transform:translateY(-8px); }

.acc-pillar__icon{ width:82px; height:82px; margin:0 auto 22px; background:#fff; }
.acc-pillar__icon svg{ width:34px; height:34px; }
.acc-pillar h4{ font-size:22px; margin-bottom:15px; color:#fff; }
.acc-pillar p{ color:rgba(255,255,255,.8); line-height:1.7; font-size:15px; }

/************************************************
APOLLO SECTION
************************************************/
.acc-affil{
  background:#fff;
  border-radius:24px;
  padding:35px;
  display:flex;
  align-items:center;
  gap:25px;
  box-shadow:0 15px 35px rgba(0,0,0,.06);
}
.acc-affil__mark{
  width:75px; height:75px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:#fff;
  font-size:32px;
  font-weight:700;
}
.acc-affil__txt strong{ display:block; font-size:24px; margin-bottom:8px; color:var(--secondary); }
.acc-affil__txt span{ color:var(--text-light); line-height:1.8; }

/************************************************
HEART HEALTH
************************************************/
.acc-info{ display:grid; grid-template-columns:repeat(2,1fr); gap:45px; margin-top:45px; }
.acc-info>div{ background:#fff; padding:35px; border-radius:22px; box-shadow:0 12px 30px rgba(0,0,0,.05); }
.acc-info h3{ display:flex; align-items:center; gap:14px; margin-bottom:20px; font-size:25px; color:var(--secondary); }
.acc-info svg{ width:24px; height:24px; color:var(--primary); }
.acc-info p{ line-height:1.9; color:var(--text-light); }
.acc-info ul{ margin-top:18px; padding-left:22px; }
.acc-info li{ margin-bottom:12px; line-height:1.7; }

/************************************************
FAQ
************************************************/
.acc-faq{ margin-top:45px; background:#fff; border-radius:22px; box-shadow:0 12px 35px rgba(0,0,0,.05); overflow:hidden; }
.acc-faq__item{ border-bottom:1px solid #edf1f5; transition:.35s; }
.acc-faq__item:last-child{ border-bottom:none; }
.acc-faq__item.is-open{ background:#fff8f9; }
.acc-faq__item.is-open .acc-faq__q{ color:var(--primary); }

.acc-faq__q{
  width:100%;
  padding:26px 30px;
  background:none;
  border:none;
  font-size:18px;
  font-weight:600;
  display:flex;
  justify-content:space-between;
  align-items:center;
  cursor:pointer;
  transition:.3s;
}
.acc-faq__q:hover{ color:var(--primary); }

.acc-faq__a{ padding:0 30px; max-height:0; overflow:hidden; transition:max-height .4s ease, padding .35s ease; }
.acc-faq__item.is-open .acc-faq__a{ padding-bottom:28px; }
.acc-faq__a p{ line-height:1.8; color:var(--text-light); }

/************************************************
TESTIMONIALS
************************************************/
.acc-testi{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:50px; }

.acc-testi__card{
  position:relative;
  overflow:hidden;
  background:#fff;
  padding:35px;
  border-radius:22px;
  box-shadow:0 15px 35px rgba(0,0,0,.06);
  transition:.35s;
}
.acc-testi__card::before{
  content:"★★★★★";
  color:#FFC107;
  letter-spacing:3px;
  display:block;
  margin-bottom:18px;
  font-size:18px;
}
.acc-testi__card::after{
  content:"";
  position:absolute;
  left:0; bottom:0;
  height:5px; width:100%;
  background:linear-gradient(90deg,var(--primary),var(--primary-dark));
}
.acc-testi__card:hover{ transform:translateY(-8px); }
.acc-testi__card p{ font-size:15px; line-height:1.9; margin-bottom:25px; }
.acc-testi__card .who{ font-weight:700; color:var(--secondary); }

/************************************************
CTA
************************************************/
.acc-cta{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#8B0017,#C8102E,#D91E3E);
  border-radius:30px;
  padding:70px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:50px;
  box-shadow:0 30px 70px rgba(200,16,46,.25);
}
.acc-cta::before{
  content:"";
  position:absolute;
  right:-120px; top:-120px;
  width:380px; height:380px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  pointer-events:none;
  z-index:0;
}
.acc-cta>*{ position:relative; z-index:2; }
.acc-cta h2{ font-size:46px; font-weight:700; color:#fff; margin-bottom:15px; }
.acc-cta p{ color:rgba(255,255,255,.85); font-size:17px; line-height:1.8; }
.acc-cta .acc-btn--primary{ background:#fff; color:var(--primary); }
.acc-cta .acc-btn--ghost{ border-color:#fff; color:#fff; background:transparent; }
.acc-cta__actions{ display:flex; gap:18px; flex-wrap:wrap; }

/************************************************
CONTACT
************************************************/
.acc-locate{ display:grid; grid-template-columns:1fr 1fr; gap:35px; margin-top:55px; }

.acc-locate__map{ overflow:hidden; border-radius:22px; box-shadow:0 15px 40px rgba(0,0,0,.08); transition:.5s; }
.acc-locate__map:hover{ transform:translateY(-8px); box-shadow:0 25px 60px rgba(0,0,0,.12); }
.acc-locate__map iframe{ width:100%; height:100%; min-height:420px; border:0; }

.acc-locate__details{ display:flex; flex-direction:column; justify-content:center; gap:25px; }
.acc-locate__row{ display:flex; gap:18px; align-items:flex-start; padding:18px; border-radius:18px; transition:.3s; }
.acc-locate__row:hover{ background:#fafafa; }
.acc-locate__row svg{ width:26px; height:26px; color:var(--primary); flex-shrink:0; }
.acc-locate__row strong{ display:block; font-size:18px; color:var(--secondary); margin-bottom:4px; }
.acc-locate__row span{ color:var(--text-light); line-height:1.7; }

/************************************************
SCROLL REVEAL / HEARTBEAT
************************************************/
.acc-reveal{ opacity:0; transform:translateY(40px); transition:opacity .8s ease, transform .8s ease; }
.acc-reveal.is-visible{ opacity:1; transform:none; }

.acc-heartbeat{ animation:heartbeat 1.8s infinite; }
@keyframes heartbeat{
  0%{ transform:scale(1); }
  15%{ transform:scale(1.08); }
  30%{ transform:scale(.96); }
  45%{ transform:scale(1.08); }
  100%{ transform:scale(1); }
}

/************************************************
SCROLLBAR
************************************************/
::-webkit-scrollbar{ width:10px; }
::-webkit-scrollbar-thumb{ background:var(--primary); border-radius:20px; }
::-webkit-scrollbar-track{ background:#f3f4f6; }

/*==========================================================
RESPONSIVE (consolidated — each breakpoint now appears once)
==========================================================*/
@media(max-width:1200px){
  .acc-pillars{ grid-template-columns:repeat(2,1fr); }
}

@media(max-width:992px){
  .acc-hero__grid{ grid-template-columns:1fr; }
  .acc-profile{ grid-template-columns:1fr; }
  .acc-profile__photo{ max-width:420px; margin:auto; }
  .acc-services{ grid-template-columns:repeat(2,1fr); }
  .acc-info{ grid-template-columns:1fr; }
  .acc-locate{ grid-template-columns:1fr; }
  .acc-cta{ flex-direction:column; text-align:center; padding:50px 40px; }
  .acc-cta__actions{ width:100%; align-items:center; }
}

@media(max-width:768px){
  .acc-section{ padding:65px 0; }
  .acc-hero{ padding:80px 0; text-align:center; }
  .acc-hero__title{ font-size:42px; }
  .acc-hero__sub{ margin:auto auto 30px; }
  .acc-hero__ctas{ justify-content:center; }
  .acc-hero__vitals{ gap:20px; justify-content:center; }
  .acc-services{ grid-template-columns:1fr; }
  .acc-pillars{ grid-template-columns:1fr; }
  .acc-testi{ grid-template-columns:1fr; }
  .acc-doc-card{ max-width:380px; margin:auto; }
  .acc-profile__photo{ max-width:340px; margin:auto; }
  .acc-cta{ padding:40px 25px; border-radius:20px; }
  .acc-cta h2{ font-size:34px; }
  .acc-btn{ max-width:320px; width:100%; margin:auto; justify-content:center; }
  .acc-affil{ flex-direction:column; text-align:center; }
  .acc-floating{ display:none; }
}

@media(max-width:480px){
  .acc-container{ padding:0 18px; }
  .acc-h2{ font-size:30px; }
  .acc-card{ padding:28px; }
  .acc-card h3{ font-size:20px; }
  .acc-info>div{ padding:28px; }
  .acc-locate__map iframe{ min-height:300px; }
}