@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--ink:#14221b;--green:#183b2b;--gold:#c79a48;--cream:#f7f2e8;--paper:#fffdf8;--muted:#68736c;--line:#e8dfcf}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.topbar{height:78px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:#fffdf8;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{font-family:'Playfair Display',serif;font-size:27px;font-weight:700;letter-spacing:-1px}.brand span{color:var(--gold);margin-left:3px}.topbar nav{display:flex;gap:30px;font-size:13px;font-weight:600}.topbar nav a:hover,.social-links a:hover{color:#a5782b}.nav-book{padding:11px 18px;border:1px solid var(--green);border-radius:3px;font-size:12px;font-weight:700}.hero{min-height:590px;padding:65px 8vw 55px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:50px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 85% 15%,#efe1bd 0,transparent 38%),linear-gradient(120deg,#f8f3e9,#fffdf8 60%,#eee5d2)}.eyebrow{font-size:11px;letter-spacing:2.2px;font-weight:700;color:#9b742f;margin:0 0 18px}.hero h1{font-family:'Playfair Display',serif;font-size:clamp(46px,6vw,78px);line-height:1.02;letter-spacing:-2px;margin:0 0 23px}.hero h1 span{color:var(--green)}.intro{max-width:520px;font-size:17px;color:#59635d}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 21px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:13px 20px;border:0;border-radius:3px;font:700 12px 'DM Sans',sans-serif;cursor:pointer;transition:transform .2s,opacity .2s}.button:hover{transform:translateY(-2px);opacity:.92}.button-gold{background:var(--gold);color:#171b15}.button-outline{border:1px solid #b7ad99;background:transparent}.button-dark{background:var(--green);color:white}.quick-contact{display:flex;flex-wrap:wrap;gap:20px;font-size:12px;font-weight:700}.quick-contact a:last-child{color:#21784a}.hero-photo-wrap{max-width:470px;justify-self:end;width:100%;position:relative}.photo-frame{padding:10px;background:white;box-shadow:0 22px 60px #493c201c;transform:rotate(1deg);border:1px solid #e7dcc7}.photo-frame img{display:block;width:100%;height:410px;object-fit:cover;object-position:center 25%}.photo-placeholder{height:410px;display:grid;place-items:center;background:#e8dfcf;font-family:'Playfair Display',serif;text-align:center}.photo-caption{font-size:11px;margin:15px 0 0 5px;color:#5b665e}.dot{display:inline-block;width:7px;height:7px;background:#b99043;border-radius:50%;margin-right:8px}.decor-note{position:absolute;right:3%;bottom:2%;font-size:150px;color:#c6a15b17;font-family:serif}.credential-strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--green);color:#fff;padding:27px 8vw;gap:20px}.credential-strip div{padding-left:22px;border-left:1px solid #ffffff36}.credential-strip strong,.credential-strip span{display:block}.credential-strip strong{font-family:'Playfair Display',serif;font-size:17px;font-weight:600}.credential-strip span{font-size:11px;color:#d5dfd7;margin-top:4px}.section{padding:95px 9vw}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.section-heading h2,.booking-intro h2{font:600 clamp(34px,4vw,50px)/1.15 'Playfair Display',serif;letter-spacing:-1px;margin:0}.section-heading h2 em,.booking-intro h2 em{font-weight:500;color:#a47b36}.about-copy{color:#606a63;font-size:14px}.text-link{display:inline-block;margin-top:12px;color:var(--green);font-weight:700;font-size:13px;border-bottom:1px solid var(--gold);padding-bottom:5px}.text-link span{color:var(--gold);padding-left:8px}.music-section{background:var(--cream)}.centered{text-align:center}.section-subtitle{color:var(--muted);font-size:14px}.video-card{max-width:900px;margin:35px auto 20px;padding:24px 27px;background:#fffdf8;border:1px solid var(--line);display:flex;align-items:center;gap:20px}.video-icon{width:50px;height:50px;border-radius:50%;background:#f0e1bd;display:grid;place-items:center;color:var(--green);font-size:18px;flex-shrink:0}.video-card h3{margin:0 0 3px;font:600 19px 'Playfair Display',serif}.video-card p{margin:0;color:var(--muted);font-size:12px}.video-card .button{margin-left:auto;white-space:nowrap}.music-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:28px}.music-tags span{border:1px solid #d8c9ad;padding:7px 12px;border-radius:30px;font-size:11px;color:#5d625a}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px;align-items:stretch}.gallery-photo{position:relative;min-height:300px;background:#eee4d1;overflow:hidden}.gallery-photo img{width:100%;height:100%;min-height:300px;max-height:430px;object-fit:cover;object-position:center 25%;display:block}.gallery-photo span{position:absolute;bottom:14px;left:14px;background:#14221bdc;color:white;padding:7px 12px;font-size:11px}.gallery-note{background:var(--cream);padding:35px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.big-note{font-size:42px;color:var(--gold)}.gallery-note h3{font:600 30px/1.2 'Playfair Display',serif;margin:8px 0}.gallery-note p{font-size:13px;color:var(--muted);max-width:350px}.booking-section{background:#14271e;color:#fff;padding:85px 9vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.booking-intro .eyebrow{color:#d8b46e}.booking-intro h2 em{color:#e1bd75}.booking-intro>p:not(.eyebrow){font-size:14px;color:#d2dcd4;max-width:400px;margin-top:22px}.contact-lines{display:flex;flex-direction:column;gap:12px;margin-top:30px;font-size:13px;font-weight:600}.contact-lines a:hover{color:#e1bd75}.booking-form{background:#fffdf8;color:var(--ink);padding:30px;display:flex;flex-direction:column}.booking-form label{font-size:11px;font-weight:700;margin:0 0 6px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;padding:12px 13px;margin:0 0 16px;border:1px solid #ded7ca;background:white;border-radius:2px;font:13px 'DM Sans',sans-serif;color:var(--ink)}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:2px solid #d9b66f;outline-offset:1px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.submit-button{width:100%;font-size:12px}.form-note,.form-status{font-size:10px;color:#68736c;margin:10px 0 0}.footer{padding:35px 8vw 22px;display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center;background:#0e1c15;color:#e8eee8}.footer-brand{font-size:25px}.footer p{font-size:11px;color:#b9c5bc}.social-links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:15px;font-size:11px}.copyright{grid-column:1/-1;border-top:1px solid #ffffff20;padding-top:17px;margin:5px 0 0!important;font-size:10px!important}
@media(max-width:760px){.topbar{height:65px;padding:0 5vw}.topbar nav{display:none}.brand{font-size:24px}.nav-book{padding:9px 12px;font-size:11px}.hero{padding:48px 6vw 40px;grid-template-columns:1fr;gap:28px}.hero h1{font-size:54px}.intro{font-size:15px}.hero-photo-wrap{justify-self:center;max-width:430px}.photo-frame img{height:350px}.credential-strip{padding:22px 6vw;grid-template-columns:1fr;gap:16px}.credential-strip div{padding-left:14px}.section{padding:65px 6vw}.about{grid-template-columns:1fr;gap:22px}.section-heading h2,.booking-intro h2{font-size:39px}.video-card{align-items:flex-start;flex-wrap:wrap;padding:20px}.video-card .button{margin-left:0;width:100%}.gallery-grid{grid-template-columns:1fr}.gallery-photo,.gallery-photo img{min-height:280px}.booking-section{padding:60px 6vw;grid-template-columns:1fr;gap:30px}.booking-form{padding:22px}.footer{padding:30px 6vw 20px;grid-template-columns:1fr}.social-links{justify-content:flex-start}.copyright{grid-column:auto}.form-row{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Pankaj Kumar Rajpoot - Performance Gallery */

.performance-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 32px;
}

.gallery-item {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  padding: 0;
  overflow: hidden;
  border: 1px solid #e8dfcf;
  background: #eee4d1;
  cursor: zoom-in;
}

.gallery-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease;
}

.gallery-item:hover img {
  transform: scale(1.035);
}

.gallery-item span {
  position: absolute;
  left: 10px;
  bottom: 10px;
  padding: 6px 9px;
  color: #fff;
  background: rgba(20, 34, 27, 0.88);
  font: 600 11px Arial, sans-serif;
}

.gallery-lightbox {
  display: none;
  position: fixed;
  z-index: 1000;
  inset: 0;
  padding: 55px 18px 22px;
  align-items: center;
  justify-content: center;
  background: rgba(5, 12, 8, 0.93);
}

.gallery-lightbox.is-open {
  display: flex;
}

.gallery-lightbox img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.gallery-close {
  position: absolute;
  top: 12px;
  right: 18px;
  border: 0;
  background: transparent;
  color: white;
  font-size: 38px;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 760px) {
  .performance-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .gallery-item {
    aspect-ratio: 3 / 4;
  }

  .gallery-item span {
    left: 6px;
    bottom: 6px;
    font-size: 10px;
  }
}
/* Hide captions below gallery photos */
.gallery-item span {
  display: none !important;
}
.gallery-item span,
.gallery-item .caption,
.gallery-item figcaption {
    display: none !important;
}
/* YouTube videos in Listen & Watch */
.youtube-video-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    max-width: 900px;
    margin: 30px auto;
}

.youtube-video-card {
    overflow: hidden;
    border-radius: 12px;
    background: #101c17;
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.15);
}

.youtube-video-card iframe {
    display: block;
    width: 100%;
    aspect-ratio: 9 / 16;
    height: auto;
    border: 0;
}

@media (max-width: 650px) {
    .youtube-video-grid {
        grid-template-columns: 1fr;
        max-width: 360px;
    }
}
/* Pankaj Singer Fatehpur - Brand Styling */
.brand {
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.brand span {
    margin-left: 5px;
    color: #d4af37;
}

.footer-brand {
    font-size: 18px;
}

@media (max-width: 480px) {
    .topbar .brand {
        font-size: 11px;
        letter-spacing: 0;
    }

    .topbar nav {
        gap: 8px;
    }

    .nav-book {
        font-size: 10px;
        padding: 8px;
    }
}
/* =====================================
   PANKAJ SINGER FATEHPUR - BRAND LOGO
   ===================================== */

.topbar .brand {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
    text-decoration: none;
    white-space: nowrap;
}

.topbar .brand-name {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.topbar .brand-pankaj {
    color: #173F32;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: 800;
    letter-spacing: 0.2px;
}

.topbar .brand-city {
    color: #B88935;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    font-weight: 800;
    letter-spacing: 1.2px;
}

.topbar .brand-note {
    color: #B88935;
    font-size: 25px;
    line-height: 1;
}

/* TABLET */
@media (min-width: 601px) and (max-width: 900px) {
    .topbar .brand-pankaj {
        font-size: 16px;
    }

    .topbar .brand-city {
        font-size: 15px;
    }

    .topbar .brand-note {
        font-size: 21px;
    }
}

/* MOBILE */
@media (max-width: 600px) {
    .topbar {
        gap: 8px;
    }

    .topbar .brand {
        gap: 3px;
        min-width: 0;
    }

    .topbar .brand-pankaj {
        font-size: 12px;
        letter-spacing: 0;
    }

    .topbar .brand-city {
        font-size: 11px;
        letter-spacing: 0.8px;
    }

    .topbar .brand-note {
        font-size: 17px;
    }

    .topbar nav {
        display: none;
    }

    .topbar .nav-book {
        font-size: 12px;
        padding: 8px 10px;
        white-space: nowrap;
    }
}

/* SMALL MOBILE */
@media (max-width: 360px) {
    .topbar .brand-pankaj {
        font-size: 10px;
    }

    .topbar .brand-city {
        font-size: 9px;
    }

    .topbar .brand-note {
        font-size: 14px;
    }

    .topbar .nav-book {
        font-size: 10px;
        padding: 7px 8px;
    }
}
