/* ═══════════════════════════════════════════════
   THE MODERN PUNDIT — Shared Styles
   Peacock: Purple · Blue · Teal · Gold
═══════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Rajdhani:wght@300;400;500;600&family=Noto+Serif+Devanagari:wght@300;400&display=swap');

:root {
  --peacock-blue:  #1565C0;
  --peacock-azure: #29B6F6;
  --peacock-teal:  #00897B;
  --royal-purple:  #6A1B9A;
  --deep-purple:   #38006b;
  --gold:          #C9A84C;
  --pale-gold:     #F0D080;
  --midnight:      #07050F;
  --charcoal:      #110D1E;
  --card-bg:       #160F28;
  --cream:         #F0EAF8;
  --muted:         rgba(240,234,248,0.55);
  --feather-grad:  linear-gradient(135deg, #6A1B9A 0%, #1565C0 35%, #00897B 65%, #C9A84C 100%);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--midnight);color:var(--cream);font-family:'Rajdhani',sans-serif;overflow-x:hidden;cursor:none;}

/* ── Cursor (hidden on touch devices) ── */
.cursor{width:12px;height:12px;background:var(--peacock-azure);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .3s,height .3s;mix-blend-mode:screen;}
.cursor-ring{width:36px;height:36px;border:1px solid rgba(41,182,246,.5);border-radius:50%;position:fixed;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s,height .3s;}
@media(hover:none){.cursor,.cursor-ring{display:none;}body{cursor:auto;}}

/* ── Noise overlay ── */
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");opacity:.2;pointer-events:none;z-index:1;}
.ambient{position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 60% 50% at 80% 20%,rgba(106,27,154,.18) 0%,transparent 70%),radial-gradient(ellipse 50% 40% at 10% 70%,rgba(21,101,192,.14) 0%,transparent 70%),radial-gradient(ellipse 40% 35% at 50% 50%,rgba(0,137,123,.07) 0%,transparent 70%);}

/* ══════════════════════════════
   NAVIGATION — Desktop
══════════════════════════════ */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;justify-content:space-between;align-items:center;padding:1.1rem 2.5rem;background:rgba(7,5,15,.97);border-bottom:1px solid rgba(106,27,154,.15);backdrop-filter:blur(12px);}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:.95rem;letter-spacing:.22em;font-weight:300;text-transform:uppercase;background:var(--feather-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none;flex-shrink:0;}
.nav-center{display:flex;align-items:center;list-style:none;}
.nav-center>li{position:relative;}
.nav-center>li>a,.nav-center>li>span{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:.45rem .8rem;display:block;transition:color .3s;font-weight:500;cursor:pointer;white-space:nowrap;}
.nav-center>li>a:hover,.nav-center>li>span:hover,.nav-center>li>a.active{color:var(--peacock-azure);}
.nav-center>li>span::after{content:' ▾';font-size:.45rem;opacity:.6;}
.dropdown{position:absolute;top:100%;left:0;background:rgba(13,8,32,.98);border:1px solid rgba(106,27,154,.2);min-width:190px;opacity:0;visibility:hidden;transform:translateY(6px);transition:all .25s ease;backdrop-filter:blur(16px);z-index:300;}
.nav-center>li:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{display:block;padding:.65rem 1.1rem;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s,background .2s;border-bottom:1px solid rgba(106,27,154,.1);}
.dropdown a:last-child{border-bottom:none;}
.dropdown a:hover{color:var(--peacock-azure);background:rgba(106,27,154,.08);}
.nav-cta{font-size:.63rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold);padding:.5rem 1.1rem;text-decoration:none;transition:background .3s,color .3s;white-space:nowrap;flex-shrink:0;}
.nav-cta:hover{background:var(--gold);color:var(--midnight);}

/* ── Hamburger button (hidden on desktop) ── */
.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:transparent;border:none;cursor:pointer;padding:.4rem;position:relative;z-index:600;}
.nav-hamburger span{display:block;width:24px;height:2px;background:var(--gold);transition:all .3s;}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ── Mobile menu drawer ── */
.mobile-menu{
  position:fixed;top:0;left:0;right:0;bottom:0;
  background:#07050F;
  z-index:500;
  flex-direction:column;
  padding:5rem 2.5rem 3rem;
  overflow-y:auto;
  transform:translateX(100%);
  transition:transform .35s ease;
  display:flex;
  pointer-events:none;
  visibility:hidden;
}
.mobile-menu.open{
  transform:translateX(0);
  pointer-events:all;
  visibility:visible;
}
.mobile-menu-links{list-style:none;display:flex;flex-direction:column;gap:0;}
.mobile-menu-links>li{border-bottom:1px solid rgba(106,27,154,.1);}
.mobile-menu-links>li>a,
.mobile-menu-links>li>span{
  display:block;padding:1.1rem 0;
  font-size:1.1rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;font-weight:400;
  transition:color .3s;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;
}
.mobile-menu-links>li>a:hover,
.mobile-menu-links>li>span:hover{color:var(--peacock-azure);}
.mobile-sub{
  list-style:none;max-height:0;overflow:hidden;
  transition:max-height .35s ease;
  padding-left:1rem;
}
.mobile-sub.open{max-height:300px;}
.mobile-sub li{border-bottom:1px solid rgba(106,27,154,.07);}
.mobile-sub li:last-child{border-bottom:none;}
.mobile-sub li a{display:block;padding:.75rem 0;font-size:.82rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(240,234,248,.45);text-decoration:none;transition:color .25s;}
.mobile-sub li a:hover{color:var(--peacock-azure);}
.mobile-cta{
  display:block;margin-top:2rem;
  border:1px solid var(--gold);color:var(--gold);
  padding:1rem;text-align:center;
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  text-decoration:none;transition:background .3s,color .3s;
}
.mobile-cta:hover{background:var(--gold);color:var(--midnight);}
.mobile-chevron{font-size:.6rem;opacity:.5;transition:transform .3s;}
.mobile-chevron.open{transform:rotate(180deg);}

/* ══════════════════════════════
   PAGE HERO
══════════════════════════════ */
.page-hero{padding:9rem 4rem 5rem;position:relative;overflow:hidden;border-bottom:1px solid rgba(106,27,154,.12);}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 100% at 80% 50%,rgba(106,27,154,.14) 0%,transparent 70%),radial-gradient(ellipse 50% 80% at 20% 50%,rgba(21,101,192,.09) 0%,transparent 70%);}
.page-hero-inner{position:relative;z-index:2;max-width:800px;}
.page-eyebrow{font-size:.62rem;letter-spacing:.42em;text-transform:uppercase;color:var(--peacock-azure);margin-bottom:1.2rem;display:flex;align-items:center;gap:.8rem;}
.page-eyebrow::before{content:'';display:block;width:28px;height:1px;background:linear-gradient(to right,var(--royal-purple),var(--peacock-azure));}
.page-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,5vw,5rem);font-weight:300;line-height:1;margin-bottom:1.5rem;}
.page-title em{font-style:italic;background:var(--feather-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.page-subtitle{font-size:1rem;line-height:1.8;color:var(--muted);max-width:600px;font-weight:300;letter-spacing:.03em;}

/* ══════════════════════════════
   SHARED COMPONENTS
══════════════════════════════ */
.section-label{font-size:.6rem;letter-spacing:.4em;text-transform:uppercase;color:var(--peacock-azure);margin-bottom:.7rem;display:block;}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.5vw,3rem);font-weight:300;line-height:1.1;margin-bottom:2.5rem;}
.section-title em{font-style:italic;background:var(--feather-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.divider{height:1px;margin:0 4rem;background:linear-gradient(to right,transparent,rgba(106,27,154,.4),var(--peacock-teal),rgba(201,168,76,.3),transparent);}
.grad-text{background:var(--feather-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

.card{background:var(--card-bg);padding:2.5rem;position:relative;overflow:hidden;transition:transform .3s;cursor:pointer;}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--feather-grad);transform:scaleX(0);transform-origin:left;transition:transform .5s;}
.card:hover::before{transform:scaleX(1);}
.card:hover{transform:translateY(-3px);}

.btn-primary{display:inline-block;background:var(--feather-grad);color:var(--cream);padding:.9rem 2.2rem;text-decoration:none;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;transition:opacity .3s,transform .3s;}
.btn-primary:hover{opacity:.85;transform:translateY(-1px);}
.btn-outline{display:inline-block;border:1px solid var(--gold);color:var(--gold);padding:.9rem 2.2rem;text-decoration:none;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;transition:background .3s,color .3s;background:transparent;cursor:pointer;font-family:'Rajdhani',sans-serif;}
.btn-outline:hover{background:var(--gold);color:var(--midnight);}

.reveal{opacity:0;transform:translateY(35px);transition:opacity .85s ease,transform .85s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ══════════════════════════════
   FOOTER
══════════════════════════════ */
footer{position:relative;z-index:2;background:var(--charcoal);padding:3rem 4rem;border-top:1px solid rgba(106,27,154,.15);}
.footer-inner{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;align-items:center;}
.footer-brand{font-family:'Cormorant Garamond',serif;font-size:1.05rem;letter-spacing:.2em;font-weight:300;background:var(--feather-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.footer-dev{font-family:'Noto Serif Devanagari',serif;font-size:.78rem;color:rgba(240,234,248,.2);letter-spacing:.08em;margin-top:.3rem;}
.footer-links{display:flex;gap:1.5rem;list-style:none;justify-content:center;flex-wrap:wrap;}
.footer-links a{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(240,234,248,.35);text-decoration:none;transition:color .3s;}
.footer-links a:hover{color:var(--peacock-azure);}
.footer-copy{font-size:.62rem;color:rgba(240,234,248,.2);letter-spacing:.08em;text-align:right;}

/* ══════════════════════════════
   TABLET — max 1024px
══════════════════════════════ */
@media(max-width:1024px){
  nav{padding:1rem 1.5rem;}
  /* Hide ALL desktop nav items */
  .nav-center{display:none !important;}
  .nav-cta{display:none !important;}
  /* Show hamburger */
  .nav-hamburger{display:flex !important;}
  .page-hero{padding:8rem 2rem 4rem;}
  .divider{margin:0 2rem;}
  .footer-inner{grid-template-columns:1fr;text-align:center;gap:1.5rem;}
  .footer-copy,.footer-links{text-align:center;justify-content:center;}
  footer{padding:2.5rem 2rem;}
}

/* ══════════════════════════════
   MOBILE — max 768px
══════════════════════════════ */
@media(max-width:768px){
  /* Typography scale down */
  .page-title{font-size:clamp(2rem,8vw,3.5rem);}
  .page-subtitle{font-size:.9rem;}
  .section-title{font-size:clamp(1.5rem,6vw,2.2rem);margin-bottom:1.5rem;}

  /* Hero */
  .page-hero{padding:7rem 1.5rem 3rem;}

  /* Cards — single column */
  .card{padding:1.8rem;}

  /* Buttons full width on small screens */
  .btn-primary,.btn-outline{padding:.85rem 1.5rem;font-size:.68rem;}

  /* Footer */
  footer{padding:2rem 1.5rem;}
  .footer-links{gap:1rem;}
  .footer-links a{font-size:.6rem;}

  /* Grid overrides — force single column */
  [style*="grid-template-columns"]{grid-template-columns:1fr !important;}

  /* Divider */
  .divider{margin:0 1.5rem;}

  /* Images */
  img{max-width:100%;height:auto;}
}

/* ══════════════════════════════
   SMALL MOBILE — max 480px
══════════════════════════════ */
@media(max-width:480px){
  nav{padding:.9rem 1.2rem;}
  .nav-logo{font-size:.8rem;letter-spacing:.15em;}
  .page-hero{padding:6.5rem 1.2rem 2.5rem;}
  .page-title{font-size:clamp(1.8rem,9vw,2.8rem);}
  .page-eyebrow{font-size:.55rem;letter-spacing:.25em;}
  .page-subtitle{font-size:.85rem;line-height:1.7;}
  .section-label{font-size:.55rem;letter-spacing:.3em;}
  footer{padding:1.8rem 1.2rem;}
}
