/* ==========================================================================
   THE EVENTS INDIA — Design Tokens
   Palette:  Navy #0E1A36 (deep) / #14213D (primary) / Gold #C9A227 (accent)
             Gold-light #E3C567 / Cream #FAF8F3 / Ink #1F2430
   Type:     Display = Playfair Display (serif)  |  Body/UI = Jost (sans)
   Signature: the gold arc/swoosh from the logo, used as a recurring
              connective device between sections and inside the hero.
   ========================================================================== */

:root{
  --navy-deep:   #0A1530;
  --navy:        #14213D;
  --navy-soft:   #1C2C52;
  --gold:        #C9A227;
  --gold-light:  #E3C567;
  --cream:       #FAF8F3;
  --ink:         #1F2430;
  --ink-soft:    #5B6172;
  --white:       #FFFFFF;

  --font-display: "Playfair Display", Georgia, serif;
  --font-body: "Jost", -apple-system, Segoe UI, sans-serif;

  --radius: 10px;
  --shadow-soft: 0 10px 30px rgba(14,21,48,.08);
}

*{ box-sizing: border-box; }

html{ scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *{ animation: none !important; transition: none !important; }
}

body{
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--white);
  font-weight: 400;
  letter-spacing: .01em;
}

h1,h2,h3,.tei-font-display{
  font-family: var(--font-display);
  color: var(--navy);
  font-weight: 600;
  letter-spacing: 0;
}

a{ text-decoration: none; color: inherit; }
a:focus-visible, button:focus-visible{
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

img{ max-width: 100%; display: block; }

/* ---------- Eyebrow label (echoes logo's tracked-caps wordmark) --------- */
.tei-eyebrow{
  font-family: var(--font-body);
  text-transform: uppercase;
  letter-spacing: .28em;
  font-size: .72rem;
  font-weight: 600;
  color: var(--gold);
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1rem;
}
.tei-eyebrow-light{ color: var(--gold-light); }

/* ---------- Buttons ---------- */
.tei-btn-gold, .tei-btn-gold-lg{
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  color: var(--navy-deep) !important;
  font-weight: 600;
  border: none;
  border-radius: 999px;
  padding: .55rem 1.4rem;
  letter-spacing: .02em;
  transition: transform .2s ease, box-shadow .2s ease;
}
.tei-btn-gold-lg{ padding: .85rem 2.1rem; font-size: 1.02rem; }
.tei-btn-gold:hover, .tei-btn-gold-lg:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(201,162,39,.35);
  color: var(--navy-deep);
}

.tei-btn-outline-lg{
  border: 1.5px solid var(--navy);
  color: var(--navy) !important;
  border-radius: 999px;
  padding: .8rem 2rem;
  font-weight: 600;
  transition: all .2s ease;
}
.tei-btn-outline-lg:hover{ background: var(--navy); color: var(--white) !important; }
.tei-btn-outline-light{ border-color: var(--gold-light); color: var(--gold-light) !important; }
.tei-btn-outline-light:hover{ background: var(--gold-light); color: var(--navy-deep) !important; }

/* ---------- Top bar ---------- */
.tei-topbar{
  background: var(--navy-deep);
  color: var(--cream);
  font-size: .8rem;
  padding: .45rem 0;
}
.tei-topbar-inner{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.5rem; }
.tei-topbar-left a{ color: var(--cream); margin-right: 1.25rem; opacity:.9; }
.tei-topbar-left a:hover{ color: var(--gold-light); }
.tei-topbar-right a{ color: var(--cream); margin-left: .9rem; opacity:.9; }
.tei-topbar-right a:hover{ color: var(--gold-light); }

/* ---------- Navbar ---------- */
.tei-navbar{
  background: var(--white);
  box-shadow: 0 2px 14px rgba(14,21,48,.06);
  padding: .55rem 0;
}
.tei-navbar .nav-link{
  color: var(--navy);
  font-weight: 500;
  letter-spacing: .02em;
  margin: 0 .35rem;
  position: relative;
}
.tei-navbar .nav-link.active,
.tei-navbar .nav-link:hover{ color: var(--gold); }

/* ---------- Hero ---------- */
.tei-hero{
  position: relative;
  background: radial-gradient(120% 140% at 15% 0%, var(--navy-soft) 0%, var(--navy) 45%, var(--navy-deep) 100%);
  color: var(--white);
  padding: 6.5rem 0 7.5rem;
  overflow: hidden;
}
.tei-hero-bg{
  position:absolute; inset:0;
  background-image: radial-gradient(2px 2px at 20% 30%, rgba(227,197,103,.5) 0, transparent 60%),
                     radial-gradient(2px 2px at 80% 20%, rgba(227,197,103,.4) 0, transparent 60%),
                     radial-gradient(1.5px 1.5px at 60% 70%, rgba(227,197,103,.35) 0, transparent 60%);
  pointer-events:none;
}
.tei-hero-arc{
  position:absolute; left:0; right:0; bottom:-20px; width:100%; height:auto;
  opacity:.55; pointer-events:none;
}
.tei-hero-content{ position: relative; z-index: 2; max-width: 760px; }
.tei-hero h1{
  color: var(--white);
  font-size: clamp(2.4rem, 5.5vw, 4rem);
  line-height: 1.08;
  margin-bottom: 1.25rem;
}
.tei-arc-word{
  font-style: italic;
  color: var(--gold-light);
  font-weight: 500;
}
.tei-hero-sub{
  font-size: 1.12rem;
  color: rgba(255,255,255,.82);
  max-width: 620px;
  margin-bottom: 2.2rem;
}
.tei-hero-actions{ display:flex; gap: 1rem; flex-wrap: wrap; }
.tei-hero-actions .tei-btn-outline-lg{
  border-color: rgba(255,255,255,.5);
  color: var(--white) !important;
}
.tei-hero-actions .tei-btn-outline-lg:hover{ background: rgba(255,255,255,.1); }

/* ---------- Stats strip ---------- */
.tei-stats{
  background: var(--cream);
  padding: 2.6rem 0;
  border-bottom: 1px solid rgba(20,33,61,.06);
}
.tei-stat-num{
  font-family: var(--font-display);
  font-size: 2.1rem;
  color: var(--navy);
  font-weight: 700;
}
.tei-stat-label{
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--ink-soft);
  margin-top: .25rem;
}

/* ---------- Section rhythm ---------- */
.tei-section{ padding: 5.5rem 0; }
.tei-section-alt{ background: var(--cream); }
.tei-section-dark{ background: var(--navy-deep); }
.tei-section-head{ max-width: 680px; margin-left:auto; margin-right:auto; margin-bottom: 3rem; }
.tei-lead{ color: var(--ink-soft); font-size: 1.05rem; }
.tei-mx-auto{ margin-left:auto; margin-right:auto; }
.tei-text-light{ color: var(--white); }

h2{ font-size: clamp(1.7rem, 3vw, 2.4rem); margin-bottom: .9rem; }

/* ---------- Vision / Mission cards ---------- */
.tei-vm-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-top: 2rem; }
.tei-vm-card{
  background: var(--cream);
  border: 1px solid rgba(20,33,61,.08);
  border-radius: var(--radius);
  padding: 1.6rem;
}
.tei-vm-card i{ color: var(--gold); font-size: 1.5rem; margin-bottom: .6rem; display:block; }
.tei-vm-card h3{ font-size: 1.05rem; margin-bottom: .4rem; }
.tei-vm-card p{ color: var(--ink-soft); font-size: .92rem; margin: 0; }

/* ---------- Why choose us card ---------- */
.tei-why-card{
  background: var(--navy);
  color: var(--white);
  border-radius: var(--radius);
  padding: 2.2rem;
  box-shadow: var(--shadow-soft);
}
.tei-why-card h3{ color: var(--white); font-size: 1.3rem; margin-bottom: 1.2rem; }
.tei-why-list{ list-style:none; padding:0; margin:0; display:grid; gap:.85rem; }
.tei-why-list li{ display:flex; align-items:flex-start; gap:.6rem; color: rgba(255,255,255,.88); font-size:.96rem; }
.tei-why-list i{ color: var(--gold-light); margin-top:.2rem; }

/* ---------- Service cards ---------- */
.tei-service-card{
  background: var(--white);
  border: 1px solid rgba(20,33,61,.08);
  border-radius: var(--radius);
  padding: 1.8rem;
  height: 100%;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.tei-service-card:hover{
  transform: translateY(-4px);
  box-shadow: var(--shadow-soft);
  border-color: rgba(201,162,39,.4);
}
.tei-service-card i{ color: var(--gold); font-size: 1.6rem; margin-bottom: .9rem; }
.tei-service-card h3{ font-size: 1.12rem; margin-bottom: .55rem; }
.tei-service-card p{ color: var(--ink-soft); font-size: .9rem; margin: 0; }

/* ---------- Process cards ---------- */
.tei-process-card{ text-align:center; padding: 0 .5rem; }
.tei-process-num{
  font-family: var(--font-display);
  font-size: 2.2rem;
  color: var(--gold);
  display:block;
  margin-bottom: .6rem;
}
.tei-process-card h3{ font-size: 1.05rem; margin-bottom: .4rem; }
.tei-process-card p{ color: var(--ink-soft); font-size: .88rem; }

/* ---------- Team cards ---------- */
.tei-team-card{
  background: var(--navy-soft);
  border-radius: var(--radius);
  padding: 2rem 1.2rem;
  text-align: center;
  height: 100%;
}
.tei-team-avatar{
  width: 64px; height: 64px; border-radius: 50%;
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  display:flex; align-items:center; justify-content:center;
  margin: 0 auto 1rem;
  font-size: 1.6rem;
  color: var(--navy-deep);
}
.tei-team-card h3{ color: var(--white); font-size: 1.05rem; margin-bottom: .35rem; }
.tei-team-card p{ color: rgba(255,255,255,.7); font-size: .85rem; margin:0; }

/* ---------- CTA strip ---------- */
.tei-cta-strip{
  background: linear-gradient(135deg, var(--navy), var(--navy-deep));
  color: var(--white);
  padding: 4.5rem 0;
  text-align:center;
}
.tei-cta-strip h2{ color: var(--white); }
.tei-cta-sub{ color: rgba(255,255,255,.75); max-width: 520px; margin: 0 auto 1.8rem; }

/* ---------- Footer ---------- */
.tei-footer{ background: var(--navy-deep); color: rgba(255,255,255,.75); padding: 4rem 0 1.5rem; }
.tei-footer-text{ font-size: .9rem; color: rgba(255,255,255,.65); }
.tei-footer-head{ color: var(--gold-light); text-transform: uppercase; letter-spacing:.12em; font-size:.78rem; margin-bottom: 1.1rem; }
.tei-footer-links{ list-style:none; padding:0; margin:0; display:grid; gap:.6rem; font-size:.9rem; }
.tei-footer-links a{ color: rgba(255,255,255,.72); }
.tei-footer-links a:hover{ color: var(--gold-light); }
.tei-footer-social{ display:flex; gap:.8rem; margin-top:1rem; }
.tei-footer-social a{
  width:34px; height:34px; border-radius:50%;
  border:1px solid rgba(255,255,255,.2);
  display:flex; align-items:center; justify-content:center;
  color: var(--white);
}
.tei-footer-social a:hover{ background: var(--gold); border-color: var(--gold); color: var(--navy-deep); }
.tei-footer-rule{ border-color: rgba(255,255,255,.12); margin: 2.5rem 0 1.2rem; }
.tei-footer-bottom{ font-size: .82rem; }
.tei-footer-slogan{ font-family: var(--font-display); font-style: italic; color: var(--gold-light); }

/* ---------- WhatsApp FAB ---------- */
.tei-whatsapp-fab{
  position: fixed; right: 22px; bottom: 22px; z-index: 999;
  width: 56px; height: 56px; border-radius: 50%;
  background: #25D366; color: #fff;
  display:flex; align-items:center; justify-content:center;
  font-size: 1.6rem;
  box-shadow: 0 8px 22px rgba(0,0,0,.25);
  transition: transform .2s ease;
}
.tei-whatsapp-fab:hover{ transform: scale(1.08); color:#fff; }

/* ---------- Responsive ---------- */
@media (max-width: 767px){
  .tei-vm-grid{ grid-template-columns: 1fr; }
  .tei-hero{ padding: 4.5rem 0 5rem; text-align:left; }
  .tei-section{ padding: 3.5rem 0; }
  .tei-topbar-left a{ margin-right:.8rem; }
}
