/* =========================================================
   Yatharth Neuro & Stroke Rehabilitation — Site Stylesheet
   Design tokens
   ========================================================= */
:root{
  --color-bg:        #FAF7F1;   /* warm ivory background           */
  --color-surface:   #FFFFFF;
  --color-ink:        #20302C;  /* warm near-black for text        */
  --color-ink-soft:   #4B5A55;
  --color-primary:    #0E4A45;  /* deep teal  — clinical trust      */
  --color-primary-d:  #0A3531;  /* darker teal for hover states     */
  --color-sage:        #6E9B90; /* calming secondary                */
  --color-accent:      #DE7C4F; /* warm terracotta — CTA / hope     */
  --color-accent-d:    #C1633A;
  --color-line:        #DDD3C2; /* soft hairline border             */

  --font-display: "Fraunces", Georgia, serif;
  --font-body:    "Inter", "Segoe UI", Arial, sans-serif;

  --container: 1180px;
  --radius: 10px;
  --shadow: 0 10px 30px rgba(14,74,69,0.10);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:var(--font-body);
  background:var(--color-bg);
  color:var(--color-ink);
  line-height:1.6;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:var(--container);margin:0 auto;padding:0 24px;}

h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:600;
  color:var(--color-primary);
  margin:0 0 .5em;
  letter-spacing:-0.01em;
}

.eyebrow{
  font-family:var(--font-body);
  text-transform:uppercase;
  font-size:12.5px;
  letter-spacing:.14em;
  color:var(--color-accent-d);
  font-weight:700;
}

.btn{
  display:inline-block;
  padding:12px 24px;
  border-radius:999px;
  font-weight:600;
  font-size:15px;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .15s ease, background .2s ease, color .2s ease;
}
.btn-accent{background:var(--color-accent);color:#fff;}
.btn-accent:hover{background:var(--color-accent-d);transform:translateY(-1px);}
.btn-outline{background:transparent;border-color:var(--color-primary);color:var(--color-primary);}
.btn-outline:hover{background:var(--color-primary);color:#fff;}

/* ---------------------------------------------------------
   Top utility bar
   --------------------------------------------------------- */
.topbar{
  background:var(--color-primary-d);
  color:#EAF2F0;
  font-size:13.5px;
}
.topbar .container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:8px 24px;
}
.topbar a{opacity:.95;}
.topbar .topbar-phone{font-weight:600;letter-spacing:.02em;}
.topbar .topbar-links a + a{margin-left:18px;}

/* ---------------------------------------------------------
   Header / Navigation
   --------------------------------------------------------- */
.site-header{
  background:var(--color-surface);
  border-bottom:1px solid var(--color-line);
  position:sticky;
  top:0;
  z-index:100;
}
.site-header .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 24px;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.brand-mark{
  width:42px;height:42px;border-radius:50%;
  background:var(--color-primary);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);
  font-weight:700;font-size:18px;
}
.brand-text{font-family:var(--font-display);font-weight:700;font-size:19px;color:var(--color-primary);line-height:1.15;}
.brand-text small{display:block;font-family:var(--font-body);font-weight:500;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-sage);}

.main-nav{display:flex;align-items:center;gap:6px;}
.main-nav > ul{display:flex;list-style:none;margin:0;padding:0;gap:4px;}
.main-nav .nav-item{position:relative;}
.nav-link{
  display:flex;align-items:center;gap:5px;
  padding:14px 14px;
  font-weight:600;font-size:15px;
  color:var(--color-ink);
  border-bottom:2px solid transparent;
}
.nav-link:hover, .nav-link.active{color:var(--color-primary);border-bottom-color:var(--color-accent);}
.nav-item .caret{font-size:10px;transition:transform .2s ease;}
.nav-item:hover .caret{transform:rotate(180deg);}

/* mega dropdown */
.mega{
  position:absolute;
  top:100%;left:0;
  background:var(--color-surface);
  border:1px solid var(--color-line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  min-width:300px;
  padding:14px;
  display:none;
  z-index:50;
}
.mega.mega-wide{min-width:520px;column-count:2;column-gap:6px;}
.nav-item:hover .mega, .nav-item:focus-within .mega{display:block;}
.mega a{
  display:block;
  padding:9px 12px;
  border-radius:8px;
  font-size:14.5px;
  color:var(--color-ink-soft);
  font-weight:500;
}
.mega a:hover{background:var(--color-bg);color:var(--color-primary);}

.nav-cta{margin-left:10px;}
.nav-toggle{display:none;}

/* recovery pathway divider — signature motif */
.pathway{
  height:14px;
  background-image:repeating-linear-gradient(
    to right,
    var(--color-accent) 0 14px,
    transparent 14px 26px
  );
  opacity:.55;
}
.pathway.pathway-thin{height:6px;}

/* ---------------------------------------------------------
   Hero (Home page)
   --------------------------------------------------------- */
.hero{
  background:#ffffff;
  padding:64px 0 56px;
}
.hero .container{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.hero h1{font-size:42px;line-height:1.12;margin-bottom:18px;}
.hero p.lead{font-size:17px;color:var(--color-ink-soft);max-width:520px;margin-bottom:28px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero-art{
  background:var(--color-surface);
  border:1px solid var(--color-line);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:28px;
}
.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.hero-stats .stat-num{font-family:var(--font-display);font-size:30px;color:var(--color-primary);font-weight:700;}
.hero-stats .stat-label{font-size:12.5px;color:var(--color-ink-soft);text-transform:uppercase;letter-spacing:.06em;}

/* ---------------------------------------------------------
   Generic content sections (used across pages)
   --------------------------------------------------------- */
.section{padding:56px 0;}
.section-head{max-width:680px;margin-bottom:34px;}
.grid-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.card{
  background:var(--color-surface);
  border:1px solid var(--color-line);
  border-radius:var(--radius);
  padding:24px;
  transition:transform .18s ease, box-shadow .18s ease;
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.card h3{font-size:18px;margin-bottom:8px;}
.card p{font-size:14.5px;color:var(--color-ink-soft);margin:0;}

.page-banner{
  background:var(--color-primary);
  color:#fff;
  padding:42px 0;
}
.page-banner h1{color:#fff;margin-bottom:6px;}
.page-banner .crumbs{font-size:13.5px;opacity:.8;}
.page-banner .crumbs a{text-decoration:underline;}

/* ---------------------------------------------------------
   Footer
   --------------------------------------------------------- */
.site-footer{background:var(--color-primary-d);color:#D9E6E3;margin-top:40px;}
.footer-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:32px;padding:48px 0 28px;
}
.footer-grid h4{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;font-family:var(--font-body);}
.footer-grid ul{list-style:none;margin:0;padding:0;}
.footer-grid li{margin-bottom:9px;font-size:14px;}
.footer-grid a:hover{color:var(--color-accent);}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  padding:16px 0;
  font-size:13px;
  display:flex;justify-content:space-between;
  opacity:.85;
}

/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */
@media (max-width:980px){
  .hero .container{grid-template-columns:1fr;}
  .grid-cards{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:760px){
  .nav-toggle{
    display:inline-flex;align-items:center;justify-content:center;
    width:40px;height:40px;border-radius:8px;border:1px solid var(--color-line);
    background:none;font-size:20px;cursor:pointer;
  }
  .main-nav{
    position:fixed;inset:0 0 0 auto;width:84%;max-width:340px;
    background:#fff;flex-direction:column;align-items:stretch;
    padding:18px;transform:translateX(100%);transition:transform .25s ease;
    overflow-y:auto;box-shadow:-12px 0 30px rgba(0,0,0,.15);
  }
  .main-nav.open{transform:translateX(0);}
  .main-nav > ul{flex-direction:column;gap:0;}
  .nav-link{padding:14px 6px;border-bottom:1px solid var(--color-line);border-radius:0;}
  .mega{position:static;box-shadow:none;display:none;width:100%;column-count:1;border:none;border-left:2px solid var(--color-accent);border-radius:0;margin-left:8px;}
  .nav-item.mobile-open .mega{display:block;}
  .nav-cta{margin:14px 0 0;}
  .grid-cards{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .hero h1{font-size:32px;}
}


















/* =========================
   MOBILE RESPONSIVE FIX (CLEAN)
   ========================= */

/* TABLET */
@media (max-width: 980px) {

    .hero .container {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .hero h1 {
        font-size: 34px;
    }

    .grid-cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* MOBILE */
@media (max-width: 760px) {

    /* HEADER */
    .site-header .container {
        padding: 12px 16px;
    }

    .brand-text {
        font-size: 16px;
    }

    /* NAV TOGGLE */
    .nav-toggle {
        display: flex;
    }

    .main-nav {
        position: fixed;
        top: 0;
        right: 0;
        height: 100vh;
        width: 85%;
        max-width: 320px;
        background: #fff;
        flex-direction: column;
        padding: 20px;
        transform: translateX(100%);
        transition: 0.3s ease;
        z-index: 999;
        overflow-y: auto;
    }

        .main-nav.open {
            transform: translateX(0);
        }

        .main-nav > ul {
            flex-direction: column;
            gap: 0;
            margin: 0;
            padding: 0;
        }

    .nav-link {
        padding: 14px 10px;
        border-bottom: 1px solid var(--color-line);
    }

    /* DROPDOWN FIX */
    .mega {
        position: static;
        display: none;
        border: none;
        box-shadow: none;
        padding: 10px 0 10px 12px;
        margin-left: 8px;
    }

    .nav-item.mobile-open .mega {
        display: block;
    }

    /* HERO */
    .hero {
        padding: 40px 0;
    }

        .hero .container {
            grid-template-columns: 1fr;
            gap: 20px;
        }

        .hero h1 {
            font-size: 28px;
        }

        .hero p.lead {
            font-size: 15px;
        }

    .hero-actions {
        flex-direction: column;
        gap: 10px;
    }

    .hero-stats {
        grid-template-columns: 1fr;
    }

    /* CARDS */
    .grid-cards {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .card {
        padding: 18px;
    }

    /* FOOTER */
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 8px;
        text-align: center;
    }

    /* BUTTON */
    .btn {
        width: 100%;
        text-align: center;
    }
}

/* SMALL MOBILE */
@media (max-width: 420px) {

    .hero h1 {
        font-size: 24px;
    }

    .topbar {
        font-size: 12px;
    }

    .brand-mark {
        width: 36px;
        height: 36px;
        font-size: 15px;
    }
}


















.topbar {
    background: var(--color-primary-d);
    color: #EAF2F0;
    font-size: 13.5px;
}

    .topbar .container {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
    }

/* LEFT */
.topbar-phone {
    flex: 0 0 auto;
    font-weight: 600;
    white-space: nowrap;
}

/* CENTER */
.topbar-hours {
    flex: 1;
    text-align: center;
    font-weight: 500;
    white-space: nowrap;
}

/* RIGHT BUTTON */
.topbar .btn {
    flex: 0 0 auto;
    white-space: nowrap;
    padding: 8px 14px;
}



/*@media (max-width:760px) {

    .site-header {
        position: relative;
        z-index: 9999;
    }

    .nav-toggle {
        display: flex !important;
        position: relative;
        z-index: 10001;
    }

    .main-nav {
        z-index: 10000 !important;
    }
}

*/


@media (max-width: 760px) {

    .topbar .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 6px;
        overflow: hidden;
    }

    /* LEFT */
    .topbar-phone {
        flex: 1;
        font-size: 11px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* CENTER */
    .topbar-hours {
        flex: 1;
        font-size: 11px;
        text-align: center;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* RIGHT BUTTON */
    .topbar .btn {
        flex: 0 0 auto;
        font-size: 11px;
        padding: 5px 8px;
        white-space: nowrap;
        max-width: 120px;
    }
}













/* ===== PROFESSIONAL IMAGE GALLERY UI ===== */

.gallery-grid-pro {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 18px;
    margin-top: 10px;
}

.gallery-card {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
    transition: 0.3s ease;
    cursor: pointer;
}

    .gallery-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 12px 28px rgba(0,0,0,0.15);
    }

.gallery-img-wrap {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
}

    .gallery-img-wrap img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: 0.4s ease;
    }

.gallery-card:hover img {
    transform: scale(1.08);
}

/* overlay title */
.gallery-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 10px 12px;
    background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    opacity: 0;
    transition: 0.3s;
}

.gallery-card:hover .gallery-overlay {
    opacity: 1;
}






































/* ===== PREMIUM VIDEO GALLERY UI ===== */

.video-grid-pro {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 18px;
    margin-top: 10px;
}

.video-card {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
    transition: 0.3s ease;
}

    .video-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 12px 28px rgba(0,0,0,0.15);
    }

/* video frame */
.video-frame {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
}

    .video-frame iframe {
        width: 100%;
        height: 100%;
        border: none;
    }

/* info section */
.video-info {
    padding: 12px 14px;
}

    .video-info h4 {
        font-size: 15px;
        margin: 0;
        color: #20302C;
    }

    .video-info p {
        font-size: 13px;
        margin-top: 4px;
        color: #6B7A75;
    }



.gallery-head {
    text-align: center !important;
    margin-bottom: 30px;
}

    .gallery-head .eyebrow,
    .gallery-head h2,
    .gallery-head .lead {
        text-align: center !important;
        margin-left: auto;
        margin-right: auto;
    }

    .gallery-head .lead {
        max-width: 750px;
        color: #6B7A75;
    }


/* Hero banner ko hide mat karna */
.page-banner {
    opacity: 1 !important;
    transform: none !important;
}
















.section {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity .45s ease, transform .45s ease;
}

    .section.show {
        opacity: 1;
        transform: translateY(0);
    }

    .section .card {
        opacity: 0;
        transform: translateY(24px);
        transition: opacity .35s ease, transform .35s ease;
    }

    .section.show .card:nth-child(1) {
        transition-delay: .05s;
    }

    .section.show .card:nth-child(2) {
        transition-delay: .1s;
    }

    .section.show .card:nth-child(3) {
        transition-delay: .15s;
    }

    .section.show .card:nth-child(4) {
        transition-delay: .2s;
    }

    .section.show .card:nth-child(5) {
        transition-delay: .25s;
    }

    .section.show .card:nth-child(6) {
        transition-delay: .3s;
    }

    .section.show .card {
        opacity: 1;
        transform: translateY(0);
    }

/* PRELOADER */


#preloader {
    position: fixed;
    inset: 0;
    background: #FAF7F1;
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .6s ease;
}

    #preloader.hide {
        opacity: 0;
        visibility: hidden;
    }

.preloader-logo {
    width: 220px;
    height: 220px;
    object-fit: contain;
    animation: logoZoom 1.8s ease-in-out infinite;
}

@keyframes logoZoom {

    0% {
        transform: scale(0.85);
        opacity: .7;
    }

    50% {
        transform: scale(1.15);
        opacity: 1;
    }

    100% {
        transform: scale(0.85);
        opacity: .7;
    }
}