/* =========================================================
   OM SRI MAHA JANANI CHITS PVT. LTD.
   Design tokens
   Primary   #1E3A8A  deep royal blue  -- trust, institution
   Secondary #FFD700  gold             -- prosperity, CTAs
   Accent    #7C0A02  deep maroon      -- used sparingly, urgency
   White     #FFFFFF
   Background#F8F9FA
   Type: Poppins (display + body), JetBrains Mono (figures / ledger data)
   Signature element: the rotating "seal" badge -- a registered/
   trusted stamp motif that echoes the circular nature of a chit
   (a group of members taking turns) and the idea of an official,
   verifiable institution.
   ========================================================= */

:root{
  --primary: #1E3A8A;
  --primary-dark: #142a63;
  --primary-light: #2f4fab;
  --secondary: #FFD700;
  --secondary-dark: #d9b400;
  --accent: #7C0A02;
  --white: #FFFFFF;
  --bg: #F8F9FA;
  --ink: #10182f;
  --ink-soft: #4a5578;
  --border: #e3e6ee;

  --font-display: 'Poppins', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;

  --radius: 14px;
  --radius-lg: 26px;
  --shadow-sm: 0 4px 14px rgba(16,24,47,0.06);
  --shadow-md: 0 14px 34px rgba(16,24,47,0.12);
  --shadow-gold: 0 10px 26px rgba(255,215,0,0.28);

  --container: 1200px;
  --header-h: 84px;
}

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; scroll-padding-top: var(--header-h); }
html, body{ max-width:100%; overflow-x:hidden; }
body{
  margin:0;
  font-family: var(--font-display);
  color: var(--ink);
  background: var(--bg);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4{ margin:0 0 .5em; font-weight:700; line-height:1.2; }
p{ margin:0 0 1em; color: var(--ink-soft); }

.container{ max-width: var(--container); margin:0 auto; padding:0 24px; }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding: 14px 30px; border-radius: 999px; font-weight:600; font-size:.95rem;
  border:2px solid transparent; transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
  white-space:nowrap;
}
.btn:focus-visible{ outline:3px solid var(--secondary); outline-offset:3px; }
.btn-gold{ background: var(--secondary); color: var(--primary-dark); box-shadow: var(--shadow-gold); }
.btn-gold:hover{ transform: translateY(-3px); box-shadow: 0 16px 32px rgba(255,215,0,.36); }
.btn-outline-light{ border-color: rgba(255,255,255,.65); color:#fff; }
.btn-outline-light:hover{ background: rgba(255,255,255,.12); transform: translateY(-3px); }
.btn-primary{ background: var(--primary); color:#fff; }
.btn-primary:hover{ background: var(--primary-dark); transform: translateY(-3px); box-shadow: var(--shadow-md); }
.btn-small{ padding:10px 22px; font-size:.85rem; }
.btn-full{ width:100%; }

/* ---------- Preloader (seal) ---------- */
#preloader{
  position:fixed; inset:0; background: var(--primary-dark); z-index:9999;
  display:flex; align-items:center; justify-content:center;
  animation: preloaderOut .6s ease 1.1s forwards;
}
.preloader-seal{
  width:90px; height:90px; border-radius:50%;
  border:4px dashed var(--secondary);
  animation: spin 3s linear infinite;
}
.preloader-seal::after{
  content:""; display:block; width:60%; height:60%; margin:20% auto;
  border-radius:50%; background: var(--secondary); opacity:.15;
}
@keyframes preloaderOut{ to{ opacity:0; visibility:hidden; pointer-events:none; } }
@keyframes spin{ to{ transform: rotate(360deg); } }

/* ---------- Header / Nav ---------- */
.site-header{
  position: fixed; top:0; left:0; right:0; z-index:1000;
  height: var(--header-h);
  background: rgba(20,42,99,0);
  transition: background .35s ease, box-shadow .35s ease, height .3s ease;
}
.site-header.scrolled{
  background: rgba(20,42,99,.97);
  box-shadow: 0 6px 22px rgba(0,0,0,.18);
  height:72px;
  backdrop-filter: blur(6px);
  margin: 0px;
}
.nav-wrap{
  height:100%; display:flex; align-items:center; justify-content:space-between; gap:12px;
  flex-wrap: nowrap; /* never let the toggle button wrap to a hidden second row */
}
.brand{ display:flex; align-items:center; gap:10px; flex-shrink:1; min-width:0; overflow:hidden; }
/* Logo scales to fit the header instead of a fixed px size, so a wide/rectangular
   logo can never force the header taller or push the hamburger off-screen. */
.brand-logo{
  height: min(52px, calc(var(--header-h) - 28px));
  width:auto; max-width: 34vw;
  object-fit:contain; flex-shrink:0;
  transition: height .3s ease;
}
.site-header.scrolled .brand-logo{ height:42px; }
.brand-text{ display:flex; flex-direction:column; line-height:1.15; color:#fff; min-width:0; overflow:hidden; }
.brand-text strong{ font-size:.92rem; letter-spacing:.02em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block; max-width:100%; }
.brand-text small{ color: var(--secondary); font-size:.66rem; letter-spacing:.1em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block; max-width:100%; }

.main-nav{ display:flex; gap:26px; flex:1; justify-content:center; }
.main-nav a{
  color:#fff; font-size:.92rem; font-weight:500; opacity:.88; position:relative; padding:6px 0;
}
.main-nav a::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background: var(--secondary);
  transition: width .25s ease;
}
.main-nav a:hover{ opacity:1; }
.main-nav a:hover::after{ width:100%; }
.nav-close{ display:none; }

.nav-actions{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.nav-phone{ display:flex; align-items:center; gap:6px; color:#fff; font-family:var(--font-mono); font-size:.85rem; opacity:.9; white-space:nowrap; }
.nav-toggle{
  display:none; flex-direction:column; justify-content:center; align-items:center; gap:5px;
  width:38px; height:38px; min-width:38px; background:none; border:none; padding:0;
  flex-shrink:0; position:relative; z-index:1300;
}
.nav-toggle span{ display:block; width:22px; height:2px; background:#fff; border-radius:2px; transition: transform .3s ease, opacity .3s ease; }
.nav-toggle.open span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

.nav-backdrop{
  position:fixed; inset:0; background: rgba(10,16,38,.55); z-index:1100;
  opacity:0; visibility:hidden; transition: opacity .35s ease, visibility .35s ease;
}
.nav-backdrop.show{ opacity:1; visibility:visible; }

/* ---------- Mobile nav: slide-in side drawer ---------- */
@media (max-width: 992px){
  .nav-phone{ display:none; }
  .nav-toggle{ display:flex; }

  .main-nav{
    position: fixed; top:0; right:0; bottom:0;
    width: min(78vw, 320px);
    background: var(--primary-dark);
    flex-direction: column; justify-content:flex-start;
    gap:0; padding: 90px 8px 32px;
    transform: translateX(100%);
    transition: transform .4s cubic-bezier(.4,0,.2,1);
    z-index:1200; overflow-y:auto;
    box-shadow: -12px 0 40px rgba(0,0,0,.35);
  }
  .site-header.nav-open .main-nav{ transform: translateX(0); }
  .main-nav a{
    color:#fff; padding:16px 20px; border-bottom:1px solid rgba(255,255,255,.08);
    opacity:1; font-size:1rem;
  }
  .main-nav a::after{ display:none; }
  .nav-close{
    display:block; position:absolute; top:18px; right:18px; background:none; border:none;
    color:#fff; font-size:2rem; line-height:1; width:40px; height:40px;
  }
}


/* ---------- Hero ---------- */
.hero{
  position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden;
  color:#fff;
}
.hero-slides{ position:absolute; inset:0; }
.hero-slide{
  position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:0; transition: opacity 1.4s ease;
}
.hero-slide.active{ opacity:1; }
.hero-overlay{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(15,28,66,.78) 0%, rgba(20,42,99,.72) 55%, rgba(15,28,66,.92) 100%);
}
.hero-particles{ position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.hero-particles span{
  position:absolute; bottom:-20px; width:6px; height:6px; border-radius:50%;
  background: var(--secondary); opacity:.55;
  animation: floatUp linear infinite;
}
@keyframes floatUp{
  0%{ transform: translateY(0) translateX(0); opacity:0; }
  10%{ opacity:.6; }
  100%{ transform: translateY(-110vh) translateX(20px); opacity:0; }
}
.hero-floating-icons{ position:absolute; inset:0; pointer-events:none; }
.float-icon{
  position:absolute; font-size:2rem; color: var(--secondary); opacity:.35;
  animation: bob 6s ease-in-out infinite;
}
.fi-1{ top:18%; left:8%; animation-delay:0s; }
.fi-2{ top:65%; left:12%; animation-delay:1.2s; font-size:1.7rem; }
.fi-3{ top:30%; right:10%; animation-delay:.6s; }
.fi-4{ top:72%; right:16%; animation-delay:1.8s; font-size:1.8rem; }
.fi-5{ top:12%; right:32%; animation-delay:2.4s; }
.fi-6{ top:50%; left:45%; animation-delay:3s; font-size:1.8rem; }
@keyframes bob{ 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-22px); } }

.hero-content{ position:relative; z-index:2; text-align:center; max-width:900px; margin:0 auto; padding-top:60px; }
.hero-eyebrow{
  color: var(--secondary); letter-spacing:.18em; text-transform:uppercase; font-size:.78rem; font-weight:600;
  margin-bottom:18px;
}
.hero-title{ margin-bottom:14px; }
.type-line{ display:block; font-size: clamp(2rem, 5vw, 3.4rem); font-weight:800; letter-spacing:.01em; }
.type-line.accent{ color: var(--secondary); }
.hero-subtitle{ font-family: var(--font-mono); font-size: clamp(1rem, 2vw, 1.3rem); letter-spacing:.06em; color:#fff; opacity:.92; margin-bottom:34px; }
.hero-buttons{ display:flex; gap:18px; justify-content:center; flex-wrap:wrap; }

.hero-content [data-anim]{ opacity:0; animation: heroIn .8s ease forwards; }
.hero-content [data-anim][data-delay="1"]{ animation-delay:.15s; }
.hero-content [data-anim][data-delay="2"]{ animation-delay:.3s; }
.hero-content [data-anim][data-delay="3"]{ animation-delay:.45s; }
@keyframes heroIn{ from{ opacity:0; transform: translateY(20px);} to{ opacity:1; transform:none; } }

[data-anim]{ transition: opacity .8s ease, transform .8s ease; }
section [data-anim]{ opacity:0; transform: translateY(24px); }
section [data-anim="fade-right"]{ transform: translateX(-40px); }
section [data-anim="fade-left"]{ transform: translateX(40px); }
section [data-anim].in-view{ opacity:1; transform:none; }
section [data-anim][data-delay="0"]{ transition-delay:.05s; }
section [data-anim][data-delay="1"]{ transition-delay:.18s; }
section [data-anim][data-delay="2"]{ transition-delay:.32s; }
section [data-anim][data-delay="3"]{ transition-delay:.46s; }
section [data-anim][data-delay="4"]{ transition-delay:.6s; }
section [data-anim][data-delay="5"]{ transition-delay:.74s; }

.hero-slide-dots{ position:absolute; bottom:100px; left:50%; transform:translateX(-50%); display:flex; gap:10px; z-index:2; }
.hero-slide-dots span{ width:9px; height:9px; border-radius:50%; background: rgba(255,255,255,.4); cursor:pointer; transition: background .3s; }
.hero-slide-dots span.active{ background: var(--secondary); }

.scroll-down{
  position:absolute; bottom:28px; left:50%; transform:translateX(-50%); z-index:2;
  width:30px; height:48px; border:2px solid rgba(255,255,255,.6); border-radius:20px;
}
.scroll-down span{
  position:absolute; top:8px; left:50%; transform:translateX(-50%);
  width:5px; height:5px; border-radius:50%; background: var(--secondary);
  animation: scrollDot 1.6s ease infinite;
}
@keyframes scrollDot{ 0%{ opacity:1; top:8px; } 80%{ opacity:0; top:28px; } 100%{ opacity:0; top:8px; } }

/* ---------- Section helpers ---------- */
section{ padding: 100px 0; }
.section-head{ text-align:center; max-width:680px; margin:0 auto 56px; }
.section-head.light h2, .section-head.light .eyebrow{ color:#fff; }
.section-head.light .section-sub{ color: rgba(255,255,255,.75); }
.eyebrow{
  display:inline-block; color: var(--accent); font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  font-size:.78rem; margin-bottom:10px;
}
.section-head h2{ font-size: clamp(1.7rem, 3vw, 2.4rem); color: var(--primary); }
.section-sub{ color: var(--ink-soft); }

/* ---------- About ---------- */
.about{ background: var(--white); }
.about-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:64px; align-items:center; }
.about-media{ position:relative; }
.about-image-frame{
  border-radius: var(--radius-lg); overflow:hidden; box-shadow: var(--shadow-md);
  border:6px solid var(--white); outline:1px solid var(--border);
}
.about-image-frame img{ width:100%; height:420px; object-fit:cover; }
.seal-badge{
  position:absolute; bottom:-30px; right:-24px; width:140px; height:140px;
}
.seal-ring{
  width:100%; height:100%; border-radius:50%; background: var(--primary);
  border:4px dashed var(--secondary); display:flex; flex-direction:column; align-items:center; justify-content:center;
  color:#fff; text-align:center; box-shadow: var(--shadow-md);
  animation: spin 22s linear infinite;
}
.seal-ring .seal-years, .seal-ring .seal-label{ display:inline-block; animation: counterSpin 22s linear infinite; }
@keyframes counterSpin{ to{ transform: rotate(-360deg); } }
.seal-years{ font-family: var(--font-mono); font-size:1.7rem; font-weight:700; color: var(--secondary); }
.seal-label{ font-size:.68rem; letter-spacing:.06em; line-height:1.3; margin-top:2px; }

.about-content .eyebrow{ color: var(--accent); }
.about-content h2{ color: var(--primary); font-size: clamp(1.6rem, 3vw, 2.1rem); }
.about-points{ margin: 22px 0 28px; display:flex; flex-direction:column; gap:12px; }
.about-point{ display:flex; align-items:flex-start; gap:10px; color: var(--ink); font-weight:500; }
.about-point .check{ color: var(--accent); font-weight:700; }

/* ---------- Why Choose Us ---------- */
.why-us{ background: var(--bg); }
.why-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:26px; }
.why-card{
  background:#fff; border-radius: var(--radius); padding:34px 26px; text-align:center;
  box-shadow: var(--shadow-sm); border:1px solid var(--border);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.why-card:hover{ transform: translateY(-8px); box-shadow: var(--shadow-md); border-color: var(--secondary); }
.why-icon{ font-size:2.4rem; margin-bottom:16px; }
.why-card h3{ color: var(--primary); font-size:1.05rem; }
.why-card p{ font-size:.9rem; margin:0; }

/* ---------- Plans table ---------- */
.plans{ background:#fff; }
.plans-table-wrap{ overflow-x:auto; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); border:1px solid var(--border); }
.plans-table{ width:100%; border-collapse:collapse; font-family: var(--font-mono); min-width:640px; }
.plans-table thead th{
  background: var(--primary); color:#fff; font-family: var(--font-display); font-weight:600;
  text-align:left; padding:18px 24px; font-size:.85rem; letter-spacing:.03em; text-transform:uppercase;
}
.plans-table thead th:first-child{ border-top-left-radius: 16px; }
.plans-table thead th:last-child{ border-top-right-radius: 16px; }
.plans-table tbody td{ padding:16px 24px; font-size:.95rem; color: var(--ink); border-bottom:1px solid var(--border); }
.plans-table tbody tr:nth-child(even){ background: #F8F9FA; }
.plans-table tbody tr:hover{ background: #FFF8DC; }
.plans-table tbody tr:last-child td{ border-bottom:none; }
.plans-note{ text-align:center; margin-top:20px; font-size:.85rem; color: var(--ink-soft); }

/* ---------- Vacant Chits ---------- */
.vacant{ background: linear-gradient(160deg, var(--primary-dark), var(--primary)); }
.vacant-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:24px; }
.vacant-card{
  background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.15); border-radius: var(--radius);
  padding:26px; backdrop-filter: blur(4px);
}
.vacant-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.vacant-value{ font-family: var(--font-mono); color:#fff; font-size:1.15rem; font-weight:700; }
.vacant-tag{ background: var(--secondary); color: var(--primary-dark); font-size:.72rem; font-weight:700; padding:4px 10px; border-radius:999px; }
.vacant-progress{ height:8px; border-radius:999px; background: rgba(255,255,255,.18); overflow:hidden; margin-bottom:12px; }
.vacant-bar{ height:100%; width: var(--fill); background: var(--secondary); border-radius:999px; transition: width 1s ease; }
.vacant-seats{ color: rgba(255,255,255,.82); font-size:.85rem; margin-bottom:16px; }

/* ---------- Features ---------- */
.features{ background: var(--bg); }
.features-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:26px; }
.feature-card{
  background:#fff; border-radius: var(--radius); padding:32px 26px; border:1px solid var(--border);
  box-shadow: var(--shadow-sm); transition: transform .3s ease, box-shadow .3s ease;
}
.feature-card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-md); }
.feature-icon{ font-size:2.2rem; margin-bottom:14px; }
.feature-card h3{ color: var(--primary); font-size:1.05rem; }
.feature-card p{ font-size:.9rem; margin:0; }

/* ---------- Team ---------- */
.team{ background: var(--white); }
.team-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:28px; }
.team-card{
  background:#fff; border:1px solid var(--border); border-radius: var(--radius-lg);
  padding:38px 26px; text-align:center; box-shadow: var(--shadow-sm);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.team-card:hover{ transform: translateY(-8px); box-shadow: var(--shadow-md); border-color: var(--secondary); }
.team-avatar{
  width:96px; height:96px; margin:0 auto 20px; border-radius:50%;
  background: linear-gradient(160deg, var(--primary), var(--primary-light));
  border:4px solid var(--secondary);
  display:flex; align-items:center; justify-content:center;
  font-size:2.6rem; box-shadow: var(--shadow-sm);
}
.team-card h3{ color: var(--primary); font-size:1.05rem; margin-bottom:4px; }
.team-role{ color: var(--accent); font-size:.78rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; margin-bottom:14px; }
.team-phone{
  display:inline-flex; align-items:center; gap:6px; font-family: var(--font-mono); font-size:.88rem;
  color: var(--ink-soft); border:1px solid var(--border); border-radius:999px; padding:8px 16px;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.team-phone:hover{ background: var(--primary); color:#fff; border-color: var(--primary); }

/* ---------- Stats ---------- */
.stats{ background: var(--accent); padding:70px 0; }
.stats-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:20px; text-align:center; }
.stat-card{ color:#fff; }
.stat-number{ display:block; font-family: var(--font-mono); font-size: clamp(2.1rem, 4vw, 2.8rem); font-weight:700; color: var(--secondary); }
.stat-label{ font-size:.85rem; letter-spacing:.04em; opacity:.9; }

/* ---------- Gallery ---------- */
.gallery{ background:#fff; }

.gallery-item img{ width:100%; height:100%; object-fit:cover; transition: transform .5s ease; }
.gallery-item:hover img{ transform: scale(1.12); }
.gallery-caption{
  position:absolute; inset:auto 0 0 0; padding:14px; text-align:left; color:#fff; font-weight:600;
  background: linear-gradient(0deg, rgba(15,28,66,.85), transparent);
  transform: translateY(100%); transition: transform .35s ease;
}
.gallery-item:hover .gallery-caption{ transform: translateY(0); }
.gallery-item:nth-child(1){ grid-column: span 2; }
.gallery-item:nth-child(4){ grid-column: span 2; }

.lightbox{
  position:fixed; inset:0; background: rgba(10,16,38,.94); z-index:2000;
  display:none; align-items:center; justify-content:center; flex-direction:column; gap:16px;
  opacity:0; transition: opacity .3s ease;
}
.lightbox.open{ display:flex; opacity:1; }
.lightbox img{ max-width:88vw; max-height:78vh; border-radius:10px; box-shadow:0 20px 60px rgba(0,0,0,.5); }
.lightbox-caption{ color:#fff; font-weight:500; }
.lightbox-close{
  position:absolute; top:24px; right:32px; background:none; border:none; color:#fff; font-size:2.4rem; line-height:1;
}

/* ---------- Testimonials ---------- */
.testimonials{ background: linear-gradient(160deg, var(--primary-dark), var(--primary)); }
.testimonial-carousel{ position:relative; max-width:720px; margin:0 auto; overflow:hidden; }
.testimonial-track{ display:flex; transition: transform .5s ease; }
.testimonial-slide{
  min-width:100%; text-align:center; padding:10px 60px; color:#fff;
}
.testimonial-slide .stars{ color: var(--secondary); font-size:1.3rem; margin-bottom:14px; letter-spacing:.1em; }
.testimonial-slide p{ font-size:1.15rem; color:#fff; font-style:italic; margin-bottom:16px; }
.testimonial-slide strong{ color: var(--secondary); font-size:.9rem; }
.carousel-arrow{
  position:absolute; top:50%; transform:translateY(-50%); background: rgba(255,255,255,.12); border:none; color:#fff;
  width:40px; height:40px; border-radius:50%; font-size:.9rem; transition: background .25s ease;
}
.carousel-arrow:hover{ background: rgba(255,255,255,.28); }
.carousel-arrow.prev{ left:0; }
.carousel-arrow.next{ right:0; }
.carousel-dots{ display:flex; justify-content:center; gap:8px; margin-top:20px; }
.carousel-dots span{ width:8px; height:8px; border-radius:50%; background: rgba(255,255,255,.35); cursor:pointer; }
.carousel-dots span.active{ background: var(--secondary); }

/* ---------- Contact ---------- */
.contact{ background:#fff; }
.contact-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:64px; }
.contact-info h2{ color: var(--primary); font-size: clamp(1.6rem, 3vw, 2.1rem); }
.contact-item{ display:flex; gap:16px; margin-top:26px; }
.contact-icon{
  width:48px; height:48px; border-radius:50%; background: var(--bg); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0;
}
.contact-item strong{ color: var(--primary); display:block; margin-bottom:2px; }
.contact-item p{ margin:0; }
.contact-item a{ color: var(--ink-soft); }

.contact-form{ background: var(--bg); border:1px solid var(--border); border-radius: var(--radius-lg); padding:36px; }
.form-row{ margin-bottom:18px; display:flex; flex-direction:column; gap:6px; }
.form-row label{ font-size:.85rem; font-weight:600; color: var(--primary); }
.form-row input, .form-row textarea{
  padding:13px 16px; border-radius:10px; border:1px solid var(--border); font-family:inherit; font-size:.95rem;
  background:#fff; transition: border-color .25s ease, box-shadow .25s ease;
}
.form-row input:focus, .form-row textarea:focus{
  outline:none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(30,58,138,.15);
}
.form-row textarea{ resize:vertical; }
.form-note{ margin:14px 0 0; text-align:center; font-size:.9rem; color: var(--primary); font-weight:600; min-height:1.2em; }

/* ---------- Footer ---------- */
.site-footer{ background: var(--primary-dark); color: rgba(255,255,255,.85); padding-top:70px; }
.footer-grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr; gap:40px; padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,.12); }
.footer-logo{ width:56px; height:56px; border-radius:50%; margin-bottom:14px; }
.footer-brand p{ color:#fff; font-weight:600; margin:0 0 4px; }
.footer-tag{ color: var(--secondary) !important; font-weight:400 !important; font-size:.85rem; }
.footer-links h4, .footer-social h4{ color:#fff; font-size:.95rem; margin-bottom:16px; letter-spacing:.04em; }
.footer-links{ display:flex; flex-direction:column; }
.footer-links a{ padding:6px 0; opacity:.8; transition: opacity .2s, color .2s; }
.footer-links a:hover{ opacity:1; color: var(--secondary); }
.social-icons{ display:flex; gap:12px; }
.social-icons a{
  width:38px; height:38px; border-radius:50%; background: rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center;
  transition: background .25s ease, transform .25s ease;
}
.social-icons a:hover{ background: var(--secondary); color: var(--primary-dark); transform: translateY(-3px); }
.footer-bottom{ text-align:center; padding:22px 0; font-size:.85rem; opacity:.7; }

.back-to-top{
  position:fixed; bottom:26px; right:26px; width:46px; height:46px; border-radius:50%;
  background: var(--primary); color:#fff; border:none; font-size:1.2rem; box-shadow: var(--shadow-md);
  opacity:0; visibility:hidden; transform: translateY(10px); transition: all .3s ease; z-index:900;
}
.back-to-top.show{ opacity:1; visibility:visible; transform:none; }
.back-to-top:hover{ background: var(--primary-dark); }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 992px){
  .about-grid, .contact-grid{ grid-template-columns:1fr; }
  .why-grid, .features-grid{ grid-template-columns: repeat(2, 1fr); }
  .vacant-grid{ grid-template-columns: repeat(2, 1fr); }
  .stats-grid{ grid-template-columns: repeat(2, 1fr); gap:36px; }
  .gallery-grid{ grid-template-columns: repeat(2, 1fr); }
  .gallery-item:nth-child(1), .gallery-item:nth-child(4){ grid-column: span 1; }
}

@media (max-width: 640px){
  .container{ padding:0 16px; }
  .nav-wrap{ gap:8px; }
  .nav-actions{ gap:8px; }
  section{ padding:70px 0; }
  .why-grid, .features-grid, .vacant-grid{ grid-template-columns: 1fr; }
  .stats-grid{ grid-template-columns: repeat(2, 1fr); }
  .about-image-frame img{ height:280px; }
  .seal-badge{ width:104px; height:104px; right:-10px; bottom:-20px; }
  .plans-table thead{ display:none; }
  .plans-table, .plans-table tbody, .plans-table tr, .plans-table td{ display:block; width:100%; }
  .plans-table tr{ border-bottom:8px solid var(--bg); padding:12px 0; }
  .plans-table td{ display:flex; justify-content:space-between; border:none; padding:6px 20px; }
  .plans-table td::before{ content: attr(data-label); font-family: var(--font-display); font-weight:600; color: var(--primary); }
  .testimonial-slide{ padding:10px 40px; }
  .contact-form{ padding:24px; }
  .footer-grid{ grid-template-columns:1fr; text-align:left; }
  
  .brand-logo {
    width: 130px;
    height: 82px;
    margin-left: -13px;}
    
    .brand-text strong {
    font-size: 0.70rem;
    letter-spacing: .03em;
 
}

.brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1.50;
    color: #fff;
    margin-left: -21px;
}
  
  
}

@media (max-width: 480px){
  .brand-text{ display:none; }
  .nav-actions .btn-small{ padding:9px 16px; font-size:.78rem; }
}
