/* ============================================================
   DR. K. VAGEESH — FINAL UNIFIED SITE SYSTEM
   Global header, footer, typography, spacing, cards and inner pages.
   Loaded last on every page.
   ============================================================ */
:root{
  --site-maroon:#741d31;
  --site-maroon-dark:#4f1020;
  --site-deep:#1a0d10;
  --site-gold:#cda351;
  --site-gold-light:#e0bd78;
  --site-cream:#fbf8f2;
  --site-soft:#f7f2ec;
  --site-text:#332b28;
  --site-muted:#6f6661;
  --site-border:#e8ded4;
  --site-shadow:0 18px 50px rgba(63,33,37,.10);
}
html{scroll-behavior:smooth;}
body{margin:0;background:#fff;color:var(--site-text);font-family:"Open Sans",sans-serif;font-size:16px;line-height:1.72;overflow-x:hidden;}
a{color:var(--site-maroon);transition:.25s ease;}
a:hover{color:var(--site-gold);text-decoration:none;}
h1,h2,h3,h4,h5,h6{font-family:"Raleway",sans-serif;color:var(--site-deep);font-weight:700;line-height:1.18;}
p{color:var(--site-muted);}
img{max-width:100%;height:auto;}

/* ---------------- Header ---------------- */
#header.fixed-top,#header{
  position:sticky !important;top:0;z-index:997;width:100%;min-height:72px;padding:0 !important;
  background:rgba(251,248,242,.985) !important;border-bottom:1px solid rgba(116,29,49,.10);
  box-shadow:0 7px 24px rgba(47,22,26,.07) !important;backdrop-filter:saturate(150%) blur(9px);
  -webkit-backdrop-filter:saturate(150%) blur(9px);
}
#header .container-fluid{min-height:72px;padding:0 30px;display:grid !important;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;}
#header .logo{margin:0 !important;padding:0 !important;line-height:1 !important;font-size:27px !important;font-weight:700 !important;letter-spacing:.1px !important;text-transform:none !important;white-space:nowrap;justify-self:start;}
#header .logo a{color:var(--site-maroon) !important;}
#header .logo a:hover{color:var(--site-maroon-dark) !important;}
#header .nav-menu{justify-self:center;}
.nav-menu > ul{align-items:center;}
.nav-menu > ul > li{padding:0 0 0 31px !important;}
.nav-menu > ul > li:first-child{padding-left:0 !important;}
.nav-menu a{padding:25px 0 23px !important;color:#4b413d !important;font-family:"Raleway",sans-serif;font-size:15px !important;font-weight:600 !important;letter-spacing:.1px;}
.nav-menu a:before{height:2px !important;bottom:17px !important;background:var(--site-gold) !important;}
.nav-menu a:hover,.nav-menu .active > a,.nav-menu li:hover > a{color:var(--site-maroon) !important;}
.header-balance{min-width:1px;justify-self:end;}
.mobile-nav-toggle{right:20px !important;top:18px !important;color:var(--site-maroon) !important;}
.mobile-nav-toggle i{color:var(--site-maroon) !important;font-size:29px;}
.mobile-nav{top:82px !important;left:18px !important;right:18px !important;bottom:auto !important;max-height:calc(100vh - 100px);overflow:auto;border-radius:10px !important;box-shadow:0 18px 50px rgba(42,17,22,.18) !important;}
.mobile-nav a{color:#433936 !important;font-weight:600;}
.mobile-nav .active > a,.mobile-nav a:hover{color:var(--site-maroon) !important;}

/* ---------------- Main / sections ---------------- */
#main{margin-top:0 !important;}
body > main#main{padding-top:0 !important;}
section{padding:76px 0;overflow:hidden;}
body > main#main > section:first-child{padding-top:62px;}
.page-section{padding:76px 0;}
.section-title{text-align:center;padding-bottom:36px;}
.section-title h2{font-size:clamp(2rem,3.2vw,3rem);font-weight:750;text-transform:none;margin:0 0 16px;padding-bottom:18px;position:relative;color:var(--site-maroon-dark);}
.section-title h2:after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:54px;height:3px;background:var(--site-gold);}
.section-title h2:before{display:none !important;}
.section-title p{max-width:820px;margin:0 auto;color:var(--site-muted);font-size:1.03rem;line-height:1.78;}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--site-gold);font-family:"Raleway",sans-serif;font-size:.77rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px;}
.page-intro{max-width:860px;margin:0 auto 40px;text-align:center;}
.page-intro h1{font-size:clamp(2.2rem,4vw,3.8rem);color:var(--site-maroon-dark);margin-bottom:14px;}
.page-intro p{font-size:1.07rem;}
.content-card,.premium-card{background:#fff;border:1px solid var(--site-border);border-radius:18px;box-shadow:var(--site-shadow);}

/* buttons */
.btn-premium,.php-email-form button[type="submit"],.award-video-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:13px 25px;
  background:var(--site-maroon) !important;color:#fff !important;font-family:"Raleway",sans-serif;font-weight:700;letter-spacing:.01em;box-shadow:0 10px 24px rgba(116,29,49,.18);transition:.25s ease;
}
.btn-premium:hover,.php-email-form button[type="submit"]:hover,.award-video-btn:hover{transform:translateY(-2px);background:var(--site-maroon-dark) !important;color:#fff !important;}

/* ---------------- About ---------------- */
.about-final .about-portrait{position:relative;padding:10px;background:linear-gradient(145deg,#fff,var(--site-soft));border:1px solid var(--site-border);border-radius:20px;box-shadow:var(--site-shadow);}
.about-final .about-portrait img{width:100%;border-radius:14px;display:block;}
.about-final .about-copy{padding-left:24px;}
.about-final .about-copy h3{font-size:clamp(1.8rem,2.8vw,2.7rem);color:var(--site-maroon);margin-bottom:10px;}
.about-final .about-lead{font-size:1.08rem;color:#4e4541;}
.about-final .about-copy p,.about-final .about-longform p{font-style:normal !important;line-height:1.82;margin-bottom:17px;}
.about-final .about-longform{margin-top:28px;padding:30px 34px;}
.about-final strong{color:var(--site-maroon-dark);}

/* ---------------- Reviews ---------------- */
.reviews-final .review-card{overflow:hidden;margin-bottom:28px;}
.reviews-final .review-card .row{min-height:100%;}
.reviews-final .review-image{height:100%;min-height:260px;background:var(--site-soft);}
.reviews-final .review-image img{width:100%;height:100%;min-height:260px;object-fit:cover;display:block;}
.reviews-final .review-copy{padding:30px 32px;}
.reviews-final .review-copy h3{font-size:clamp(1.28rem,2vw,1.75rem);color:var(--site-maroon-dark);margin-bottom:9px;}
.review-meta{font-size:.88rem;color:#8a776f;font-weight:700;letter-spacing:.02em;margin-bottom:15px;}
.reviews-final blockquote{margin:0;padding:0;border:0;color:var(--site-muted);font-size:1rem;line-height:1.78;font-style:normal;}

/* ---------------- Accolades ---------------- */
.resume .resume-title{font-size:clamp(1.6rem,2.4vw,2.2rem);color:var(--site-maroon-dark);margin:44px 0 20px;}
.accolades-copy{padding:28px 32px;margin:34px 0;}
.accolades-copy p{font-style:normal !important;line-height:1.8;margin-bottom:16px;}
.awards-list{list-style:none !important;padding:0 !important;margin:0 !important;display:grid;gap:12px;}
.awards-list li{position:relative;padding:17px 20px 17px 50px;background:#fff;border:1px solid var(--site-border);border-radius:13px;color:#5c514c;line-height:1.62;box-shadow:0 5px 18px rgba(74,42,46,.05);}
.awards-list li:before{content:"★";position:absolute;left:19px;top:17px;color:var(--site-gold);font-size:1rem;}
.awards-list li strong{color:var(--site-maroon);}

/* ---------------- Archives ---------------- */
.portfolio #portfolio-flters{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;padding:0;margin:0 0 28px;}
.portfolio #portfolio-flters li{margin:0 !important;padding:9px 18px !important;border:1px solid var(--site-border);background:#fff;color:var(--site-maroon-dark) !important;border-radius:999px;font-weight:700;font-size:.9rem;box-shadow:0 5px 14px rgba(64,34,38,.05);}
.portfolio #portfolio-flters li:hover,.portfolio #portfolio-flters li.filter-active{background:var(--site-maroon) !important;color:#fff !important;border-color:var(--site-maroon) !important;}
.portfolio .portfolio-item{margin-bottom:28px !important;}
.portfolio .portfolio-wrap{height:280px;border-radius:14px;overflow:hidden;background:var(--site-soft);box-shadow:0 12px 30px rgba(59,31,34,.10);}
.portfolio .portfolio-wrap > img{width:100%;height:100%;object-fit:cover;transition:.45s ease;}
.portfolio .portfolio-wrap:hover > img{transform:scale(1.045);}
.portfolio .portfolio-wrap:before{background:linear-gradient(180deg,rgba(38,11,18,.04),rgba(57,15,27,.80)) !important;}
.portfolio .portfolio-info{opacity:0;top:auto !important;left:0 !important;right:0 !important;bottom:0 !important;padding:24px 22px !important;text-align:left !important;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;}
.portfolio .portfolio-wrap:hover .portfolio-info{opacity:1;}
.portfolio .portfolio-info p{color:#fff !important;font-size:.96rem !important;font-style:normal !important;font-weight:600 !important;line-height:1.45;margin:0 !important;max-width:80%;}
.portfolio .portfolio-links{margin:0 !important;white-space:nowrap;}
.portfolio .portfolio-links a{color:var(--site-gold-light) !important;}

/* ---------------- Contact ---------------- */
.contact-final .contact-map{overflow:hidden;border-radius:18px;border:1px solid var(--site-border);box-shadow:var(--site-shadow);margin-bottom:34px;}
.contact-final .contact-map iframe{display:block;width:100%;height:390px;border:0;}
.contact-final .contact-info-card{height:100%;padding:30px 28px;}
.contact-final .info .contact-detail{display:flex;gap:15px;align-items:flex-start;margin-bottom:24px;}
.contact-final .info .contact-detail:last-child{margin-bottom:0;}
.contact-final .info i{float:none !important;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(205,163,81,.15);color:var(--site-maroon) !important;font-size:20px;flex:0 0 44px;}
.contact-final .info h4{padding:0 !important;margin:1px 0 5px;font-size:1.02rem;color:var(--site-maroon-dark);}
.contact-final .info p{padding:0 !important;margin:0 0 4px;font-size:.96rem;line-height:1.58;}
.contact-final .form-card{padding:30px;}
.php-email-form .form-control{height:48px;border:1px solid #ddcfc3;border-radius:10px;padding:10px 14px;color:#403733;box-shadow:none;}
.php-email-form textarea.form-control{height:auto;min-height:145px;}
.php-email-form .form-control:focus{border-color:var(--site-gold);box-shadow:0 0 0 3px rgba(205,163,81,.15);}
.php-email-form button[type="submit"]{padding:12px 27px !important;}

/* ---------------- Footer ---------------- */
#footer{padding:0 !important;background:var(--site-deep) !important;color:#fff;}
.site-footer-main{padding:48px 0 38px;background:linear-gradient(135deg,#2b1117,#170b0e);border-top:1px solid rgba(205,163,81,.28);}
.footer-brand{margin:0 0 10px;color:#fff;font-size:27px;font-weight:700;}
.footer-tagline{margin:0;max-width:620px;color:rgba(255,255,255,.68);font-size:.96rem;line-height:1.65;}
.footer-nav{list-style:none;margin:0;padding:0;display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:10px 24px;}
.footer-nav a{color:rgba(255,255,255,.78);font-size:.92rem;font-weight:600;}
.footer-nav a:hover{color:var(--site-gold-light);}
.footer-bottom{padding:16px 0;background:#10080a;border-top:1px solid rgba(255,255,255,.06);font-size:.84rem;color:rgba(255,255,255,.56);}
.footer-bottom .credits{text-align:right;color:rgba(255,255,255,.48);}
.back-to-top{background:var(--site-maroon) !important;}
.back-to-top:hover{background:var(--site-gold) !important;}

/* ---------------- Responsive ---------------- */
@media(max-width:1199px){
  #header .container-fluid{grid-template-columns:1fr auto 1fr;padding:0 22px;}
  .nav-menu > ul > li{padding-left:22px !important;}
  .nav-menu a{font-size:14px !important;}
}
@media(max-width:991px){
  #header .container-fluid{display:flex !important;justify-content:space-between !important;min-height:68px;padding:0 20px;}
  #header .logo{font-size:24px !important;}
  .header-balance{display:none;}
  section,.page-section{padding:62px 0;}
  body > main#main > section:first-child{padding-top:52px;}
  .about-final .about-copy{padding-left:0;margin-top:26px;}
  .footer-nav{justify-content:flex-start;margin-top:24px;}
  .footer-bottom .credits{text-align:left;margin-top:5px;}
  .portfolio .portfolio-wrap{height:260px;}
}
@media(max-width:767px){
  section,.page-section{padding:48px 0;}
  body > main#main > section:first-child{padding-top:42px;}
  .section-title{padding-bottom:28px;}
  .section-title h2{font-size:2rem;}
  .about-final .about-longform,.reviews-final .review-copy,.contact-final .form-card,.contact-final .contact-info-card,.accolades-copy{padding:23px 21px;}
  .reviews-final .review-image,.reviews-final .review-image img{min-height:220px;height:240px;}
  .portfolio .portfolio-wrap{height:245px;}
  .portfolio .portfolio-info{opacity:1;background:linear-gradient(180deg,transparent,rgba(48,14,24,.80));}
  .contact-final .contact-map iframe{height:310px;}
  .site-footer-main{padding:38px 0 30px;}
}
@media(max-width:479px){
  #header .logo{font-size:21px !important;}
  #header .container-fluid{padding:0 16px;}
  .mobile-nav-toggle{right:14px !important;}
  .page-intro h1{font-size:2.15rem;}
  .awards-list li{padding:15px 16px 15px 43px;}
  .awards-list li:before{left:15px;top:15px;}
  .portfolio .portfolio-wrap{height:225px;}
  .footer-nav{gap:8px 16px;}
}

/* ============================================================
   HOME HERO — ABSOLUTE ZERO-GAP FIX
   The homepage uses <main class="home-premium"> (no #main id), so
   the global section padding must be explicitly cancelled here.
   Keep this block LAST in this stylesheet.
   ============================================================ */
body > main.home-premium {
  margin: 0 !important;
  padding: 0 !important;
}
body > main.home-premium > section.kv-hero,
main.home-premium > section.kv-hero,
section.kv-hero {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
main.home-premium > section.kv-hero > #kvHeroCarousel,
main.home-premium > section.kv-hero .carousel-inner,
main.home-premium > section.kv-hero .carousel-item {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (max-width: 1199px) {
  body > main.home-premium > section.kv-hero { margin:0 !important; padding:0 !important; }
}
@media (max-width: 991px) {
  body > main.home-premium > section.kv-hero { margin:0 !important; padding:0 !important; }
}
@media (max-width: 767px) {
  body > main.home-premium > section.kv-hero { margin:0 !important; padding:0 !important; }
}
@media (max-width: 479px) {
  body > main.home-premium > section.kv-hero { margin:0 !important; padding:0 !important; }
}

