  :root {
      --night: #070b18;
      --deep: #0e1628;
      --navy: #112044;
      --brand-blue: #1a3a8f;
      --brand-purple: #7b2d8b;
      --accent: #e0184c;
      --gold: #f0b942;
      --lavender: #e8e4f8;
      --star: #c8d8ff;
      --muted: #8898bb;
      --white: #f4f7ff;
      --card-bg: rgba(17, 32, 68, 0.65);
  }

  *,
  *::before,
  *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
  }

  html {
      scroll-behavior: smooth;
  }

  body {
      background: var(--night);
      color: var(--white);
      font-family: 'DM Sans', sans-serif;
      overflow-x: hidden;
  }

  .stars-canvas {
      position: fixed;
      inset: 0;
      z-index: 0;
      pointer-events: none;
  }

  /* NAV */
  nav {
      position: fixed;
      top: 0;
      width: 100%;
      z-index: 100;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px 5vw;
      background: linear-gradient(180deg, rgba(7, 11, 24, 0.97) 0%, transparent 100%);
      backdrop-filter: blur(6px);
  }

  .nav-logo {
      /*display: flex;*/
      align-items: center;
      gap: 10px;
      text-decoration: none;
      width: 180px;
  }

.nav-logo img{
    width: 100%;
}

  .nav-brand {
      line-height: 1.2;
  }

  .nav-brand-name {
      font-family: 'Playfair Display', serif;
      font-size: 1.15rem;
      color: var(--white);
      font-weight: 700;
  }

  .nav-brand-dept {
      font-size: 0.6rem;
      color: var(--muted);
      font-weight: 400;
      letter-spacing: 0.06em;
      display: block;
      max-width: 280px;
      line-height: 1.4;
  }

  .nav-cta {
      background: var(--accent);
      color: #fff;
      padding: 10px 22px;
      border-radius: 50px;
      font-size: 0.85rem;
      font-weight: 700;
      text-decoration: none;
      letter-spacing: 0.03em;
      transition: all .2s;
      box-shadow: 0 4px 16px rgba(224, 24, 76, 0.35);
      white-space: nowrap;
  }

  .nav-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 28px rgba(224, 24, 76, 0.5);
  }

  /* ── HERO — SLEEP LIKE A BABY ── */
  .hero {
      position: relative;
      min-height: 100vh;
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
      overflow: hidden;
      z-index: 1;
  }

  .hero-left {
      padding: 120px 0 80px 8vw;
      display: flex;
      flex-direction: column;
      justify-content: center;
      z-index: 2;
  }

  .hero-dept {
      font-size: 0.8rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--brand-purple);
      font-weight: 600;
      margin-bottom: 20px;
      opacity: 0;
      animation: fadein .7s .3s forwards;
      background: rgba(123, 45, 139, 0.15);
      border: 1px solid rgba(123, 45, 139, 0.35);
      display: inline-block;
      padding: 6px 16px;
      border-radius: 50px;
      width: fit-content;
  }

  .hero-headline {
      font-family: 'Bebas Neue', sans-serif;
      font-size: clamp(5rem, 9vw, 9rem);
      line-height: 0.92;
      letter-spacing: 0.02em;
      color: var(--white);
      opacity: 0;
      animation: fadein .7s .5s forwards;
  }

  .hero-headline .line-baby {
      color: var(--gold);
  }

  .hero-sub {
      margin-top: 24px;
      max-width: 420px;
      font-size: 1.05rem;
      color: var(--star);
      font-weight: 300;
      line-height: 1.75;
      opacity: 0;
      animation: fadein .7s .7s forwards;
  }

  .hero-dept-full {
      margin-top: 20px;
      font-size: 0.9rem;
      color: var(--muted);
      font-style: italic;
      opacity: 0;
      animation: fadein .7s .85s forwards;
  }

  .hero-btns {
      margin-top: 36px;
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      opacity: 0;
      animation: fadein .7s 1s forwards;
  }

  .btn-primary {
      background: var(--accent);
      color: #fff;
      padding: 15px 32px;
      border-radius: 50px;
      text-decoration: none;
      font-weight: 700;
      font-size: 0.95rem;
      box-shadow: 0 4px 24px rgba(224, 24, 76, 0.4);
      transition: all .25s;
  }

  .btn-primary:hover {
      transform: translateY(-3px);
      box-shadow: 0 12px 40px rgba(224, 24, 76, 0.55);
  }

  .btn-outline {
      border: 1.5px solid rgba(200, 216, 255, 0.3);
      color: var(--white);
      padding: 14px 28px;
      border-radius: 50px;
      text-decoration: none;
      font-weight: 500;
      font-size: 0.95rem;
      transition: all .25s;
  }

  .btn-outline:hover {
      border-color: var(--gold);
      color: var(--gold);
  }

  /* Hero right — baby image */
  .hero-right {
      position: relative;
      height: 100vh;
      display: flex;
      align-items: flex-end;
      justify-content: center;
      overflow: hidden;
  }

  .hero-baby-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
      opacity: 0;
      animation: fadein 1.2s .4s forwards;
      mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 60%, transparent 100%),
          linear-gradient(to top, rgba(0, 0, 0, 1) 80%, transparent 100%);
      -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 60%, transparent 100%);
  }

  .hero-moon {
      position: absolute;
      top: 10%;
      right: 6%;
      width: 80px;
      height: 80px;
      border-radius: 50%;
      background: radial-gradient(circle at 35% 35%, #fff9e6, #f0c060 45%, #c07820 85%);
      box-shadow: 0 0 40px 15px rgba(240, 185, 66, 0.2);
      opacity: 0;
      animation: moonrise 1.4s 0.6s ease forwards;
  }

  @keyframes moonrise {
      from {
          opacity: 0;
          transform: translateY(20px);
      }

      to {
          opacity: 1;
          transform: translateY(0);
      }
  }

  @keyframes fadein {
      to {
          opacity: 1;
      }
  }

  /* ── SECTION COMMONS ── */
  section {
      position: relative;
      z-index: 1;
  }

  .container {
      max-width: 1100px;
      margin: 0 auto;
  }

  .section-label {
      font-size: 0.7rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--accent);
      font-weight: 600;
      margin-bottom: 12px;
  }

  .section-title {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1.9rem, 3.5vw, 2.8rem);
      font-weight: 900;
      line-height: 1.15;
      margin-bottom: 18px;
  }

  .section-body {
      font-size: 1rem;
      color: var(--star);
      font-weight: 300;
      line-height: 1.8;
      max-width: 580px;
  }

  /* ── DEPT NAMEPLATE ── */
  .dept-strip {
      background: linear-gradient(135deg, #0d0a1a, #1a0a28);
      border-top: 1px solid rgba(123, 45, 139, 0.3);
      border-bottom: 1px solid rgba(123, 45, 139, 0.3);
      padding: 28px 0;
      text-align: center;
      z-index: 1;
  }

  .dept-strip p {
      font-size: 0.72rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--brand-purple);
      font-weight: 600;
      margin-bottom: 6px;
  }

  .dept-strip h2 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1.1rem, 2.5vw, 1.7rem);
      font-weight: 700;
      color: var(--white);
      letter-spacing: 0.03em;
  }

  /* ── SYMPTOMS ── */
  .symptoms {
      padding: 90px 0;
      background: linear-gradient(180deg, #0d0a1a 0%, var(--deep) 100%);
  }

  .symptoms-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
      gap: 14px;
      margin-top: 48px;
  }

  .sym-card {
      background: var(--card-bg);
      border: 1px solid rgba(200, 216, 255, 0.08);
      border-radius: 16px;
      padding: 22px 18px;
      display: flex;
      align-items: flex-start;
      gap: 14px;
      transition: all .3s;
      backdrop-filter: blur(8px);
  }

  .sym-card:hover {
      border-color: rgba(224, 24, 76, 0.4);
      transform: translateY(-4px);
      box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
  }

  .sym-icon {
      width: 38px;
      height: 38px;
      min-width: 38px;
      border-radius: 10px;
      background: rgba(224, 24, 76, 0.14);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.6rem;
  }

  .sym-card h4 {
      font-size: 16px;
      font-weight: 600;
      margin-bottom: 4px;
  }

  .sym-card p {
      font-size: 15px;
      color: var(--muted);
      line-height: 1.5;
  }

  /* ── HOW IT WORKS ── */
  .how {
      padding: 60px 0;
      background: var(--deep);
  }

  .steps {
      margin-top: 52px;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }

  .step {
      padding: 32px 26px;
      border-right: 1px solid rgba(200, 216, 255, 0.07);
  }

  .step:last-child {
      border-right: none;
  }

  .step-num {
      font-family: 'Bebas Neue', sans-serif;
      font-size: 5rem;
      color: rgba(200, 216, 255, 0.15);
      line-height: 1;
      margin-bottom: 14px;
  }

  .step-badge {
      display: inline-block;
      margin-bottom: 10px;
      background: rgba(240, 185, 66, 0.1);
      border: 1px solid rgba(240, 185, 66, 0.25);
      color: var(--gold);
      padding: 3px 12px;
      border-radius: 50px;
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.1em;
  }

  .step h3 {
      font-size: 1rem;
      font-weight: 700;
      margin-bottom: 8px;
  }

  .step p {
      font-size: 15px;
      color: var(--muted);
      line-height: 1.7;
  }

/* __ Sleep --*/

.sleep-image-area{
    position: relative;
}

.sleep-image-area img{
    width: 100%;
    /*border-radius: 25px;*/
}

.sleep-image-area::before{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(14, 22, 40, 1) 5%, rgba(14, 22, 40, .1) 80%);
    /*border-radius: 25px;*/
}

  /* ── DOCTOR ── */
  .doctor {
      padding: 100px 0;
      background: var(--night);
  }

  .doc-inner {
      display: grid;
      grid-template-columns: 420px 1fr;
      gap: 64px;
      align-items: center;
  }

  .doc-photo-wrap {
      position: relative;
      border-radius: 24px;
      overflow: hidden;
      background: linear-gradient(135deg, var(--brand-purple), var(--brand-blue));
      padding: 3px;
  }

  .doc-photo-inner {
      border-radius: 22px;
      overflow: hidden;
      background: var(--navy);
      aspect-ratio: 3/4;
  }

  .doc-photo-inner img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
      display: block;
  }

  .doc-glow {
      position: absolute;
      bottom: -40px;
      left: 50%;
      transform: translateX(-50%);
      width: 60%;
      height: 80px;
      background: radial-gradient(ellipse, rgba(123, 45, 139, 0.4), transparent 70%);
      pointer-events: none;
  }

  .doc-cred-pills {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
      margin-top: 16px;
  }

  .pill {
      background: rgba(26, 58, 143, 0.25);
      border: 1px solid rgba(200, 216, 255, 0.12);
      padding: 4px 12px;
      border-radius: 50px;
      font-size: 0.7rem;
      color: var(--star);
      font-weight: 500;
  }

  .doc-name {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2rem, 3vw, 2.6rem);
      font-weight: 900;
      line-height: 1.1;
      margin-bottom: 6px;
  }

  .doc-title {
      color: var(--brand-purple);
      font-size: 0.85rem;
      font-weight: 600;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      margin-bottom: 8px;
  }

  .doc-dept-name {
      font-size: 0.78rem;
      color: var(--muted);
      font-style: italic;
      margin-bottom: 20px;
      line-height: 1.5;
  }

  .doc-bio {
      font-size: 0.97rem;
      color: var(--star);
      line-height: 1.8;
      font-weight: 300;
      margin-bottom: 28px;
  }

  .doc-stats {
      display: flex;
      gap: 28px;
  }

  .stat-item .num {
      font-family: 'Bebas Neue', sans-serif;
      font-size: 2.6rem;
      color: var(--gold);
      line-height: 1;
  }

  .stat-item .lbl {
      font-size: 0.75rem;
      color: var(--muted);
      margin-top: 2px;
      line-height: 1.3;
  }

  /* ── CAMP ── */
  .camp {
      padding: 90px 0;
      background: linear-gradient(135deg, #10051a, #0d1528 50%, #150512);
      position: relative;
      overflow: hidden;
  }

  .camp::before {
      content: '';
      position: absolute;
      top: -120px;
      right: -80px;
      width: 480px;
      height: 480px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(224, 24, 76, 0.1), transparent 70%);
  }

  .camp-inner {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 56px;
      align-items: start;
  }

  .camp-tag {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(224, 24, 76, 0.18);
      border: 1px solid rgba(224, 24, 76, 0.45);
      color: #ff6a8e;
      padding: 7px 18px;
      border-radius: 50px;
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      margin-bottom: 18px;
  }

  .camp h2 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1.9rem, 3.5vw, 2.9rem);
      font-weight: 900;
      line-height: 1.1;
      margin-bottom: 24px;
  }

  .camp h2 span {
      color: var(--gold);
  }

  .camp-details {
      display: flex;
      flex-direction: column;
      gap: 14px;
      margin-bottom: 30px;
  }

  .camp-detail-row {
      display: flex;
      align-items: center;
      gap: 14px;
  }

  .camp-detail-icon {
      width: 44px;
      height: 44px;
      min-width: 44px;
      border-radius: 12px;
      background: rgba(200, 216, 255, 0.06);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.2rem;
  }

  .camp-detail-row h4 {
      font-size: 0.8rem;
      color: var(--muted);
      text-transform: uppercase;
      letter-spacing: 0.1em;
      margin-bottom: 2px;
  }

  .camp-detail-row p {
      font-size: 0.97rem;
      font-weight: 600;
      color: var(--white);
  }

  .camp-note {
      font-size: 1rem;
      color: var(--muted);
      margin-top: 10px;
  }

  .camp-symptoms {
      background: var(--card-bg);
      border: 1px solid rgba(200, 216, 255, 0.08);
      border-radius: 20px;
      padding: 30px 26px;
  }

  .camp-symptoms h3 {
      font-size: 1rem;
      font-weight: 700;
      color: var(--gold);
      margin-bottom: 16px;
  }

  .camp-sym-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px;
  }

  .camp-sym-list li {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 15px;
      color: var(--star);
  }

  .camp-sym-list li::before {
      content: '✓';
      color: var(--accent);
      font-weight: 700;
      min-width: 16px;
  }

  .camp-free-note {
      margin-top: 18px;
      padding: 14px 16px;
      background: rgba(224, 24, 76, 0.08);
      border-radius: 10px;
      border: 1px solid rgba(224, 24, 76, 0.18);
  }

  .camp-free-note p {
      font-size: 0.82rem;
      color: #ff6a8e;
      font-weight: 600;
  }

  /* ── CTA ── */
  .cta-section {
      padding: 100px 0;
      background: var(--deep);
      text-align: center;
  }

  .cta-section h2 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2rem, 4vw, 3rem);
      font-weight: 900;
      margin-bottom: 14px;
  }

  .cta-section > .container > p {
      color: var(--star);
      max-width: 500px;
      margin: 0 auto 40px;
      font-size: 1rem;
      font-weight: 300;
      line-height: 1.75;
  }

  .contact-cards {
      display: flex;
      gap: 18px;
      justify-content: center;
      flex-wrap: wrap;
      margin-top: 44px;
  }

  .contact-card {
      background: var(--card-bg);
      border: 1px solid rgba(200, 216, 255, 0.09);
      border-radius: 20px;
      padding: 28px 36px;
      min-width: 200px;
      text-decoration: none;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
      transition: all .25s;
  }

  .contact-card:hover {
      border-color: var(--accent);
      transform: translateY(-5px);
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
  }

  .contact-card .cc-icon {
      font-size: 1.8rem;
  }

  .contact-card .cc-label {
      font-size: 0.8rem;
      color: var(--muted);
      text-transform: uppercase;
      letter-spacing: 0.1em;
  }

  .contact-card .cc-val {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--white);
  }

  /* FOOTER */
  footer {
      background: var(--night);
      border-top: 1px solid rgba(200, 216, 255, 0.05);
      padding: 28px 5vw;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 8px;
      font-size: 15px;
      color: var(--muted);
  }

  footer a {
      color: var(--muted);
      text-decoration: none;
  }

  /* FLOAT CTA */
  .float-cta {
      position: fixed;
      bottom: 26px;
      right: 26px;
      z-index: 200;
      background: var(--accent);
      color: #fff;
      padding: 15px 26px;
      border-radius: 50px;
      font-family: 'DM Sans', sans-serif;
      font-size: 0.88rem;
      font-weight: 700;
      text-decoration: none;
      box-shadow: 0 8px 32px rgba(224, 24, 76, 0.45);
      display: flex;
      align-items: center;
      gap: 8px;
      animation: floatbounce 3s ease-in-out infinite;
  }

  @keyframes floatbounce {

      0%,
      100% {
          transform: translateY(0);
      }

      50% {
          transform: translateY(-6px);
      }
  }

  .float-cta:hover {
      animation: none;
      transform: scale(1.05);
  }

.whatsapp-float {
    position: fixed;
    bottom: 80px;
    right: 0;
    z-index: 999;
}

.whatsapp-float img {
    width: 100px;
}

@media (max-width: 767px){
    .nav-logo{
        width: 120px;
    }
    
    .nav-cta{
        padding: 10px 15px;
    }
    
    .hero-left{
        background: url(images/hero-banner.jpeg);
        background-size: 150% auto;
        background-position: center;
        background-repeat: no-repeat;
        position: relative;
    }
    
    .hero-left::after{
        content: "";
        position: absolute;
        background: linear-gradient(to top, rgba(0, 0, 0, .6) 60%, transparent 100%);
        width: 100%;
        height: 100%;
        left: 0;
        
    }
    
    .hero-left .hero-desc{
        position: relative;
        z-index: 99;
    }
    
    .hero-right{
        display: none;
    }
    
    .hero-dept {
        font-size: 0.5rem;
    }
    
    .hero-headline {
        font-size: clamp(4rem, 9vw, 9rem);
    }
    
    .btn-primary{
        text-align: center;
        padding: 15px 15px;
    }
    
    .btn-outline{
        text-align: center;
        width: 100%;
    }
    
    .symptoms{
        padding: 60px 0;
    }
    
    .container{
        width: 100%;
        padding: 0 15px;
    }
    
    .contact-card{
        width: 100%;
    }
    
    .whatsapp-float img{
        width: 80px;
    }
}

  /* RESPONSIVE */
  @media (max-width: 900px) {
      .hero {
          grid-template-columns: 1fr;
          min-height: auto;
      }

      /*
      .hero-left {
          padding: 120px 6vw 40px;
      }
      */

      /*
      .hero-right {
          height: 55vw;
          max-height: 400px;
      }
      */

      .doc-inner {
          grid-template-columns: 1fr;
      }

      .doc-photo-wrap {
          max-width: 320px;
          margin: 0 auto;
      }

      .camp-inner {
          grid-template-columns: 1fr;
      }

      .step {
          border-right: none;
          border-bottom: 1px solid rgba(200, 216, 255, 0.07);
          padding: 24px 20px;
      }

      .step:last-child {
          border-bottom: none;
      }
  }