/* ==========================================================================
   MURUGAN CLINIC — Dr. Venkatesh M, Consultant Cardiologist
   Design tokens
   Palette:
     --cream        #FFF6EC  warm ivory base
     --ink          #7A2A14  warm maroon ink (no black anywhere on this site)
     --ember        #E85D0B  primary brand orange
     --coronary     #CE3B1E  deep red accent
     --marigold     #F3A63D  gold accent
     --peach        #FFE3C7  soft surface / card tint
   Type:
     Display : "Fraunces"          (headlines — warm editorial serif)
     Body    : "Plus Jakarta Sans" (body copy — humanist sans)
     Mono    : "IBM Plex Mono"     (stats, timings, specs — monitor readout feel)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{
  --cream:   #FFF6EC;
  --cream-2: #FFF1E2;
  --ink:     #7A2A14;
  --ink-70:  rgba(122,42,20,.76);
  --ink-50:  rgba(122,42,20,.55);
  --ink-30:  rgba(122,42,20,.32);
  --ink-12:  rgba(122,42,20,.14);
  --ember:   #E85D0B;
  --ember-2: #FF7A2E;
  --coronary:#CE3B1E;
  --marigold:#F3A63D;
  --peach:   #FFE3C7;
  --peach-2: #FFD8AE;
  --paper:   #FFFDFA;
  --maroon-deep: #6E1F10;
  --maroon-mid:  #9A3216;

  --grad-brand: linear-gradient(115deg, var(--marigold) 0%, var(--ember) 45%, var(--coronary) 100%);
  --grad-soft:  linear-gradient(180deg, rgba(255,246,236,0) 0%, var(--peach) 100%);
  --grad-deep:  linear-gradient(145deg, var(--maroon-mid) 0%, var(--maroon-deep) 65%, #591808 100%);

  --shadow-sm: 0 2px 10px rgba(122,42,20,.08);
  --shadow-md: 0 12px 32px rgba(122,42,20,.12);
  --shadow-lg: 0 24px 60px rgba(122,42,20,.16);
  --shadow-glow: 0 0 0 0 rgba(232,93,11,.45);

  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --radius-pill: 999px;

  --font-display: 'Fraunces', 'Georgia', serif;
  --font-body: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, monospace;

  --ease: cubic-bezier(.22,.9,.25,1);
  --container: 1180px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4{ font-family:var(--font-display); margin:0; color:var(--ink); letter-spacing:-.01em; }
p{ margin:0; }

:focus-visible{
  outline:3px solid var(--ember);
  outline-offset:3px;
  border-radius:4px;
}

.wrap{
  max-width:var(--container);
  margin:0 auto;
  padding:0 32px;
}
@media (max-width:640px){ .wrap{ padding:0 20px; } }

.eyebrow{
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--coronary);
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:500;
}
.eyebrow::before{
  content:'';
  width:22px; height:1.5px;
  /* background:var(--coronary); */
  background: white;
  display:inline-block;
}

.section{ padding:104px 0; position:relative; }
.section--tight{ padding:72px 0; }
@media (max-width:768px){
  .section{ padding:68px 0; }
  .section--tight{ padding:48px 0; }
}

.section-head{ max-width:640px; margin-bottom:56px; }
.section-head h2{ font-size:clamp(30px,4vw,44px); font-weight:600; margin-top:14px; line-height:1.12; }
.section-head p{ color:var(--ink-70); font-size:17px; margin-top:16px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 30px;
  border-radius:var(--radius-pill);
  font-weight:600; font-size:15px;
  border:1.5px solid transparent;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .3s var(--ease), color .3s var(--ease);
  white-space:nowrap;
}
.btn-primary{
  background:var(--grad-brand);
  color:var(--paper);
  box-shadow:0 10px 24px -8px rgba(206,59,30,.55), var(--shadow-glow);
  animation:pulseGlow 3.4s ease-in-out infinite;
}
.btn-primary:hover{ transform:translateY(-2px) scale(1.015); box-shadow:0 16px 34px -8px rgba(206,59,30,.6); }
@keyframes pulseGlow{
  0%,100%{ box-shadow:0 10px 24px -8px rgba(206,59,30,.5), 0 0 0 0 rgba(232,93,11,.35); }
  55%{ box-shadow:0 10px 24px -8px rgba(206,59,30,.55), 0 0 0 9px rgba(232,93,11,0); }
}
.btn-ghost{
  background:transparent; color:var(--ink); border-color:var(--ink-12);
}
.btn-ghost:hover{ border-color:var(--ember); color:var(--ember); }
.btn-light{
  background:var(--paper); color:var(--ink); box-shadow:var(--shadow-sm);
}
.btn-light:hover{ transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-sm{ padding:11px 20px; font-size:13.5px; }
.btn svg{ width:16px; height:16px; flex-shrink:0; }

/* ---------- Nav ---------- */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(255,246,236,.82);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid rgba(58,20,13,.07);
}
.nav{ display:flex; align-items:center; justify-content:space-between; padding:14px 0; }
.brand{ display:flex; align-items:center; gap:12px; }
.brand img{ height:46px; width:auto; }
.brand-text{ display:flex; flex-direction:column; line-height:1.15; }
.brand-text strong{ font-family:var(--font-display); font-size:18px; font-weight:600; color:var(--ink); }
.brand-text span{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--coronary); }
.nav-links{ display:flex; align-items:center; gap:2px; }
.nav-links a{
  padding:10px 16px; font-size:14.5px; font-weight:bold; color:var(--ink-70);
  border-radius:var(--radius-pill); transition:.25s var(--ease);
  position:relative;
}
.nav-links a:hover, .nav-links a.active{ color:var(--ink); background:var(--peach); }
.nav-cta{ display:flex; align-items:center; gap:14px; }
.nav-toggle{
  display:none; background:none; border:none; padding:8px; color:var(--ink);
}
.nav-toggle svg{ width:26px; height:26px; }
.nav-book-mobile{ display:none; }

@media (max-width:1180px){
  .nav-links{
    position:fixed; inset:70px 16px auto 16px; background:var(--paper);
    flex-direction:column; align-items:stretch; padding:12px; border-radius:var(--radius-md);
    box-shadow:var(--shadow-lg); gap:2px;
    transform:translateY(-14px); opacity:0; pointer-events:none; transition:.3s var(--ease);
  }
  .nav-links.open{ transform:translateY(0); opacity:1; pointer-events:auto; }
  .nav-links a{ padding:13px 16px; }
  .nav-toggle{ display:inline-flex; }
  .nav-cta-book{ display:none; }
  .nav-book-mobile{ display:flex; margin:10px 4px 4px; }
}
@media (max-width:540px){
  .brand-text span{ display:none; }
  .brand img{ height:38px; }
}

/* ---------- ECG Pulse Divider (signature element) ---------- */
.pulse-divider{
  width:100%; height:64px; overflow:hidden; position:relative;
  display:flex; align-items:center; justify-content:center;
}
.pulse-divider svg{ width:100%; height:100%; max-width:1180px; }
.pulse-line{
  fill:none; stroke:url(#pulseGrad); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:1400; stroke-dashoffset:1400;
  transition:stroke-dashoffset 1.6s var(--ease);
}
.pulse-divider.in-view .pulse-line{ stroke-dashoffset:0; }
.pulse-dot{ fill:var(--coronary); opacity:0; transform-origin:center; }
.pulse-divider.in-view .pulse-dot{ opacity:1; animation:pop .5s var(--ease) 1.3s backwards, beat 2.2s ease-in-out 1.9s infinite; }
@keyframes pop{ from{ transform:scale(0);} to{ transform:scale(1);} }
@keyframes beat{ 0%,100%{ transform:scale(1);} 50%{ transform:scale(1.6);} }

/* ---------- Hero ---------- */
.hero{
  position:relative;
  padding:64px 0 40px;
  overflow:hidden;
}
.hero::before{
  content:'';
  position:absolute; top:-220px; right:-180px; width:620px; height:620px;
  background:radial-gradient(circle, rgba(243,166,61,.35), rgba(232,93,11,0) 68%);
  border-radius:50%; pointer-events:none;
}
.hero::after{
  content:'';
  position:absolute; bottom:-260px; left:-200px; width:560px; height:560px;
  background:radial-gradient(circle, rgba(206,59,30,.16), rgba(206,59,30,0) 70%);
  border-radius:50%; pointer-events:none;
}
.hero-grid{
  display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center;
  position:relative; z-index:1;
}
.hero-copy h1{
  font-size:clamp(38px,5vw,64px); font-weight:600; line-height:1.05; margin-top:18px;
}
.hero-copy h1 em{ font-style:italic; font-weight:500; color:var(--coronary); }
.hero-copy p.lead{ margin-top:22px; font-size:18px; color:var(--ink-70); max-width:520px; }
.hero-cta{ display:flex; align-items:center; gap:18px; margin-top:34px; flex-wrap:wrap; }
.hero-cta .play-inline{ display:flex; align-items:center; gap:12px; font-weight:600; font-size:14.5px; }
.play-dot{
  width:44px; height:44px; border-radius:50%; background:var(--paper); box-shadow:var(--shadow-md);
  display:flex; align-items:center; justify-content:center; color:var(--coronary); flex-shrink:0;
  transition:.3s var(--ease);
}
.play-inline:hover .play-dot{ background:var(--coronary); color:var(--paper); transform:scale(1.06); }
.play-dot svg{ width:16px; height:16px; margin-left:2px; }

.hero-stats{ display:flex; gap:34px; margin-top:48px; flex-wrap:wrap; }
.hero-stats .stat b{ font-family:var(--font-mono); font-size:30px; font-weight:600; color:var(--ink); display:block; }
.hero-stats .stat span{ font-size:12.5px; color:var(--ink-50); text-transform:uppercase; letter-spacing:.06em; }

.hero-visual{ position:relative; }
.hero-frame{
  position:relative; border-radius:32px; overflow:hidden; aspect-ratio:4/4.6;
  background:var(--grad-brand); box-shadow:var(--shadow-lg);
  display:flex; align-items:flex-end; padding:0;
}
.hero-frame .portrait-silhouette{
  width:100%; height:100%; object-fit:cover; mix-blend-mode:normal;
}
.hero-frame .frame-tag{
  position:absolute; left:22px; bottom:22px; background:rgba(58,20,13,.55);
  backdrop-filter:blur(8px); color:var(--paper); padding:12px 18px; border-radius:var(--radius-md);
  font-size:13.5px; font-family:var(--font-mono);
}
.hero-badge{
  position:absolute; top:-18px; left:-24px; background:var(--paper); border-radius:var(--radius-md);
  box-shadow:var(--shadow-md); padding:16px 20px; display:flex; align-items:center; gap:12px;
  animation:floaty 5s ease-in-out infinite;
}
.hero-badge svg{ width:28px; height:28px; color:var(--coronary); flex-shrink:0; }
.hero-badge b{ display:block; font-size:15px; }
.hero-badge span{ font-size:12px; color:var(--ink-50); }
@keyframes floaty{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-10px);} }

.hero-ecg{ margin-top:52px; }
.hero-ecg svg{ width:100%; height:70px; }
.ecg-draw{
  fill:none; stroke:var(--coronary); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:2000; stroke-dashoffset:2000;
  animation:drawEcg 2.6s var(--ease) .4s forwards, glideEcg 5s linear 3.2s infinite;
}
@keyframes drawEcg{ to{ stroke-dashoffset:0; } }
@keyframes glideEcg{ 0%{ transform:translateX(0);} 100%{ transform:translateX(-33.33%);} }

@media (max-width:900px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-visual{ order:-1; max-width:340px; margin:0 auto; }
  .hero-badge{ display:none; }
}

/* ---------- Cards / grids ---------- */
.grid{ display:grid; gap:26px; }
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-2{ grid-template-columns:repeat(2,1fr); }
.grid-4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:980px){ .grid-3,.grid-4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .grid-3,.grid-4,.grid-2{ grid-template-columns:1fr; } }

.card{
  background:var(--paper); border-radius:var(--radius-lg); padding:32px;
  box-shadow:var(--shadow-sm); border:1px solid rgba(58,20,13,.05);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
}
.card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-md); border-color:rgba(232,93,11,.18); }
.card .icon-badge{
  width:52px; height:52px; border-radius:16px; background:var(--peach);
  display:flex; align-items:center; justify-content:center; color:var(--coronary); margin-bottom:20px;
}
.card .icon-badge svg{ width:26px; height:26px; }
.card h3{ font-size:19px; font-weight:600; margin-bottom:10px; }
.card p{ color:var(--ink-70); font-size:14.5px; }

/* ---------- Stats strip ---------- */
.stats-strip{
  background:var(--grad-deep); color:var(--cream); border-radius:var(--radius-lg);
  padding:44px 40px; display:grid; grid-template-columns:repeat(4,1fr); gap:30px;
  position:relative; overflow:hidden;
}
.stats-strip::before{
  content:''; position:absolute; inset:0; background:var(--grad-brand); opacity:.12;
}
.stats-strip .stat{ position:relative; z-index:1; text-align:center; }
.stats-strip .stat b{ font-family:var(--font-mono); font-size:38px; font-weight:600; display:block; background:var(--grad-brand); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stats-strip .stat span{ font-size:12.5px; letter-spacing:.05em; text-transform:uppercase; color:rgba(255,246,236,.62); }
@media (max-width:768px){ .stats-strip{ grid-template-columns:repeat(2,1fr); } }

/* ---------- Achievement / award list ---------- */
.award-row{
  display:flex; gap:22px; padding:26px 0; border-bottom:1px solid var(--ink-12); align-items:flex-start;
}
.award-row:last-child{ border-bottom:none; }
.award-row .yr{ font-family:var(--font-mono); font-size:14px; color:var(--coronary); min-width:64px; padding-top:3px; }
.award-row h4{ font-family:var(--font-body); font-weight:700; font-size:16.5px; }
.award-row p{ color:var(--ink-70); font-size:14.5px; margin-top:6px; }

/* ---------- Timeline (about page — genuine chronological sequence) ---------- */
.timeline{ position:relative; padding-left:36px; }
.timeline::before{
  content:''; position:absolute; left:6px; top:6px; bottom:6px; width:2px;
  background:linear-gradient(var(--marigold),var(--coronary));
}
.timeline-item{ position:relative; padding-bottom:44px; }
.timeline-item:last-child{ padding-bottom:0; }
.timeline-item::before{
  content:''; position:absolute; left:-36px; top:4px; width:14px; height:14px; border-radius:50%;
  background:var(--paper); border:3px solid var(--coronary);
}
.timeline-item .yr{ font-family:var(--font-mono); font-size:13px; color:var(--coronary); font-weight:500; }
.timeline-item h4{ font-family:var(--font-body); font-weight:700; font-size:17px; margin-top:6px; }
.timeline-item p{ color:var(--ink-70); font-size:14.5px; margin-top:6px; max-width:560px; }

/* ---------- Video module ---------- */
.video-hero{
  position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:16/8.6;
  background:linear-gradient(120deg,#6E1F10,#9A3216 55%, #C4491F); box-shadow:var(--shadow-lg);
  display:flex; align-items:center; justify-content:center; cursor:pointer;
}
.video-hero video, .video-card video{ width:100%; height:100%; object-fit:cover; display:block; }
.video-hero .play-btn, .video-card .play-btn{
  position:absolute; width:76px; height:76px; border-radius:50%; background:rgba(255,246,236,.94);
  display:flex; align-items:center; justify-content:center; color:var(--coronary);
  box-shadow:0 10px 30px rgba(0,0,0,.25); transition:.3s var(--ease); z-index:2;
}
.video-hero:hover .play-btn{ transform:scale(1.08); }
.video-hero .play-btn svg, .video-card .play-btn svg{ width:26px; height:26px; margin-left:3px; }
.video-card .play-btn{ width:54px; height:54px; }
.video-card .play-btn svg{ width:18px; height:18px; }
.video-hero .vh-tag{
  position:absolute; left:26px; bottom:26px; z-index:2; color:var(--cream); max-width:70%;
}
.video-hero .vh-tag .eyebrow{ color:var(--marigold); }
.video-hero .vh-tag .eyebrow::before{ background:var(--marigold); }
.video-hero .vh-tag h3{ color:var(--cream); font-size:24px; margin-top:8px; }

.video-card{ position:relative; border-radius:var(--radius-md); overflow:hidden; aspect-ratio:16/10; background:linear-gradient(135deg,#8a2a17,#C4491F); box-shadow:var(--shadow-sm); }
.video-card figcaption{
  position:absolute; left:0; right:0; bottom:0; padding:16px; z-index:2;
  background:linear-gradient(0deg, rgba(110,31,16,.85), rgba(110,31,16,0));
  color:var(--cream);
}
.video-card figcaption b{ font-size:14.5px; display:block; }
.video-card figcaption span{ font-size:12px; color:rgba(255,246,236,.7); font-family:var(--font-mono); }
figure{ margin:0; }

.filter-tabs{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px; }
.filter-tabs button{
  padding:10px 20px; border-radius:var(--radius-pill); border:1.5px solid var(--ink-12);
  background:var(--paper); font-size:13.5px; font-weight:600; color:var(--ink-70); transition:.25s var(--ease);
}
.filter-tabs button.active, .filter-tabs button:hover{ background:var(--grad-deep); border-color:var(--maroon-deep); color:var(--cream); }

/* ---------- Gallery ---------- */
.gallery-grid{ column-count:3; column-gap:20px; }
.gallery-item{
  break-inside:avoid; margin-bottom:20px; border-radius:var(--radius-md); overflow:hidden;
  box-shadow:var(--shadow-sm); position:relative; cursor:pointer;
}
.gallery-item img{ width:100%; display:block; transition:transform .5s var(--ease); }
.gallery-item:hover img{ transform:scale(1.06); }
.gallery-item .tag{
  position:absolute; top:12px; left:12px; background:rgba(58,20,13,.6); color:var(--cream);
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase;
  padding:5px 10px; border-radius:var(--radius-pill); backdrop-filter:blur(6px);
}
@media (max-width:900px){ .gallery-grid{ column-count:2; } }
@media (max-width:560px){ .gallery-grid{ column-count:1; } }

/* ---------- Equipment ---------- */
.equip-row{
  display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center;
  padding:70px 0; border-bottom:1px solid var(--ink-12);
}
.equip-row:last-child{ border-bottom:none; }
.equip-row.reverse{ direction:rtl; }
.equip-row.reverse > *{ direction:ltr; }
.equip-visual{
  aspect-ratio:1/1; border-radius:var(--radius-lg); background:var(--peach);
  display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;
}
.equip-visual svg{ width:62%; height:62%; color:var(--coronary); position:relative; z-index:1; }
.equip-visual .grid-bg{ position:absolute; inset:0; opacity:.35; }
.equip-visual img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.equip-visual::after{ content:''; position:absolute; inset:0; background:rgba(255,227,199,.35); }
.equip-visual .icon-disc{
  position:relative; z-index:1; width:118px; height:118px; border-radius:50%; background:var(--paper);
  display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-md);
}
.equip-visual .icon-disc svg{ width:52%; height:52%; }
.equip-index{ font-family:var(--font-mono); color:var(--coronary); font-size:13px; letter-spacing:.1em; }
.equip-copy h3{ font-size:28px; margin-top:10px; font-weight:600; }
.equip-copy p{ color:var(--ink-70); margin-top:14px; font-size:15.5px; }
.equip-specs{ display:flex; gap:26px; margin-top:24px; flex-wrap:wrap; }
.equip-specs div{ font-family:var(--font-mono); font-size:12.5px; color:var(--ink-50); }
.equip-specs div b{ display:block; color:var(--ink); font-size:16px; font-weight:600; }
@media (max-width:860px){
  .equip-row, .equip-row.reverse{ grid-template-columns:1fr; direction:ltr; padding:48px 0; }
  .equip-visual{ max-width:320px; margin:0 auto; }
}

/* ---------- Knowledge / accordion ---------- */
.accordion-item{
  border-bottom:1px solid var(--ink-12); padding:26px 0;
}
.accordion-item summary{
  display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer;
  list-style:none; font-family:var(--font-display); font-size:19px; font-weight:500;
}
.accordion-item summary::-webkit-details-marker{ display:none; }
.accordion-item .plus{
  width:34px; height:34px; border-radius:50%; background:var(--peach); color:var(--coronary);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:.3s var(--ease);
  position:relative;
}
.accordion-item .plus::before, .accordion-item .plus::after{
  content:''; position:absolute; background:currentColor; border-radius:2px;
}
.accordion-item .plus::before{ width:14px; height:2px; }
.accordion-item .plus::after{ width:2px; height:14px; transition:.3s var(--ease); }
.accordion-item[open] .plus{ background:var(--coronary); color:var(--paper); }
.accordion-item[open] .plus::after{ transform:rotate(90deg); opacity:0; }
.accordion-item .acc-body{ padding-top:16px; color:var(--ink-70); font-size:15px; max-width:760px; }
.accordion-item .acc-body ul{ margin-top:10px; padding-left:20px; list-style:disc; }
.accordion-item .acc-body li{ margin-bottom:6px; }

.risk-pill-row{ display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.risk-pill{
  padding:9px 16px; border-radius:var(--radius-pill); background:var(--peach); font-size:13px;
  font-weight:600; color:var(--coronary);
}

.warning-banner{
  background:linear-gradient(120deg, rgba(206,59,30,.08), rgba(243,166,61,.1));
  border:1.5px solid rgba(206,59,30,.22); border-radius:var(--radius-lg);
  padding:30px 34px; display:flex; gap:20px; align-items:flex-start;
}
.warning-banner svg{ width:30px; height:30px; color:var(--coronary); flex-shrink:0; margin-top:2px; }
.warning-banner h4{ font-family:var(--font-body); font-weight:700; font-size:16px; }
.warning-banner p{ color:var(--ink-70); font-size:14.5px; margin-top:6px; }

/* ---------- Contact ---------- */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.op-table{ width:100%; border-collapse:collapse; margin-top:18px; }
.op-table td{ padding:14px 4px; border-bottom:1px solid var(--ink-12); font-size:14.5px; }
.op-table td:first-child{ font-weight:700; width:40%; }
.op-table td:last-child{ font-family:var(--font-mono); color:var(--coronary); text-align:right; }
.op-table tr.closed td:last-child{ color:var(--ink-30); }

.store-badges{ display:flex; gap:14px; margin-top:22px; flex-wrap:wrap; }
.store-badge{
  display:flex; align-items:center; gap:10px; background:var(--grad-deep); color:var(--cream);
  padding:12px 18px; border-radius:var(--radius-md); transition:.3s var(--ease);
}
.store-badge:hover{ background:var(--coronary); transform:translateY(-2px); }
.store-badge svg{ width:24px; height:24px; }
.store-badge div{ line-height:1.2; }
.store-badge span{ font-size:9.5px; text-transform:uppercase; letter-spacing:.06em; opacity:.7; display:block; }
.store-badge b{ font-size:14px; font-weight:600; }

.contact-form{ display:grid; gap:16px; }
.contact-form input, .contact-form textarea, .contact-form select{
  width:100%; padding:14px 16px; border-radius:var(--radius-sm); border:1.5px solid var(--ink-12);
  background:var(--paper); font-family:var(--font-body); font-size:14.5px; color:var(--ink);
  transition:.25s var(--ease);
}
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus{ border-color:var(--ember); outline:none; }
.contact-form label{ font-size:13px; font-weight:600; margin-bottom:6px; display:block; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }

.info-tile{ display:flex; gap:16px; align-items:flex-start; padding:20px 0; border-bottom:1px solid var(--ink-12); }
.info-tile:last-child{ border-bottom:none; }
.info-tile .icon-badge{ margin-bottom:0; flex-shrink:0; }
.info-tile b{ display:block; font-size:15px; }
.info-tile span, .info-tile a{ font-size:14px; color:var(--ink-70); }
.info-tile a:hover{ color:var(--ember); }

@media (max-width:860px){ .contact-grid{ grid-template-columns:1fr; } .form-row{ grid-template-columns:1fr; } }

/* ---------- CTA banner ---------- */
.cta-banner{
  background:var(--grad-brand); border-radius:var(--radius-lg); padding:64px 56px;
  display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;
  position:relative; overflow:hidden; color:var(--paper);
}
.cta-banner::before{
  content:''; position:absolute; inset:0; opacity:.15;
  background-image:radial-gradient(circle,#fff 1.5px,transparent 1.5px);
  background-size:22px 22px;
}
.cta-banner h2{ color:var(--paper); font-size:clamp(26px,3.4vw,38px); max-width:520px; position:relative; z-index:1; }
.cta-banner .btn-light{ position:relative; z-index:1; }
@media (max-width:640px){ .cta-banner{ padding:44px 30px; text-align:center; justify-content:center; } }

/* ---------- Testimonial / cases ---------- */
.case-card{ background:var(--paper); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); }
.case-media{ 
  /* aspect-ratio:16/11;  */
  background:linear-gradient(135deg,var(--peach),var(--peach-2)); position:relative; display:flex; align-items:center; justify-content:center; }
.case-media svg{ width:64px; height:64px; color:var(--coronary); opacity:.5; }
.case-body{ padding:26px 28px; }
.case-body .tag{ font-family:var(--font-mono); font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--coronary); }
.case-body h3{ font-size:18.5px; margin-top:10px; font-weight:600; }
.case-body p{ color:var(--ink-70); font-size:14px; margin-top:10px; }

/* ---------- Footer ---------- */
.site-footer{ background:var(--grad-deep); color:var(--cream); padding:72px 0 30px; margin-top:0; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:48px; border-bottom:1px solid rgba(255,246,236,.12); }
.footer-brand{ display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.footer-brand img{ height:42px; }
.footer-brand strong{ font-family:var(--font-display); font-size:17px; }
.site-footer p{ color:rgba(255,246,236,.55); font-size:14px; max-width:280px; }
.site-footer h5{ font-size:12.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--marigold); margin-bottom:18px; font-weight:600; }
.site-footer ul li{ margin-bottom:11px; }
.site-footer ul a{ color:rgba(255,246,236,.72); font-size:14.5px; transition:.25s; }
.site-footer ul a:hover{ color:var(--marigold); }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:26px; flex-wrap:wrap; gap:12px; }
.footer-bottom p{ color:rgba(255,246,236,.45); font-size:13px; }
.footer-social{ display:flex; gap:10px; }
.footer-social a{ width:38px; height:38px; border-radius:50%; background:rgba(255,246,236,.08); display:flex; align-items:center; justify-content:center; transition:.25s; }
.footer-social a:hover{ background:var(--coronary); }
.footer-social svg{ width:17px; height:17px; }
@media (max-width:860px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer-grid{ grid-template-columns:1fr; } }

/* ---------- Page header (inner pages) ---------- */
.page-header{ padding:64px 0 20px; position:relative; }
.page-header h1{ font-size:clamp(34px,4.6vw,52px); margin-top:16px; font-weight:600; }
.page-header p{ color:var(--ink-70); font-size:17px; margin-top:16px; max-width:600px; }
.breadcrumb{ font-family:var(--font-mono); font-size:12.5px; color:var(--ink-50); text-transform:uppercase; letter-spacing:.05em; }
.breadcrumb a:hover{ color:var(--ember); }

/* ---------- Full-bleed image hero (inner pages) ---------- */
.image-hero{
  position:relative; border-radius:var(--radius-lg); overflow:hidden;
  min-height:420px; display:flex; align-items:flex-end; box-shadow:var(--shadow-lg);
  margin:0 auto; max-width:var(--container);
}
.image-hero img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.image-hero::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(110,31,16,.82) 0%, rgba(110,31,16,.25) 55%, rgba(110,31,16,.05) 100%);
}
.image-hero-content{ position:relative; z-index:1; padding:52px; color:var(--cream); }
.image-hero-content .eyebrow{ 
  /* color:var(--marigold);  */
/* color: #000000; */
color: white;
    font-weight: 700;
    font-size: 16px;
  }
.image-hero-content .eyebrow::before{ 
  /* background:var(--marigold);  */
  /* background:black;  */
  color: white;
}
.image-hero-content .eyebrow-g{ 
  /* color:var(--marigold);  */
  color: white;
  }
.image-hero-content .eyebrow-g::before{ 
  /* background:var(--marigold);  */
  background: white;
}
.image-hero-content h1{ color:var(--cream); margin-top:14px; }
.image-hero-content p{ color:rgba(255,246,236,.86); margin-top:14px; max-width:600px; }
@media (max-width:768px){ .image-hero{ min-height:320px; } .image-hero-content{ padding:32px 26px; } }

/* ---------- Marquee (credentials / partners strip) ---------- */
.marquee-wrap{
  overflow:hidden; position:relative; padding:38px 0;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.marquee-track{
  display:flex; gap:56px; width:max-content;
  animation:marquee 28s linear infinite;
}
.marquee-wrap:hover .marquee-track{ animation-play-state:paused; }
@keyframes marquee{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
.marquee-item{
  display:flex; align-items:center; gap:12px; white-space:nowrap;
  font-family:var(--font-mono); font-size:14px; color:var(--ink-50); font-weight:500;
}
.marquee-item svg{ width:20px; height:20px; color:var(--coronary); flex-shrink:0; }

/* ---------- Zone / image cards (Thamizhoor-style visual grid) ---------- */
.zone-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
@media (max-width:980px){ .zone-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .zone-grid{ grid-template-columns:1fr; } }
.zone-card{
  position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:4/5;
  box-shadow:var(--shadow-sm); transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.zone-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow-lg); }
.zone-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.zone-card:hover img{ transform:scale(1.08); }
.zone-card::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(78,22,12,.88) 0%, rgba(78,22,12,.35) 45%, rgba(78,22,12,.05) 75%);
}
.zone-card-body{ position:absolute; left:0; right:0; bottom:0; padding:24px; z-index:1; color:var(--cream); }
.zone-card-index{ font-family:var(--font-mono); font-size:11.5px; color:var(--marigold); letter-spacing:.08em; text-transform:uppercase; }
.zone-card-body h3{ color:var(--cream); font-size:19px; margin-top:8px; font-weight:600; }
.zone-card-body p{ color:rgba(255,246,236,.78); font-size:13px; margin-top:8px; }
.zone-card-tag{
  position:absolute; top:18px; left:18px; z-index:1; background:rgba(255,246,236,.16);
  backdrop-filter:blur(6px); color:var(--cream); font-size:11px; font-family:var(--font-mono);
  text-transform:uppercase; letter-spacing:.06em; padding:6px 12px; border-radius:var(--radius-pill);
}

/* ---------- Patient Journey / Itinerary (numbered horizontal steps) ---------- */
.itinerary{ position:relative; }
.itinerary-track{
  display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative;
}
.itinerary-track::before{
  content:''; position:absolute; top:29px; left:6%; right:6%; height:2px;
  background:repeating-linear-gradient(90deg, var(--coronary) 0 10px, transparent 10px 18px);
  opacity:.5;
}
.itinerary-step{ position:relative; padding:0 18px; text-align:left; }
.itinerary-step .num{
  width:58px; height:58px; border-radius:50%; background:var(--paper); border:2px solid var(--coronary);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-weight:600;
  font-size:18px; color:var(--coronary); position:relative; z-index:1; margin-bottom:20px; box-shadow:var(--shadow-sm);
}
.itinerary-step h4{ font-size:16.5px; font-weight:700; font-family:var(--font-body); }
.itinerary-step .time{ font-family:var(--font-mono); font-size:11.5px; color:var(--coronary); text-transform:uppercase; letter-spacing:.05em; display:block; margin-bottom:8px; }
.itinerary-step p{ font-size:13.5px; color:var(--ink-70); margin-top:8px; }
@media (max-width:860px){
  .itinerary-track{ grid-template-columns:1fr; gap:34px; }
  .itinerary-track::before{ top:6%; bottom:6%; left:29px; width:2px; height:auto; right:auto; background:repeating-linear-gradient(180deg, var(--coronary) 0 10px, transparent 10px 18px); }
  .itinerary-step{ padding-left:76px; }
  .itinerary-step .num{ position:absolute; left:0; top:0; }
}

/* ---------- Count-up stat variant ---------- */
[data-count]{ font-variant-numeric:tabular-nums; }

/* ---------- Real-photography duotone treatment (Design 3: Pulse Cinematic) ---------- */
/* .hero-frame img,
.image-hero img,
.zone-card img,
.gallery-item img,
.equip-visual img,
.video-hero video,
.video-card video{
  filter: sepia(.4) saturate(1.55) hue-rotate(-12deg) brightness(1.04) contrast(1.03);
} */
/* .equip-visual::after{
  background:linear-gradient(135deg, rgba(255,166,61,.55), rgba(206,59,30,.55));
} */
.gallery-item{ position:relative; }
.gallery-item::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(160deg, rgba(243,166,61,.16), rgba(206,59,30,.22));
  mix-blend-mode:multiply;
}

/* ---------- Cinematic animated heartbeat hero overlay (Design 3 signature) ---------- */
.beat-overlay{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  pointer-events:none; z-index:2;
}
.beat-overlay::before{
  content:''; position:absolute; width:70%; height:70%; border-radius:50%;
  background:radial-gradient(circle, rgba(243,166,61,.35) 0%, rgba(206,59,30,0) 70%);
  animation:vignettePulse 1.15s ease-in-out infinite;
}
@keyframes vignettePulse{
  0%{ transform:scale(.85); opacity:.5; }
  14%{ transform:scale(1.05); opacity:.9; }
  28%{ transform:scale(.92); opacity:.6; }
  45%{ transform:scale(1); opacity:.75; }
  100%{ transform:scale(.85); opacity:.5; }
}
.beat-heart{
  width:64px; height:64px; color:var(--paper); filter:drop-shadow(0 4px 18px rgba(0,0,0,.35));
  animation:lubDub 1.15s ease-in-out infinite;
  position:relative; z-index:1;
}
@keyframes lubDub{
  0%{ transform:scale(1); }
  14%{ transform:scale(1.22); }
  28%{ transform:scale(1); }
  42%{ transform:scale(1.13); }
  60%{ transform:scale(1); }
  100%{ transform:scale(1); }
}
.beat-bpm{
  position:absolute; bottom:22px; left:50%; transform:translateX(-50%); z-index:1;
  background:rgba(58,20,13,.55); backdrop-filter:blur(8px); color:var(--paper);
  padding:10px 20px; border-radius:var(--radius-pill); font-family:var(--font-mono);
  font-size:13px; display:flex; align-items:center; gap:8px; letter-spacing:.04em;
}
.beat-bpm .dot{ width:8px; height:8px; border-radius:50%; background:var(--coronary); animation:dotBlink 1.15s ease-in-out infinite; }
@keyframes dotBlink{ 0%,100%{ opacity:1;} 50%{ opacity:.25;} }

/* ---------- Reveal on scroll ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in-view{ opacity:1; transform:translateY(0); }
.reveal-delay-1.in-view{ transition-delay:.1s; }
.reveal-delay-2.in-view{ transition-delay:.2s; }
.reveal-delay-3.in-view{ transition-delay:.3s; }

/* ---------- Lightbox ---------- */
.lightbox{
  position:fixed; inset:0; background:rgba(78,22,12,.93); z-index:1000; display:none;
  align-items:center; justify-content:center; padding:40px; backdrop-filter:blur(6px);
}
.lightbox.open{ display:flex; }
.lightbox img, .lightbox video{ max-width:100%; max-height:86vh; border-radius:14px; box-shadow:0 30px 80px rgba(0,0,0,.5); }
.lightbox-close{
  position:absolute; top:26px; right:30px; width:44px; height:44px; border-radius:50%;
  background:rgba(255,246,236,.12); color:var(--cream); display:flex; align-items:center; justify-content:center;
  border:none; transition:.25s;
}
.lightbox-close:hover{ background:var(--coronary); }
.lightbox-close svg{ width:20px; height:20px; }

/* ---------- Layout modifiers (responsive replacements for inline grid overrides) ---------- */
.split-even{ grid-template-columns:1fr 1fr; align-items:center; }
@media (max-width:900px){ .split-even{ grid-template-columns:1fr; } }

.profile-grid{ grid-template-columns:.85fr 1.15fr; align-items:start; gap:56px; }
.profile-grid .profile-sticky{ position:sticky; top:110px; }
@media (max-width:900px){
  .profile-grid{ grid-template-columns:1fr; gap:40px; }
  .profile-grid .profile-sticky{ position:static; max-width:340px; margin:0 auto; }
}

.itinerary-track-5{ grid-template-columns:repeat(5,1fr); }
@media (max-width:860px){ .itinerary-track-5{ grid-template-columns:1fr; gap:34px; } }

.zone-grid-2{ grid-template-columns:repeat(2,1fr); }
@media (max-width:480px){ .zone-grid-2{ grid-template-columns:1fr; } }

/* Skip link */
.skip-link{
  position:absolute; left:-999px; top:auto; background:var(--grad-deep); color:var(--cream); padding:12px 20px;
  border-radius:8px; z-index:200;
}
.skip-link:focus{ left:20px; top:20px; }
