/* ============================================================
   TUITION POINT DELHI — SHARED CSS  (fixed v3)
============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;700;900&family=Nunito:wght@400;600;700;800;900&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#0f172a;--blue:#1e40af;--gold:#f4b621;--gold2:#f97316;
  --white:#fdfefe;--gray:#374151;--lightgray:#f1f5f9;
  --line-bg:repeating-linear-gradient(to bottom,#fdfefe 0px,#fdfefe 23px,#e7edf5 24px);
  --nav-h:62px;
}
html{scroll-behavior:smooth}
body{font-family:'Nunito',system-ui,sans-serif;color:var(--navy);background:var(--line-bg);overflow-x:hidden;}

@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes iconPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.09)}}
@keyframes footerFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes popIn{from{transform:scale(.88) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}
@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}

/* ============================
   NAV
============================ */
#tpd-nav{
  position:sticky;top:0;z-index:9999;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom:3px solid var(--gold);
  height:var(--nav-h);padding:0 20px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  box-shadow:0 4px 20px rgba(0,0,0,.10);
}
.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:0 0 auto;}
.nav-logo{
  width:38px;height:38px;border-radius:8px;flex:0 0 38px;
  background:linear-gradient(135deg,var(--navy),var(--blue));
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);font-weight:900;font-size:1.1rem;font-family:'Baloo 2',sans-serif;
}
.nav-name{font-family:'Baloo 2',sans-serif;font-weight:900;font-size:1rem;color:var(--navy);white-space:nowrap;}
.nav-links{display:flex;align-items:center;gap:2px;flex:1 1 auto;justify-content:center;}
.nav-links>a{
  padding:6px 11px;border-radius:999px;font-weight:700;font-size:.78rem;
  color:var(--navy);text-decoration:none;transition:.22s;border:2px solid transparent;white-space:nowrap;
}
.nav-links>a:hover,.nav-links>a.active{background:var(--gold);color:var(--navy);border-color:var(--gold);}
/* DROPDOWN */
.nav-dropdown{position:relative;display:flex;align-items:center;}
.nav-dropdown-btn{
  display:flex;align-items:center;gap:4px;
  padding:6px 11px;border-radius:999px;
  font-weight:700;font-size:.78rem;color:var(--navy);
  background:none;border:2px solid transparent;cursor:pointer;
  font-family:inherit;transition:.22s;white-space:nowrap;
}
.nav-dropdown-btn:hover{background:rgba(244,182,33,.15);border-color:var(--gold);}
.nav-dropdown-btn .arr{font-size:.55rem;transition:transform .22s;display:inline-block;margin-left:2px;}
.nav-dropdown:hover .arr,.nav-dropdown.open .arr{transform:rotate(180deg);}
.nav-dropdown-menu{
  display:none;position:absolute;top:calc(100% + 8px);right:0;
  background:#fff;border-radius:14px;padding:6px;min-width:165px;
  box-shadow:0 16px 44px rgba(0,0,0,.18);border:2px solid rgba(244,182,33,.35);
  z-index:99999;animation:fadeUp .18s ease both;
}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{display:block;}
.nav-dropdown-menu a{
  display:block;padding:9px 14px;border-radius:10px;
  font-weight:700;font-size:.82rem;color:var(--navy);text-decoration:none;transition:.18s;
}
.nav-dropdown-menu a:hover{background:var(--gold);color:var(--navy);}
.nav-dropdown-menu a.active{background:rgba(244,182,33,.18);color:var(--blue);}
.nav-cta{
  flex:0 0 auto;padding:8px 16px;border-radius:999px;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:var(--navy);font-weight:900;font-size:.79rem;
  text-decoration:none;white-space:nowrap;
  box-shadow:0 4px 12px rgba(244,182,33,.4);transition:.25s;
}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(244,182,33,.5);}
.nav-hamburger{
  display:none;flex:0 0 auto;background:none;border:2px solid var(--gold);
  border-radius:8px;padding:5px 9px;font-size:1.2rem;cursor:pointer;color:var(--navy);line-height:1;
}
@media(max-width:1024px){.nav-links{display:none;}.nav-hamburger{display:block;}}

/* MOBILE MENU */
.mobile-menu{
  display:none;position:fixed;top:var(--nav-h);left:0;right:0;
  background:#fff;border-bottom:3px solid var(--gold);
  padding:10px 14px 16px;z-index:9998;flex-direction:column;gap:2px;
  box-shadow:0 14px 32px rgba(0,0,0,.16);
  max-height:calc(100vh - var(--nav-h));overflow-y:auto;
}
.mobile-menu.open{display:flex;}
.mobile-menu a{padding:10px 14px;border-radius:10px;font-weight:700;font-size:.9rem;color:var(--navy);text-decoration:none;transition:.18s;}
.mobile-menu a:hover,.mobile-menu a.active{background:var(--gold);color:var(--navy);}
.mobile-menu-section{font-size:.68rem;font-weight:900;color:#9ca3af;letter-spacing:.1em;text-transform:uppercase;padding:10px 14px 3px;}

/* ============================
   SECTION / TITLE / CARD
============================ */
.tpd-section{padding:60px 20px;background:var(--line-bg);position:relative;overflow:hidden;}
.tpd-title{font-family:'Baloo 2',sans-serif;font-size:clamp(1.7rem,4vw,2.7rem);font-weight:900;text-align:center;color:var(--navy);margin-bottom:8px;}
.tpd-underline{width:120px;height:4px;background:linear-gradient(90deg,var(--blue),var(--gold),var(--blue));margin:8px auto 20px;border-radius:999px;}
.tpd-sub{text-align:center;max-width:780px;margin:0 auto 36px;color:var(--gray);font-size:1rem;line-height:1.7;}
.tpd-card{background:#fff;border-radius:18px;padding:22px;border-left:6px solid var(--gold);box-shadow:0 10px 28px rgba(0,0,0,.11);transition:transform .3s,box-shadow .3s;}
.tpd-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(0,0,0,.17);}
.tpd-card-blue{border-left-color:var(--blue);}
.tpd-grid-2{display:grid;grid-template-columns:1fr;gap:18px;}
.tpd-grid-3{display:grid;grid-template-columns:1fr;gap:16px;}
@media(min-width:700px){.tpd-grid-2{grid-template-columns:repeat(2,1fr);}.tpd-grid-3{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1100px){.tpd-grid-3{grid-template-columns:repeat(3,1fr);}}
.tpd-cta-box{max-width:900px;margin:0 auto;background:linear-gradient(135deg,var(--gold),var(--blue));border-radius:22px;padding:30px 22px;text-align:center;font-weight:900;color:var(--navy);box-shadow:0 14px 40px rgba(0,0,0,.22);}
.tpd-cta-box h3{font-size:1.55rem;margin-bottom:8px;}
.tpd-cta-box p{color:#020617;margin-bottom:16px;font-size:.97rem;}
.tpd-btn{display:inline-block;padding:12px 34px;border-radius:999px;font-weight:900;text-decoration:none;transition:.25s;}
.tpd-btn-dark{background:var(--navy);color:#fff;}
.tpd-btn-dark:hover{background:var(--blue);transform:scale(1.04);}
.tpd-btn-green{background:#22c55e;color:#fff;}
.tpd-btn-green:hover{background:#16a34a;transform:scale(1.04);}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ============================
   FOOTER
============================ */
#tpd-footer{padding:60px 20px 28px;background:var(--line-bg);color:var(--navy);}
.footer-grid{max-width:1250px;margin:0 auto 40px;display:grid;grid-template-columns:1fr;gap:34px;}
@media(min-width:768px){.footer-grid{grid-template-columns:1.3fr 1fr 1fr;gap:50px;}}
.footer-brand h3{font-family:'Baloo 2',sans-serif;font-size:1.85rem;font-weight:900;color:var(--blue);margin-bottom:12px;}
.footer-brand p{color:var(--gray);font-size:.94rem;line-height:1.7;margin-bottom:16px;}
.footer-social{display:flex;gap:10px;}
.footer-social a{width:42px;height:42px;border-radius:50%;background:#fff;border:2px solid var(--gold);color:var(--blue);display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:900;transition:.3s;}
.footer-social a:hover{background:var(--gold);color:#020617;transform:translateY(-4px) scale(1.05);}
.footer-col-title{font-size:1.1rem;font-weight:900;margin-bottom:14px;color:var(--blue);position:relative;}
.footer-col-title::after{content:"";display:block;width:44px;height:3px;background:var(--gold);margin-top:6px;border-radius:10px;}
.footer-links{list-style:none;}
.footer-links li{margin-bottom:9px;font-size:.92rem;color:var(--gray);padding-left:14px;position:relative;}
.footer-links li::before{content:"•";position:absolute;left:0;color:var(--gold);}
.footer-links a{color:var(--gray);text-decoration:none;transition:.2s;}
.footer-links a:hover{color:var(--blue);}
.footer-address{max-width:900px;margin:0 auto;background:#fff;border-radius:20px;padding:26px 22px;border-left:6px solid var(--gold);box-shadow:0 10px 28px rgba(0,0,0,.11);animation:footerFloat 6s ease-in-out infinite;}
.footer-address p{margin:7px 0;font-size:.93rem;color:var(--gray);line-height:1.7;}
.footer-address span{color:var(--blue);font-weight:800;}
.footer-bottom{margin-top:26px;text-align:center;font-size:.83rem;color:#475569;border-top:1px solid #dbeafe;padding-top:14px;}

/* ============================
   FLOATING ICONS
============================ */
#float-icons{position:fixed;right:12px;bottom:26px;display:flex;flex-direction:column;gap:10px;z-index:9999999;}
#float-icons a{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.32);transition:.25s;}
#float-icons a:hover{transform:scale(1.13);}
.fi-wa{background:#25D366;}.fi-call{background:#2563eb;}
.fi-g{background:#fff;font-family:'Baloo 2',sans-serif;font-size:1.5rem;font-weight:900;color:#4285F4;border:2px solid #4285F4;}
#float-icons img{width:26px;height:26px;}#float-icons svg{width:26px;height:26px;}

/* ============================
   POPUP — enhanced
============================ */
#tpd-popup{
  position:fixed;inset:0;
  background:rgba(10,15,30,.75);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;
  z-index:999999999;padding:20px;
}
.popup-box{
  background:#fff;border-radius:24px;width:100%;max-width:440px;
  padding:0;position:relative;
  box-shadow:0 40px 100px rgba(0,0,0,.55);
  overflow:hidden;
  animation:popIn .4s cubic-bezier(.34,1.56,.64,1) both;
}
.popup-box::before{
  content:"";display:block;height:6px;width:100%;
  background:linear-gradient(90deg,var(--gold),var(--blue),var(--gold));
  background-size:200% 100%;
  animation:shimmer 3s linear infinite;
}
.popup-inner{padding:24px 26px 28px;}
.popup-close{
  position:absolute;right:14px;top:14px;
  width:28px;height:28px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:16px;cursor:pointer;color:var(--gray);
  background:rgba(0,0,0,.07);border:none;font-family:inherit;transition:.2s;font-weight:900;
}
.popup-close:hover{background:rgba(0,0,0,.15);color:var(--navy);}
.popup-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.popup-brand-logo{
  width:44px;height:44px;border-radius:10px;flex:0 0 44px;
  background:linear-gradient(135deg,var(--navy),var(--blue));
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);font-weight:900;font-size:1.25rem;font-family:'Baloo 2',sans-serif;
}
.popup-brand-text h2{font-family:'Baloo 2',sans-serif;font-size:1.25rem;font-weight:900;color:var(--navy);line-height:1.15;}
.popup-brand-text p{font-size:.78rem;color:var(--gray);margin-top:3px;}
.popup-trust{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;}
.popup-chip{padding:4px 11px;border-radius:999px;background:rgba(244,182,33,.12);border:1px solid rgba(244,182,33,.35);font-size:.72rem;font-weight:700;color:var(--navy);}
.popup-choice-btn{
  width:100%;padding:14px 18px;margin:7px 0;border-radius:14px;border:none;
  font-size:.97rem;font-weight:900;cursor:pointer;font-family:inherit;transition:.25s;
  display:flex;align-items:center;justify-content:center;gap:10px;
}
.popup-choice-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.18);}
.popup-btn-teacher{background:linear-gradient(135deg,var(--gold),#f97316);color:#020617;box-shadow:0 4px 14px rgba(244,182,33,.3);}
.popup-btn-student{background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;box-shadow:0 4px 14px rgba(30,64,175,.28);}
.popup-divider{display:flex;align-items:center;gap:10px;margin:2px 0 6px;font-size:.74rem;font-weight:700;color:#9ca3af;}
.popup-divider::before,.popup-divider::after{content:"";flex:1;height:1px;background:#e5e7eb;}
#popup-form input,#popup-form textarea{
  width:100%;padding:11px 13px;margin:5px 0;
  border-radius:12px;border:2px solid #e5e7eb;background:#f9fafb;
  font-size:.9rem;font-family:inherit;transition:.22s;outline:none;
}
#popup-form input:focus,#popup-form textarea:focus{border-color:var(--gold);background:#fff;}
#popup-form textarea{min-height:68px;resize:none;}
.popup-submit{
  width:100%;padding:14px;margin-top:10px;
  background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;
  border:none;border-radius:14px;font-size:.97rem;font-weight:900;
  cursor:pointer;font-family:inherit;transition:.25s;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.popup-submit:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(34,197,94,.35);}
.popup-back{background:none;border:none;font-size:.78rem;font-weight:700;color:#9ca3af;cursor:pointer;font-family:inherit;margin-top:8px;display:block;width:100%;text-align:center;padding:4px;}
.popup-back:hover{color:var(--navy);}

/* ============================
   PAGE HERO / BREADCRUMB
============================ */
.page-hero{
  padding:80px 20px 60px;text-align:center;
  background:radial-gradient(circle at 20% 20%,rgba(244,182,33,.16),transparent 45%),radial-gradient(circle at 80% 80%,rgba(30,64,175,.14),transparent 45%),var(--line-bg);
}
.page-hero h1{font-family:'Baloo 2',sans-serif;font-size:clamp(2rem,5vw,3.2rem);font-weight:900;margin-bottom:12px;animation:fadeUp .7s ease both;}
.page-hero p{max-width:700px;margin:0 auto;color:var(--gray);font-size:1.05rem;line-height:1.7;animation:fadeUp .7s ease .15s both;}
.breadcrumb{padding:10px 20px;background:rgba(244,182,33,.07);border-bottom:1px solid rgba(244,182,33,.2);font-size:.82rem;color:var(--gray);}
.breadcrumb a{color:var(--blue);text-decoration:none;font-weight:700;}
.breadcrumb a:hover{text-decoration:underline;}
.breadcrumb span{margin:0 6px;color:#9ca3af;}
