
/* Maruthi information architecture layer — built on the receiver's existing visual tokens/components. */
.facility-browser{display:grid;gap:18px}
.facility-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px;border:1px solid rgba(20,33,61,.08);border-radius:28px 18px 26px 18px;background:rgba(247,242,236,.76);box-shadow:0 12px 32px rgba(20,33,61,.05)}
.facility-tab{min-width:0;padding:14px 15px;text-align:left;border:1px solid rgba(20,33,61,.07);border-radius:17px 11px 16px 11px;background:rgba(255,255,255,.74);color:#657084;font-size:11px;font-weight:800;cursor:pointer;transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}
.facility-tab span{display:block;margin-bottom:6px;color:#9aa4b3;font-size:8px;letter-spacing:1.5px}
.facility-tab:hover{transform:translateY(-2px);color:var(--navy);background:#fff;box-shadow:var(--shadow-soft)}
.facility-tab.active{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 12px 28px rgba(20,33,61,.16)}
.facility-tab.active span{color:#ff9aa2}
.facility-panel{display:grid;grid-template-columns:1fr 1fr;min-height:430px;overflow:hidden;border:1px solid rgba(20,33,61,.075);border-radius:34px 18px 30px 18px;background:rgba(255,255,255,.90);box-shadow:var(--shadow)}
.facility-panel[hidden]{display:none!important}
.facility-media{position:relative;min-height:430px;background:#172238;overflow:hidden}
.facility-media img{width:100%;height:100%;min-height:430px;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.facility-panel:hover .facility-media img{transform:scale(1.035)}
.facility-media:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(7,13,26,.78));pointer-events:none}
.facility-photo-tag{position:absolute;left:24px;bottom:20px;z-index:1;color:#ff9aa2;font-size:9px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase}
.facility-copy{padding:42px 40px;display:flex;flex-direction:column;justify-content:center}
.facility-copy h3{margin:0;color:var(--navy);font-family:'Plus Jakarta Sans';font-size:clamp(28px,3vw,42px);line-height:1.03;letter-spacing:-2px}
.facility-copy>p{margin:18px 0 20px;color:var(--muted);font-size:14px;line-height:1.7}
.facility-copy ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.facility-copy li{display:flex;gap:10px;color:#536074;font-size:12.5px;font-weight:700}
.facility-copy li:before{content:"";width:6px;height:6px;flex:0 0 6px;margin-top:.55em;border-radius:50%;background:var(--teal)}
.facility-browser-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}
.service-nav-btn{border:1px solid rgba(20,33,61,.10);border-radius:17px 11px 16px 11px;padding:11px 15px;background:rgba(255,255,255,.74);color:var(--navy);font-size:11px;font-weight:800;cursor:pointer;transition:.25s}
.service-nav-btn:hover{transform:translateY(-2px);background:#fff;box-shadow:var(--shadow-soft)}
.service-progress{display:flex;align-items:baseline;gap:5px;color:#8993a2;font-size:11px;font-weight:800;letter-spacing:1px}
.service-progress strong{color:var(--coral);font-family:'Plus Jakarta Sans';font-size:24px}
.location-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.location-card{position:relative;padding:32px;border:1px solid rgba(20,33,61,.075);border-radius:34px 18px 30px 18px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(245,239,233,.90));box-shadow:0 16px 42px rgba(20,33,61,.065);overflow:hidden}
.location-card:nth-child(2){background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(239,246,244,.88));border-radius:18px 34px 18px 30px}
.location-card:after{content:"";position:absolute;right:-70px;bottom:-80px;width:190px;height:190px;border:1px solid rgba(239,91,103,.13);border-radius:50%;pointer-events:none}
.location-no{position:relative;z-index:1;color:#8d96a4;font-size:9px;font-weight:900;letter-spacing:1.5px}
.location-card h3{position:relative;z-index:1;margin:22px 0 12px;color:var(--navy);font-family:'Plus Jakarta Sans';font-size:25px;line-height:1.1;letter-spacing:-1px}
.location-card>p{position:relative;z-index:1;min-height:78px;margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.location-lines{position:relative;z-index:1;display:grid;gap:6px;margin:22px 0 24px;padding-top:18px;border-top:1px solid var(--line)}
.location-lines strong{margin-top:5px;color:var(--navy);font-size:9px;letter-spacing:1.2px;text-transform:uppercase}
.location-lines a,.location-lines span{color:#596679;font-size:13px;line-height:1.45}
.location-lines a:hover{color:var(--coral-dark)}
.email-stack{display:grid;gap:7px;margin-top:17px}
.email-stack a{color:var(--navy);font-size:13px;font-weight:800}
.email-stack a:hover{color:var(--coral-dark)}
@media(max-width:991px){.facility-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.facility-panel{grid-template-columns:1fr}.facility-media,.facility-media img{min-height:360px;height:360px}.location-grid{grid-template-columns:1fr}}
@media(max-width:767px){.facility-tabs{grid-template-columns:1fr 1fr;gap:7px;padding:7px;border-radius:23px 15px 21px 15px}.facility-tab{padding:12px 10px;font-size:10px}.facility-tab span{font-size:7px}.facility-panel{border-radius:27px 16px 25px 16px}.facility-media,.facility-media img{min-height:280px;height:280px}.facility-copy{padding:28px 22px 30px}.facility-copy h3{font-size:30px;letter-spacing:-1.5px}.facility-copy>p{font-size:13px}.service-nav-btn{padding:10px 12px}.service-nav-btn span{display:none}.location-card{padding:25px;border-radius:27px 16px 25px 16px}.location-card:nth-child(2){border-radius:22px 16px 24px 16px}.location-card>p{min-height:auto}}

/* V1 image refinement: page-specific stock photography; gallery remains the only source of real Maruthi place photography. */
.hospital-home-hero .hero-bg{background-image:url("https://images.pexels.com/photos/6235107/pexels-photo-6235107.jpeg?auto=compress&cs=tinysrgb&w=2400");background-position:center center}
.services-page-hero{background-image:url("https://images.pexels.com/photos/3924779/pexels-photo-3924779.jpeg?auto=compress&cs=tinysrgb&w=2400");background-position:center center}
.contact-page-hero{background-image:url("https://images.pexels.com/photos/6234611/pexels-photo-6234611.jpeg?auto=compress&cs=tinysrgb&w=2400");background-position:center center}
@media(max-width:767px){.hospital-home-hero .hero-bg{background-position:62% center}.services-page-hero,.contact-page-hero{background-position:center center}}


/* =========================================================
   V1.1 — CONTACT INFORMATION REFINEMENT
   Dense hospital contact data is made responsive without
   changing the approved V1 visual framework.
   ========================================================= */
.contact-cards{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
}
.contact-card{
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  overflow:hidden;
  overflow-wrap:anywhere;
  word-break:normal;
  padding:22px 23px;
  position:relative;
}
.contact-card::before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:2px;
  border-radius:99px;
  background:rgba(239,91,103,.42);
  opacity:.7;
}
.contact-card small{
  flex:0 0 auto;
  line-height:1.25;
}
.contact-card a,
.contact-card strong{
  display:block;
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
  white-space:normal;
  hyphens:auto;
}
.contact-card a + a,
.contact-card strong + strong{
  margin-top:6px;
}
.contact-card.address a{
  line-height:1.6;
}
.contact-card.email-card{
  grid-column:1/-1;
}
.contact-card.email-card a{
  font-size:clamp(12px,1.05vw,14px);
  line-height:1.5;
}
.contact-card.email-card::after{
  content:"";
  position:absolute;
  right:-65px;
  bottom:-90px;
  width:170px;
  height:170px;
  border:1px solid rgba(255,154,162,.16);
  border-radius:50%;
  pointer-events:none;
}
.contact-card:hover{
  transform:translateY(-4px);
  border-color:rgba(255,154,162,.22);
  box-shadow:0 16px 36px rgba(5,12,26,.12);
}
.location-card,
.location-lines,
.location-lines a,
.location-lines span{
  min-width:0;
  overflow-wrap:anywhere;
  word-break:break-word;
  white-space:normal;
}
.location-card h3{
  overflow-wrap:anywhere;
  word-break:break-word;
}
@media(max-width:991px){
  .contact-cards{grid-template-columns:1fr 1fr}
  .contact-card.email-card{grid-column:1/-1}
}
@media(max-width:767px){
  .contact-cards{
    grid-template-columns:1fr;
    gap:10px;
  }
  .contact-card,
  .contact-card.address,
  .contact-card.email-card{
    grid-column:auto;
    width:100%;
    min-height:0;
    padding:20px 21px 21px 23px;
    border-radius:22px 15px 21px 15px;
  }
  .contact-card::before{
    top:16px;
    bottom:16px;
  }
  .contact-card small{margin-bottom:9px}
  .contact-card a,
  .contact-card strong{
    font-size:13px;
    line-height:1.55;
  }
  .contact-card.email-card a{
    font-size:12.5px;
  }
  .location-card>p{
    overflow-wrap:anywhere;
    word-break:break-word;
  }
}

/* =========================================================
   V1.2 — TYPOGRAPHY + INFORMATION DENSITY REFINEMENT
   Increase readability where V1.1 was visually undersized,
   while preserving the approved visual language and preventing
   long-form hospital information from causing overflow.
   ========================================================= */

:root{
  --type-body:16px;
  --type-small:13px;
  --type-meta:11px;
}

/* Core reading scale */
body{font-size:16px;}
.desktop-nav{font-size:13px;}
.btn{font-size:13px;}
.eyebrow{font-size:11px;}
.section-head p,
.service-intro-copy,
.page-hero p,
.hero-lead,
.care-copy p,
.care-statement p{font-size:16px;line-height:1.72;}
.hero-note{font-size:12px;}
.proof-label{font-size:10px;}
.proof-item{font-size:12px;}

/* The small category labels stay small by design, but are no longer
   microscopic. The hierarchy is now readable at normal viewing distance. */
.benefit-no,
.panel-index,
.location-no,
.contact-card small,
.care-point span,
.facility-photo-tag{font-size:10px;}

/* Homepage information cards */
.benefit{padding:30px 24px;min-height:260px;}
.benefit h3{font-size:20px;line-height:1.22;}
.benefit p{font-size:14px;line-height:1.62;}
.benefit-icon{font-size:24px;}
.care-statement strong{font-size:21px;line-height:1.4;}
.care-feature-copy p{font-size:15px;line-height:1.65;}
.care-point h3{font-size:23px;line-height:1.2;}
.care-point p{font-size:14px;line-height:1.65;}

/* Services browser — larger tabs and much stronger reading hierarchy. */
.facility-tabs{gap:11px;padding:11px;}
.facility-tab{padding:16px 17px;font-size:13px;line-height:1.35;}
.facility-tab span{margin-bottom:7px;font-size:9px;}
.facility-copy{padding:46px 44px;}
.facility-copy h3{font-size:clamp(30px,3vw,43px);line-height:1.08;}
.facility-copy>p{font-size:16px;line-height:1.7;}
.facility-copy li{font-size:14px;line-height:1.55;}
.service-nav-btn{font-size:13px;padding:12px 17px;}
.service-progress{font-size:12px;}
.service-progress strong{font-size:27px;}

/* Service category cards */
.service-panel{padding:32px;}
.service-panel h3{font-size:25px;line-height:1.18;}
.service-panel li{font-size:14px;line-height:1.55;}

/* Location/contact information — designed as readable information blocks,
   not dense labels. */
.location-card{padding:34px;}
.location-no{letter-spacing:1.6px;}
.location-card h3{font-size:27px;line-height:1.15;}
.location-card>p{font-size:15px;line-height:1.7;}
.location-lines strong{font-size:10px;}
.location-lines a,.location-lines span{font-size:15px;line-height:1.55;}
.email-stack a{font-size:15px;line-height:1.5;}

.contact-card{padding:25px 26px;}
.contact-card small{margin-bottom:10px;letter-spacing:1.45px;}
.contact-card a,.contact-card strong{font-size:15px;line-height:1.55;}
.contact-card.email-card a{font-size:15px;line-height:1.55;}

/* Contact section gets a clearer information hierarchy at all widths. */
.contact-grid{gap:64px;}
.contact-copy p{font-size:16px;line-height:1.7;}
.live-chat-copy h2{font-size:clamp(27px,3vw,38px);}
.live-chat-copy p{font-size:15px;line-height:1.65;}
.chat-fallback{font-size:12px;}

/* Footer is part of the reading system too. */
.footer-brand p{font-size:14px;line-height:1.65;}
.footer-links a{font-size:14px;line-height:1.5;}
.site-footer h3{font-size:12px;}
.footer-bottom{font-size:11px;}

/* Gallery captions remain compact, but readable. */
.gallery-meta span{font-size:10px;}
.gallery-meta strong{font-size:20px;}
.gallery-source{font-size:12px;line-height:1.6;}

@media(max-width:991px){
  .section-head p,.service-intro-copy,.page-hero p,.hero-lead{font-size:16px;}
  .benefit{min-height:245px;}
  .facility-copy{padding:38px 34px;}
  .facility-copy h3{font-size:36px;}
  .location-card h3{font-size:25px;}
  .contact-grid{gap:44px;}
}

@media(max-width:767px){
  /* Mobile readability is increased rather than simply scaling desktop down. */
  body{font-size:16px;}
  .desktop-nav{font-size:14px;}
  .mobile-panel a{font-size:16px;}
  .btn{font-size:14px;min-height:52px;}
  .eyebrow{font-size:10px;letter-spacing:1.65px;}
  .section-head p,
  .service-intro-copy,
  .page-hero p,
  .hero-lead,
  .care-copy p,
  .care-statement p{font-size:16px;line-height:1.68;}
  .hero-note{font-size:12px;}
  .proof-item{font-size:11.5px;}

  .benefit{min-height:0;padding:26px 23px 28px;}
  .benefit-no{font-size:10px;}
  .benefit-icon{margin:31px 0 16px;font-size:24px;}
  .benefit h3{font-size:20px;line-height:1.22;}
  .benefit p{font-size:14.5px;line-height:1.62;}
  .care-statement{padding-left:20px;}
  .care-statement strong{font-size:20px;}
  .care-feature-copy h3{font-size:clamp(30px,8.5vw,42px);}
  .care-feature-copy p{font-size:14.5px;}
  .care-point h3{font-size:22px;}
  .care-point p{font-size:14.5px;}

  .facility-tabs{grid-template-columns:1fr 1fr;gap:8px;padding:8px;}
  .facility-tab{padding:14px 12px;font-size:12.5px;line-height:1.32;}
  .facility-tab span{font-size:9px;}
  .facility-panel{display:grid;grid-template-columns:1fr;}
  .facility-copy{padding:30px 24px 32px;}
  .facility-copy h3{font-size:30px;line-height:1.08;letter-spacing:-1.35px;}
  .facility-copy>p{font-size:15px;line-height:1.68;}
  .facility-copy ul{gap:9px;}
  .facility-copy li{font-size:14px;line-height:1.55;}
  .service-nav-btn{font-size:12.5px;padding:11px 13px;}
  .service-progress{font-size:11.5px;}
  .service-progress strong{font-size:25px;}

  .service-panel{padding:27px 23px;min-height:290px;}
  .service-panel h3{font-size:23px;line-height:1.2;}
  .service-panel li{font-size:14px;line-height:1.55;}

  .location-card{padding:27px 23px;}
  .location-card h3{font-size:23px;line-height:1.18;}
  .location-card>p{font-size:15px;line-height:1.67;}
  .location-lines a,.location-lines span{font-size:15px;line-height:1.55;}
  .email-stack a{font-size:14.5px;line-height:1.55;}

  .contact-card,
  .contact-card.address,
  .contact-card.email-card{padding:22px 21px 23px 24px;}
  .contact-card small{font-size:10px;margin-bottom:10px;}
  .contact-card a,.contact-card strong,
  .contact-card.email-card a{font-size:15px;line-height:1.55;}

  .contact-copy p{font-size:16px;line-height:1.68;}
  .live-chat-copy h2{font-size:28px;}
  .live-chat-copy p{font-size:15px;line-height:1.65;}
  .chat-fallback{font-size:12px;}

  .gallery-meta span{font-size:10px;}
  .gallery-meta strong{font-size:20px;}
  .gallery-source{font-size:12px;}
  .footer-brand p{font-size:14px;}
  .footer-links a{font-size:14px;}
  .site-footer h3{font-size:12px;}
  .footer-bottom{font-size:11px;}
}


/* V1.2 — Services page refinement: cleaner hierarchy, easier scanning and stronger tab usability. */
.facility-section{position:relative;background:linear-gradient(180deg,#fffaf6 0%,#f8f4ef 100%)}
.facility-section .section-head{max-width:820px;margin:0 auto 34px;text-align:center}
.facility-section .section-head h2{max-width:760px;margin-left:auto;margin-right:auto}
.facility-section .section-head p{max-width:660px;margin-left:auto;margin-right:auto}
.facility-browser{gap:22px}
.facility-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px;border-radius:30px 18px 28px 18px;background:rgba(255,255,255,.72);backdrop-filter:blur(12px);box-shadow:0 18px 48px rgba(20,33,61,.07)}
.facility-tab{min-height:76px;padding:14px 16px;border-radius:19px 12px 17px 12px;display:flex;flex-direction:column;justify-content:center;gap:3px;font-size:12px;line-height:1.35;letter-spacing:-.1px}
.facility-tab span{margin-bottom:1px;font-size:8px;letter-spacing:1.6px}
.facility-tab.active{transform:translateY(-2px)}
.facility-tab:focus-visible,.service-nav-btn:focus-visible{outline:3px solid rgba(239,91,103,.45);outline-offset:3px}
.facility-browser-note{margin:0;color:#7a8493;font-size:12px;font-weight:700;text-align:center;letter-spacing:.1px}
.facility-panel{min-height:470px;border-radius:38px 20px 34px 20px;box-shadow:0 22px 60px rgba(20,33,61,.09)}
.facility-copy{padding:48px 46px}
.facility-copy .eyebrow{margin-bottom:14px}
.facility-copy h3{font-size:clamp(30px,3.1vw,46px);line-height:1.04}
.facility-copy>p{font-size:15px;line-height:1.75}
.facility-copy li{font-size:13px;line-height:1.5}
.facility-browser-controls{padding:0 4px}
.service-nav-btn{border-radius:18px 12px 17px 12px;padding:13px 18px;background:#fff;box-shadow:0 8px 22px rgba(20,33,61,.05)}
.service-progress strong{font-size:28px}
@media(max-width:991px){
  .facility-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facility-panel{min-height:0}
  .facility-copy{padding:38px 32px}
}
@media(max-width:767px){
  .facility-section .section-head{margin-bottom:26px}
  .facility-tabs{grid-template-columns:1fr 1fr;gap:8px;padding:8px}
  .facility-tab{min-height:70px;padding:12px 11px;font-size:10.5px}
  .facility-panel{border-radius:28px 16px 26px 16px}
  .facility-copy{padding:30px 23px 32px}
  .facility-copy h3{font-size:30px}
  .facility-browser-note{font-size:11px;line-height:1.5}
}
