/* ====================================================================
   VSAA PREMIUM COMPONENTS CSS
   V-SAT Solutions 2026
==================================================================== */

/* ── HERO SECTION ────────────────────────────────────────────────── */
.hero-section {
  min-height:100vh;
  background:var(--grad-hero);
  background-size:200% 200%;
  animation: heroBgShift 14s ease-in-out infinite alternate;
  position:relative; overflow:hidden;
  display:flex; align-items:center;
  padding-top:72px;
  padding-bottom:40px;
}
/* Light theme animated gradient */
html:not([data-theme="dark"]) .hero-section {
  background:linear-gradient(135deg, #F2F5FB 0%, #EEF2F8 40%, #E8EEF7 70%, #F5F3EE 100%);
  background-size:300% 300%;
  animation: heroBgShift 14s ease-in-out infinite alternate;
}
/* Dark mode hero override */
[data-theme="dark"] .hero-section {
  background:linear-gradient(135deg, #050D1A 0%, #091428 40%, #122549 100%);
  background-size:200% 200%;
  animation: heroBgShift 12s ease-in-out infinite alternate;
}
@keyframes heroBgShift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
[data-theme="dark"] .hero-section::before {
  content: '';
  position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(ellipse at 15% 40%, rgba(201,166,70,0.07) 0%, transparent 55%),
    radial-gradient(ellipse at 85% 20%, rgba(30,80,160,0.12) 0%, transparent 55%),
    radial-gradient(ellipse at 50% 80%, rgba(9,20,40,0.5) 0%, transparent 60%);
  animation: heroGlowPulse 8s ease-in-out infinite alternate;
  pointer-events: none;
}
@keyframes heroGlowPulse {
  0%   { opacity: 0.6; transform: scale(1); }
  100% { opacity: 1;   transform: scale(1.04); }
}
.hero-container {
  max-width:var(--container-xl); margin:0 auto;
  padding:4rem 2rem;
  display:grid; grid-template-columns:1fr auto;
  gap:4rem; align-items:center;
  position:relative; z-index:2;
}
@media(max-width:900px) {
  .hero-container { grid-template-columns:1fr; text-align:center; padding:2rem 1.5rem 3rem; }
  .hero-logo-container { width:260px; height:260px; margin:0 auto; }
  .hero-logo-image-v2 { width:140px; height:140px; }
  .hero-deco-1 { width:220px; height:220px; }
  .hero-deco-2 { width:300px; height:300px; }
  .logo-orbit-ring { inset:-30px; }
  .hero-buttons { justify-content:center; }
  .hero-trust-badges { justify-content:center; }
}

/* hero background mesh */
.hero-mesh {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 50% at 75% 50%, rgba(201,166,70,0.06) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 15% 80%, rgba(15,31,75,0.04) 0%, transparent 60%),
    radial-gradient(ellipse 40% 40% at 50% 0%, rgba(238,242,248,0.8) 0%, transparent 60%);
}
[data-theme="dark"] .hero-mesh {
  background:
    radial-gradient(ellipse 60% 50% at 70% 50%, rgba(201,166,70,0.07) 0%, transparent 60%),
    radial-gradient(ellipse 40% 60% at 10% 80%, rgba(18,37,73,0.6) 0%, transparent 60%);
}
.hero-grid-lines {
  position:absolute; inset:0; pointer-events:none; opacity:0.025;
  background-image:linear-gradient(rgba(15,31,75,0.8) 1px,transparent 1px),
    linear-gradient(90deg,rgba(15,31,75,0.8) 1px,transparent 1px);
  background-size:60px 60px;
}
[data-theme="dark"] .hero-grid-lines {
  opacity:0.04;
  background-image:linear-gradient(rgba(201,166,70,0.8) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,166,70,0.8) 1px,transparent 1px);
}

.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  padding:0.4rem 1.1rem;
  background:rgba(201,166,70,0.1);
  border:1px solid rgba(201,166,70,0.3);
  border-radius:50px;
  font-family:var(--font-body);
  font-size:0.7rem; font-weight:600;
  color:var(--gold-main);
  letter-spacing:3px; text-transform:uppercase;
  margin-bottom:1.5rem;
}
/* hero-badge::before dot removed — text starts with ◆ directly */

.hero-title {
  font-family:var(--font-display);
  font-size:clamp(3rem,7vw,5.2rem);
  font-weight:700;
  color:#0F1F4B;
  line-height:1.05;
  margin-bottom:0.4rem;
  letter-spacing:-0.03em;
}
.hero-title .line-2 {
  font-style:italic;
  background:linear-gradient(135deg,#C9A646 0%,#E5C97A 50%,#F0D490 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}

[data-theme="dark"] .hero-title { color:#fff; }

.hero-tagline {
  font-family:var(--font-accent);
  font-size:0.8rem;
  font-weight:400;
  color:var(--text-muted);
  letter-spacing:5px; text-transform:uppercase;
  margin:0.75rem 0 1.25rem;
}
[data-theme="dark"] .hero-tagline { color:rgba(255,255,255,0.5); }

.hero-subtitle {
  font-family:var(--font-display);
  font-size:clamp(1.25rem,2.8vw,1.65rem);
  font-weight:600;
  color:#1f2a44;
  line-height:1.45;
  margin-bottom:1.5rem;
}
.hero-subtitle em { font-style:italic; color:var(--gold-main); font-weight:700; }
[data-theme="dark"] .hero-subtitle { color:#fff; }
[data-theme="dark"] .hero-subtitle em { color:var(--gold-light); }

.hero-description {
  font-size:1rem; color:#6B7280;
  line-height:1.8; margin-bottom:2.25rem; max-width:500px;
}
[data-theme="dark"] .hero-description { color:rgba(255,255,255,0.55); }
@media(max-width:900px) { .hero-description { margin:0 auto 2.25rem; } }

.hero-buttons { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2rem; }

.hero-trust-badges { display:flex; gap:1.5rem; flex-wrap:wrap; }
.trust-badge-item {
  display:flex; align-items:center; gap:6px;
  font-size:0.72rem; font-weight:600;
  color:var(--text-muted);
  letter-spacing:0.3px;
}
.trust-badge-item::before { content:''; width:20px; height:1px; background:var(--gold-main); opacity:0.7; }
[data-theme="dark"] .trust-badge-item { color:rgba(255,255,255,0.5); }

/* ── TRUST BAR ───────────────────────────────────────────────────── */
.trust-bar-section {
  background:linear-gradient(135deg,#07111E,#0D1E3A);
  border-top:1px solid rgba(201,166,70,0.15);
  border-bottom:1px solid rgba(201,166,70,0.15);
  padding:1.1rem 0;
  overflow:hidden;
  position:relative;
}
.trust-scroll-track {
  display:flex;
  gap:3rem;
  width:max-content;
  animation:trustScroll 32s linear infinite;
  will-change:transform;
}
.trust-scroll-track:hover { animation-play-state:paused; }
.trust-item {
  display:flex; align-items:center; gap:0.7rem; white-space:nowrap;
  font-size:0.8rem; font-weight:600; color:rgba(255,255,255,0.65);
  letter-spacing:0.5px;
}
.trust-item-icon { font-size:1rem; color:var(--gold-main); }
.trust-dot { width:4px; height:4px; border-radius:50%; background:rgba(201,166,70,0.4); margin:0 0.5rem; }
.trust-sep {
  color: rgba(201,166,70,0.6);
  font-size: 0.55rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  margin: 0 0.6rem;
  flex-shrink: 0;
}

/* ── SOFTWARE SOLUTIONS SECTION ──────────────────────────────────── */
.software-section {
  background: linear-gradient(180deg, #0D1828 0%, #1A2F50 100%) !important;
  padding:var(--section-y) 0; position:relative; overflow:hidden;
}
/* No overlay in light theme — removed to fix faded/disabled appearance */
.software-section::before { display:none; }

[data-theme="dark"] .software-section { background:var(--navy-900); }
[data-theme="dark"] .software-section::before {
  display:block;
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 50% 60% at 50% 50%,rgba(201,166,70,0.05) 0%,transparent 60%);
}

.software-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
@media(max-width:900px) { .software-grid { grid-template-columns:1fr; } }

.software-card {
  background:#FFFFFF;
  border:1px solid #E6EAF1;
  border-radius:var(--r-2xl);
  padding:2.5rem;
  position:relative; overflow:hidden;
  transition:all 0.35s ease;
  box-shadow:0 10px 30px rgba(0,0,0,0.06);
}
[data-theme="dark"] .software-card {
  background:rgba(255,255,255,0.04);
  backdrop-filter:blur(12px);
  border-color:rgba(201,166,70,0.12);
  box-shadow:none;
}
.software-card::after {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(135deg,#C9A646,#E5C97A);
  opacity:0; transition:opacity 0.3s;
}
.software-card:hover { transform:translateY(-10px); border-color:rgba(201,166,70,0.3); box-shadow:0 24px 60px rgba(0,0,0,0.1); }
[data-theme="dark"] .software-card:hover { border-color:rgba(201,166,70,0.28); box-shadow:0 30px 80px rgba(0,0,0,0.4),0 0 0 1px rgba(201,166,70,0.1); }
.software-card:hover::after { opacity:1; }

.software-card-label {
  display:inline-flex; align-items:center; gap:6px;
  padding:0.28rem 0.85rem;
  background:linear-gradient(135deg,#C9A646,#E5C97A);
  border-radius:50px; font-size:0.66rem; font-weight:700;
  color:#0F1F4B; letter-spacing:1.5px; text-transform:uppercase;
  margin-bottom:1.25rem;
}
[data-theme="dark"] .software-card-label {
  background:rgba(201,166,70,0.1);
  border:1px solid rgba(201,166,70,0.25);
  color:var(--gold-light);
}
.software-card-icon {
  width:56px; height:56px; border-radius:var(--r-lg);
  background:linear-gradient(135deg,rgba(201,166,70,0.15),rgba(201,166,70,0.05));
  border:1px solid rgba(201,166,70,0.2);
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; margin-bottom:1.25rem;
  transition:transform 0.35s ease;
}
.software-card:hover .software-card-icon { transform:scale(1.12) rotate(8deg); }
.software-card h3 { font-size:1.4rem; font-weight:700; color:#0F1F4B; margin-bottom:0.6rem; letter-spacing:-0.01em; }
.software-card p  { font-size:0.9rem; color:#4B5568; line-height:1.75; margin-bottom:1.5rem; }
[data-theme="dark"] .software-card h3 { color:#fff; }
[data-theme="dark"] .software-card p  { color:rgba(255,255,255,0.5); }
.software-features { list-style:none; display:flex; flex-direction:column; gap:0.5rem; margin-bottom:1.75rem; }
.software-features li {
  display:flex; align-items:center; gap:0.6rem;
  font-size:0.83rem; color:#4B5568;
}
[data-theme="dark"] .software-features li { color:rgba(255,255,255,0.6); }
.software-features li::before { content:''; width:16px; height:16px; border-radius:50%; background:linear-gradient(135deg,#C9A646,#E5C97A); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:0.6rem; line-height:16px; text-align:center; }
.vsat-badge {
  display:inline-flex; align-items:center; gap:6px;
  padding:0.35rem 0.9rem;
  background:rgba(201,166,70,0.08); border:1px solid rgba(201,166,70,0.2);
  border-radius:50px; font-size:0.7rem; font-weight:600;
  color:#6B7280; letter-spacing:0.5px;
}
[data-theme="dark"] .vsat-badge { color:rgba(255,255,255,0.5); }
.vsat-badge strong { color:var(--gold-main); }

/* ── PLATFORM FEATURES ───────────────────────────────────────────── */
.features-subtitle { max-width:640px; margin:0 auto; color:var(--text-muted); }
[data-theme="dark"] .features-subtitle { color: #c7d2e0; }
.features-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
@media(max-width:1024px) { .features-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px)  { .features-grid { grid-template-columns:1fr; } }

.feature-card {
  background:var(--bg-card);
  border:1px solid var(--border-light);
  border-radius:var(--r-xl);
  padding:2rem 1.75rem;
  text-align:center;
  transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);
  position:relative; overflow:hidden;
}
.feature-card:hover {
  transform:translateY(-6px);
  box-shadow:0 15px 35px rgba(0,0,0,0.18), 0 0 0 1px rgba(201,166,70,0.2);
  border-color:rgba(201,166,70,0.35);
}
[data-theme="dark"] .feature-card:hover {
  box-shadow:0 15px 35px rgba(0,0,0,0.35), 0 0 0 1px rgba(201,166,70,0.2);
}
.feature-icon {
  width:70px; height:70px; border-radius:50%;
  background:linear-gradient(135deg,rgba(201,166,70,0.12),rgba(229,201,122,0.06));
  border:2px solid rgba(201,166,70,0.2);
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; margin:0 auto 1.3rem;
  transition:all 0.35s cubic-bezier(0.34,1.56,0.64,1);
}
.feature-card:hover .feature-icon { transform:scale(1.15); background:linear-gradient(135deg,rgba(201,166,70,0.22),rgba(229,201,122,0.12)); box-shadow:0 8px 24px rgba(201,166,70,0.25); }
.feature-card h4 { font-size:1rem; font-weight:600; color:var(--text-primary); margin-bottom:0.5rem; }
.feature-card p  { font-size:0.83rem; color:var(--text-muted); line-height:1.7; margin:0; }

/* ── WHY CHOOSE US ───────────────────────────────────────────────── */
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
@media(max-width:700px) { .why-grid { grid-template-columns:1fr; } }

.why-card {
  display:flex; gap:1.25rem; align-items:flex-start;
  padding:1.75rem;
  background:var(--bg-card);
  border:1px solid var(--border-light);
  border-radius:var(--r-xl);
  transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);
}
.why-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); border-color:var(--border-mid); }
.why-icon {
  width:52px; height:52px; border-radius:var(--r-lg); flex-shrink:0;
  background:linear-gradient(135deg,#C9A646,#E5C97A);
  display:flex; align-items:center; justify-content:center;
  font-size:1.35rem; font-weight:700; color:var(--navy-800);
  box-shadow:0 4px 16px rgba(201,166,70,0.3);
  transition:transform 0.35s cubic-bezier(0.34,1.56,0.64,1);
}
.why-card:hover .why-icon { transform:scale(1.1) rotate(5deg); }
.why-card h4 { font-size:1.02rem; font-weight:600; color:var(--text-primary); margin-bottom:0.35rem; }
.why-card p  { font-size:0.85rem; color:var(--text-muted); line-height:1.7; margin:0; }

/* ── ABOUT SECTION ───────────────────────────────────────────────── */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
@media(max-width:900px) { .about-grid { grid-template-columns:1fr; gap:3rem; } }

.about-image-block { position:relative; }
.about-main-img {
  width:100%; border-radius:var(--r-2xl);
  box-shadow:var(--shadow-2xl);
  border:4px solid rgba(201,166,70,0.15);
}
.about-accent-card {
  position:absolute; bottom:-20px; right:-20px;
  background:linear-gradient(135deg,#C9A646,#E5C97A);
  border-radius:var(--r-xl);
  padding:1.25rem 1.5rem;
  box-shadow:var(--shadow-gold);
  color:var(--navy-800);
  min-width:140px;
}
.about-accent-card .big-num { font-family:var(--font-display); font-size:2.5rem; font-weight:700; line-height:1; }
.about-accent-card .small-label { font-size:0.72rem; font-weight:600; letter-spacing:1px; opacity:0.8; }
.about-content-text h2 { font-size:clamp(1.7rem,3.5vw,2.5rem); line-height:1.15; margin-bottom:1.25rem; color:var(--text-primary); }
.about-lead { font-size:1.05rem; color:var(--text-muted); line-height:1.8; margin-bottom:1.5rem; font-style:italic; }
.about-stats { display:flex; gap:2rem; margin:2rem 0; flex-wrap:wrap; }
.about-stat .num { font-family:var(--font-display); font-size:2.2rem; font-weight:700; color:var(--gold-main); line-height:1; }
.about-stat .label { font-size:0.78rem; color:var(--text-muted); letter-spacing:0.5px; margin-top:0.25rem; }

/* ── GALLERY ─────────────────────────────────────────────────────── */
.gallery-section { background:var(--bg-secondary); }
.gallery-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:repeat(2,220px);
  gap:1rem;
}
.gallery-grid .gallery-item:first-child { grid-column:1; grid-row:1/3; }
@media(max-width:768px) {
  .gallery-grid { grid-template-columns:1fr 1fr; grid-template-rows:repeat(3,180px); }
  .gallery-grid .gallery-item:first-child { grid-column:1/3; grid-row:1; }
}

.gallery-item {
  position:relative; overflow:hidden;
  border-radius:var(--r-xl); cursor:pointer;
  background:var(--navy-700);
}
.gallery-item img {
  width:100%; height:100%; object-fit:cover;
  transition:transform 0.6s cubic-bezier(0.34,1.56,0.64,1);
  display:block;
}
.gallery-item:hover img { transform:scale(1.08); }
.gallery-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(5,13,26,0.85) 0%,transparent 55%);
  opacity:0.4; transition:opacity 0.35s ease;
  display:flex; align-items:flex-end; padding:1rem 1.25rem;
}
.gallery-item:hover .gallery-overlay { opacity:1; }
.gallery-caption { font-size:0.82rem; font-weight:600; color:#fff; line-height:1.3; }
@media(max-width:768px) {
  .gallery-overlay { opacity:1 !important; }
  .gallery-caption { font-size:0.75rem; }
}

/* ── GALLERY PLACEHOLDER (no actual photos) ──────────────────────── */
.gallery-placeholder {
  width:100%; height:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.75rem;
  background:linear-gradient(135deg,rgba(9,20,40,0.9),rgba(18,37,73,0.8));
  color:rgba(255,255,255,0.5);
  font-size:0.8rem; font-weight:500; letter-spacing:0.5px;
}
.gallery-placeholder .ph-icon { font-size:2rem; opacity:0.4; }

/* ── GALLERY REAL PHOTO ──────────────────────────────────────────── */
.gallery-photo {
  width:100%; height:100%;
  transition:transform 0.6s cubic-bezier(0.34,1.56,0.64,1);
}
.gallery-item:hover .gallery-photo { transform:scale(1.08); }
.gallery-item .gallery-overlay { opacity:0.3; }
.gallery-item:hover .gallery-overlay { opacity:1; }

/* Gallery Lightbox */
.gallery-lightbox {
  position:fixed; inset:0; z-index:var(--z-modal);
  background:rgba(5,13,26,0.96); backdrop-filter:blur(20px);
  display:none; align-items:center; justify-content:center;
  padding:2rem;
}
.gallery-lightbox.active { display:flex; }
.lightbox-inner { position:relative; max-width:900px; width:100%; }
.lightbox-inner img { width:100%; border-radius:var(--r-xl); box-shadow:var(--shadow-2xl); }
.lightbox-close {
  position:absolute; top:-16px; right:-16px;
  width:44px; height:44px; border-radius:50%;
  background:var(--grad-gold); border:none; cursor:pointer;
  font-size:1.1rem; color:var(--navy-800); font-weight:700;
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-gold);
}
.lightbox-caption { text-align:center; color:rgba(255,255,255,0.7); font-size:0.88rem; margin-top:1rem; }

/* ── CTA SECTION ─────────────────────────────────────────────────── */
.cta-section {
  background:linear-gradient(135deg,var(--navy-700) 0%,var(--navy-900) 100%);
  padding:6rem 0; text-align:center; position:relative; overflow:hidden;
}
.cta-section::before {
  content:''; position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:600px; height:600px; border-radius:50%;
  background:radial-gradient(circle,rgba(201,166,70,0.08),transparent 70%);
  pointer-events:none;
}
.cta-section h2 { font-size:clamp(1.8rem,4vw,3rem); color:#fff; margin-bottom:0.75rem; }
.cta-section p  { color:rgba(255,255,255,0.6); font-size:1.05rem; margin-bottom:2.25rem; }
.cta-buttons    { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.cta-section .btn-primary {
  box-shadow: 0 10px 28px rgba(201,166,70,0.3), 0 2px 10px rgba(0,0,0,0.12);
}
.cta-section .btn-outline-white {
  background: rgba(255,255,255,0.08);
  color: #F8FAFF !important;
  border-color: rgba(255,255,255,0.52) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12), 0 0 0 1px rgba(255,255,255,0.04) inset;
}
.cta-section .btn-outline-white:hover,
.cta-section .btn-outline-white:focus-visible {
  background: rgba(255,255,255,0.14);
  color: #FFFFFF !important;
  border-color: rgba(201,166,70,0.72) !important;
  box-shadow: 0 12px 30px rgba(201,166,70,0.18), 0 0 0 1px rgba(255,255,255,0.06) inset;
  outline: none;
}
html:not([data-theme="dark"]) .cta-section .btn-outline-white {
  background: rgba(255,255,255,0.1) !important;
  color: #F8FAFF !important;
  border-color: rgba(255,255,255,0.56) !important;
}
html:not([data-theme="dark"]) .cta-section .btn-outline-white:hover,
html:not([data-theme="dark"]) .cta-section .btn-outline-white:focus-visible {
  background: rgba(255,255,255,0.16) !important;
  color: #FFFFFF !important;
  border-color: rgba(201,166,70,0.72) !important;
}

/* ── CLIENT PORTAL SECTION ───────────────────────────────────────── */
.portal-section { background:var(--bg-secondary); padding-top:80px !important; }
.portal-grid { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; align-items:center; }
@media(max-width:900px) { .portal-grid { grid-template-columns:1fr; gap:3rem; } }

.portal-mockup {
  background:linear-gradient(135deg,var(--navy-800),var(--navy-700));
  border-radius:var(--r-2xl);
  border:1px solid rgba(201,166,70,0.2);
  padding:2rem;
  box-shadow:var(--shadow-2xl), 0 0 50px rgba(201,166,70,0.18), 0 0 0 1px rgba(201,166,70,0.15);
  overflow:hidden;
}
.portal-mockup-bar {
  display:flex; gap:6px; margin-bottom:1.25rem;
}
.pm-dot { width:10px; height:10px; border-radius:50%; }
.pm-dot.red { background:#FF5F57; } .pm-dot.yellow { background:#FFBD2E; } .pm-dot.green { background:#27C93F; }
.portal-mockup-screen { display:flex; flex-direction:column; gap:0.6rem; }
.pm-row { height:10px; border-radius:6px; background:rgba(255,255,255,0.08); }
.pm-row.short { width:40%; } .pm-row.mid { width:65%; } .pm-row.full { width:100%; }
.pm-card { background:rgba(201,166,70,0.08); border:1px solid rgba(201,166,70,0.15); border-radius:10px; padding:0.9rem; margin-top:0.75rem; }

.portal-features-list { display:flex; flex-direction:column; gap:1rem; margin:1.75rem 0 2rem; }
.portal-feature {
  display:flex; align-items:center; gap:1rem;
  padding:1rem 1.25rem;
  background:var(--bg-card);
  border:1px solid var(--border-light);
  border-left:3px solid #C9A646;
  border-radius:var(--r-lg);
  transition:all 0.25s ease;
}
.portal-feature:hover {
  background:rgba(201,166,70,0.06);
  border-left-color:#C9A646;
  box-shadow:var(--shadow-md);
  transform:translateX(4px);
}
.pf-icon { width:44px; height:44px; border-radius:10px; background:rgba(201,166,70,0.1); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.pf-svg-wrap { display:flex; align-items:center; justify-content:center; }
.pf-text strong { font-size:0.92rem; font-weight:700; color:var(--text-primary); display:block; margin-bottom:4px; }
.pf-text span   { font-size:0.81rem; color:var(--text-muted); line-height:1.6; }

/* ── MAP SECTION ─────────────────────────────────────────────────── */
.map-section { background:var(--bg-primary); padding:5rem 0; }
.map-wrapper { border-radius:var(--r-2xl); overflow:hidden; box-shadow:var(--shadow-xl); border:1px solid var(--border-light); }
.map-wrapper iframe { display:block; }

/* ── CONTACT SECTION ─────────────────────────────────────────────── */
.contact-section { background:var(--bg-secondary); }
.contact-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:4rem; }
@media(max-width:900px) { .contact-grid { grid-template-columns:1fr; } }

.contact-info-item {
  display:flex; gap:1rem; align-items:flex-start;
  padding:1.25rem; background:#FFFFFF;
  border:1px solid #E6EAF1; border-radius:var(--r-lg);
  margin-bottom:1rem;
  transition:all 0.3s ease;
  box-shadow:0 4px 16px rgba(0,0,0,0.04);
}
.contact-info-item:hover { border-color:rgba(201,166,70,0.3); box-shadow:0 8px 24px rgba(0,0,0,0.07); }
[data-theme="dark"] .contact-info-item { background:var(--bg-card); border-color:var(--border-light); }
.ci-icon {
  width:44px; height:44px; border-radius:var(--r-md); flex-shrink:0;
  background:linear-gradient(135deg,rgba(201,166,70,0.15),rgba(201,166,70,0.06));
  border:1px solid rgba(201,166,70,0.2);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
}
.ci-text strong { font-size:0.82rem; font-weight:700; color:var(--text-muted); letter-spacing:0.5px; text-transform:uppercase; display:block; margin-bottom:0.25rem; }
.ci-text span { font-size:0.95rem; color:var(--text-primary); font-weight:500; }

.contact-form-box {
  background:#FFFFFF;
  border:1px solid #E6EAF1;
  border-radius:var(--r-2xl);
  padding:2.5rem;
  box-shadow:0 16px 40px rgba(0,0,0,0.07);
}
[data-theme="dark"] .contact-form-box { background:var(--bg-card); border-color:var(--border-light); box-shadow:var(--shadow-lg); }
.contact-form-box h3 { font-size:1.5rem; margin-bottom:0.5rem; color:var(--text-primary); }
.contact-form-box p { color:var(--text-muted); font-size:0.9rem; margin-bottom:1.75rem; }

/* ── FOOTER ──────────────────────────────────────────────────────── */
.footer {
  background:linear-gradient(180deg,#0F1F4B 0%,#081430 100%);
  color:rgba(255,255,255,0.7);
  padding:5rem 0 2rem;
  position:relative;
}
.footer::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,166,70,0.5) 50%,transparent);
}
.footer-container { max-width:var(--container-xl); margin:0 auto; padding:0 2rem; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3.5rem; margin-bottom:3rem; }
@media(max-width:900px) { .footer-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:600px) { .footer-grid { grid-template-columns:1fr; gap:2rem; } }

.footer-logo { display:flex; align-items:center; gap:0.75rem; margin-bottom:1.25rem; }
.footer-logo img { width:52px; height:52px; border-radius:50%; border:2px solid rgba(201,166,70,0.5); }
.footer-logo-text h3 { font-family:var(--font-display); font-size:1.05rem; color:#fff; margin:0 0 2px; }
.footer-logo-text p  { font-size:0.62rem; color:var(--gold-light); letter-spacing:2px; text-transform:uppercase; margin:0; }

.footer-desc { font-size:0.85rem; line-height:1.8; color:rgba(255,255,255,0.45); max-width:280px; margin-bottom:1.5rem; }
.footer-social { display:flex; gap:0.6rem; }
.footer-social a {
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1);
  display:flex; align-items:center; justify-content:center;
  font-size:0.85rem; color:rgba(255,255,255,0.6);
  transition:all 0.3s ease;
  text-decoration:none;
}
.footer-social a:hover { background:rgba(201,166,70,0.2); border-color:rgba(201,166,70,0.4); color:var(--gold-light); transform:translateY(-2px); }

.footer-col h4 { font-family:var(--font-body); font-size:0.72rem; font-weight:700; color:var(--gold-light); letter-spacing:2.5px; text-transform:uppercase; margin-bottom:1.25rem; }
.footer-links { display:flex; flex-direction:column; gap:0.55rem; }
.footer-links a { font-size:0.85rem; color:rgba(255,255,255,0.45); text-decoration:none; transition:color 0.25s; padding:0.1rem 0; }
.footer-links a:hover { color:var(--gold-light); }
.footer-contact-item { display:flex; gap:0.6rem; align-items:flex-start; margin-bottom:0.7rem; }
.footer-contact-item .icon { color:var(--gold-main); font-size:0.85rem; margin-top:2px; flex-shrink:0; }
.footer-contact-item span { font-size:0.83rem; color:rgba(255,255,255,0.45); line-height:1.6; }

.footer-bottom {
  border-top:1px solid rgba(255,255,255,0.06);
  padding-top:1.75rem;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:1rem;
  font-size:0.78rem; color:rgba(255,255,255,0.3);
}
.footer-bottom a { color:rgba(255,255,255,0.3); text-decoration:none; transition:color 0.25s; }
.footer-bottom a:hover { color:var(--gold-light); }
.vsat-credit { color:var(--gold-main); font-weight:600; animation:footerGlow 4s ease-in-out infinite; }

/* ── ENQUIRY MODAL ───────────────────────────────────────────────── */
#mOverlay {
  display:none;
  position:fixed; inset:0; z-index:3000;
  background:rgba(5,13,26,0.85); backdrop-filter:blur(14px);
  align-items:center; justify-content:center; padding:1.5rem;
  overflow-y:auto;
}
#mBox {
  background:var(--bg-card);
  border:1px solid rgba(201,166,70,0.25);
  border-radius:var(--r-2xl);
  padding:2.5rem;
  max-width:530px; width:100%;
  position:relative;
  box-shadow:0 40px 100px rgba(5,13,26,0.5);
  margin:auto; max-height:92vh; overflow-y:auto;
}
.m-close-btn {
  position:absolute; top:1rem; right:1rem;
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.12);
  color:var(--text-muted); font-size:1.1rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:all 0.3s ease;
}
.m-close-btn:hover { background:rgba(239,68,68,0.15); color:#EF4444; border-color:rgba(239,68,68,0.3); }
.m-title { font-family:var(--font-display); font-size:1.7rem; font-weight:500; color:#0F1F4B !important; margin-bottom:0.3rem; }
.m-title em { color:#B8922A !important; font-style:italic; }
.m-subtitle { font-size:0.85rem; color:var(--text-muted); margin-bottom:1.75rem; }
.m-submit {
  width:100%; padding:0.88rem; border:none; border-radius:50px;
  background:linear-gradient(135deg,#C9A646,#E5C97A);
  color:var(--navy-800); font-weight:700; font-size:0.95rem;
  cursor:pointer; transition:all 0.3s ease; margin-top:0.5rem;
  font-family:var(--font-body);
}
.m-submit:hover { transform:translateY(-2px); box-shadow:0 8px 28px rgba(201,166,70,0.45); }
.m-lang-btn {
  padding:0.4rem 1rem; border-radius:50px; font-size:0.78rem; font-weight:600;
  border:1.5px solid rgba(201,166,70,0.3); background:transparent;
  color:var(--text-muted); cursor:pointer; transition:all 0.25s ease;
  font-family:var(--font-body);
}
.m-lang-btn.active, .m-lang-btn:hover {
  background:rgba(201,166,70,0.12); border-color:var(--gold-main); color:var(--gold-main);
}
.m-success { text-align:center; padding:2.5rem 1rem; }
.m-success .success-icon { font-size:3rem; margin-bottom:1rem; }
.m-input, .m-select {
  width:100%; padding:0.75rem 1rem;
  background:var(--bg-primary); border:1.5px solid var(--border-light);
  border-radius:var(--r-md); font-size:0.9rem; color:var(--text-primary);
  font-family:var(--font-body); outline:none; transition:border-color 0.25s,box-shadow 0.25s;
  margin-bottom:0.75rem;
}
.m-input:focus, .m-select:focus { border-color:var(--gold-main); box-shadow:0 0 0 3px rgba(201,166,70,0.1); }
.m-label { font-size:0.78rem; font-weight:600; color:var(--text-muted); display:block; margin-bottom:0.3rem; letter-spacing:0.3px; }

/* ── ADMIN ACCESS LINK ───────────────────────────────────────────── */
.admin-access-link {
  display:inline-flex; align-items:center; gap:6px;
  padding:0.5rem 1.25rem; font-size:0.8rem; color:var(--gold-main);
  text-decoration:none; border:1px solid rgba(201,166,70,0.25);
  border-radius:var(--r-md); background:rgba(201,166,70,0.06);
  backdrop-filter:blur(10px); transition:all 0.3s ease; font-weight:500;
}
.admin-access-link:hover { background:var(--grad-gold); color:var(--navy-800); border-color:transparent; transform:translateY(-2px); box-shadow:0 4px 16px rgba(201,166,70,0.3); }

/* ── RESPONSIVE MISC ─────────────────────────────────────────────── */
@media(max-width:600px) {
  .hero-title { font-size:2.6rem; }
  .cta-section { padding:4rem 0; }
  .footer { padding:3.5rem 0 2rem; }
  .contact-form-box { padding:1.75rem 1.25rem; }
  .about-accent-card { display:none; }
}

/* ══════════════════════════════════════════════════════════════
   V-SAT BRAND INTRO SECTION
══════════════════════════════════════════════════════════════ */
.vsat-brand-intro {
  display: flex;
  align-items: center;
  gap: 3.5rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(201,166,70,0.2);
  border-radius: 20px;
  padding: 3rem 3rem;
  margin-bottom: 1rem;
  position: relative;
  overflow: hidden;
}
.vsat-brand-intro::before {
  content: '';
  position: absolute;
  top: -40px; right: -40px;
  width: 220px; height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,166,70,0.08), transparent 70%);
  pointer-events: none;
}
.vsat-intro-logo-col {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
}
.vsat-intro-logo {
  width: 180px;
  height: auto;
  filter: drop-shadow(0 8px 24px rgba(201,166,70,0.2));
  transition: transform 0.4s ease;
}
.vsat-intro-logo:hover { transform: scale(1.04); }

.vsat-intro-content-col { flex: 1; }

.vsat-intro-badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold-main);
  border: 1px solid rgba(201,166,70,0.35);
  background: rgba(201,166,70,0.08);
  padding: 4px 14px;
  border-radius: 50px;
  margin-bottom: 0.75rem;
}
.vsat-intro-title {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  color: #fff;
  font-weight: 800;
  margin: 0 0 0.35rem;
  line-height: 1.15;
}
.vsat-intro-title em {
  font-style: italic;
  background: linear-gradient(135deg, var(--gold-start), var(--gold-end));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.vsat-intro-tagline {
  font-size: 0.88rem;
  font-weight: 600;
  color: rgba(201,166,70,0.85);
  letter-spacing: 1px;
  margin: 0 0 1.1rem;
  text-transform: uppercase;
}
.vsat-intro-desc {
  font-size: 0.88rem;
  color: rgba(255,255,255,0.65);
  line-height: 1.8;
  margin: 0 0 0.75rem;
}
.vsat-intro-desc strong { color: rgba(255,255,255,0.9); }
.vsat-intro-desc em { color: var(--gold-light); font-style: italic; }

.vsat-intro-pillars {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1.25rem;
}
.vsat-pillar {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  background: rgba(201,166,70,0.08);
  border: 1px solid rgba(201,166,70,0.2);
  border-radius: 50px;
  padding: 6px 14px;
  font-size: 0.78rem;
  font-weight: 600;
  color: rgba(255,255,255,0.85);
  white-space: nowrap;
}
.vsat-pillar-icon { font-size: 0.95rem; }

/* ── TABLET (max 900px) ─────────────────────────────────── */
@media(max-width:900px) {
  .vsat-brand-intro {
    gap: 2rem;
    padding: 2.25rem 2rem;
  }
  .vsat-intro-logo-col { width: 150px; }
  .vsat-intro-logo { width: 140px; }
}

/* ── MOBILE (max 700px) ─────────────────────────────────── */
@media(max-width:700px) {
  .vsat-brand-intro {
    flex-direction: column;
    text-align: center;
    padding: 2rem 1.5rem;
    gap: 1.5rem;
  }
  .vsat-intro-logo-col { width: 100%; }
  .vsat-intro-logo { width: 130px; }
  .vsat-intro-pillars { justify-content: center; }
  .vsat-intro-title { font-size: 1.75rem; }
}

/* ── PORTAL BADGE STYLED ──────────────────────────────────────── */
.portal-badge-styled {
  background: rgba(201,166,70,0.12) !important;
  border: 1px solid #C9A646 !important;
  color: #C9A646 !important;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  padding: 6px 14px;
  border-radius: 20px;
  font-weight: 700;
}

/* ── PORTAL MOCKUP: doc row + icon card ──────────────────────── */
.pm-doc-row { display:flex; align-items:center; gap:8px; }
.pm-icon-card {
  background:rgba(201,166,70,0.08); border:1px solid rgba(201,166,70,0.12);
  border-radius:8px; padding:8px 4px 6px;
  display:flex; flex-direction:column; align-items:center; gap:3px;
}
.pm-icon-card span {
  font-size:7px; color:rgba(255,255,255,0.45); letter-spacing:.3px;
}

/* ── HERO CONTACT BAR ─────────────────────────────────────────── */
.hero-contact-bar {
  display: flex; align-items: center; gap: 1rem;
  margin-top: 1.25rem; flex-wrap: wrap;
}
.hero-call-btn, .hero-wa-btn {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 0.82rem; font-weight: 700; padding: 8px 16px;
  border-radius: 50px; text-decoration: none;
  transition: all 0.2s ease; letter-spacing: 0.2px;
}
.hero-call-btn {
  background: rgba(201,166,70,0.12);
  border: 1.5px solid rgba(201,166,70,0.45);
  color: var(--gold-main);
}
.hero-call-btn:hover { background:rgba(201,166,70,0.22); transform:translateY(-2px); }
.hero-wa-btn {
  background: rgba(37,211,102,0.12);
  border: 1.5px solid rgba(37,211,102,0.4);
  color: #25D366;
}
.hero-wa-btn:hover { background:rgba(37,211,102,0.22); transform:translateY(-2px); }
[data-theme="dark"] .hero-call-btn { color:#E5C97A; }
[data-theme="dark"] .hero-wa-btn { color:#4ade80; }
@media(max-width:600px) {
  .hero-contact-bar { gap:.65rem; }
  .hero-call-btn, .hero-wa-btn { font-size:.76rem; padding:7px 12px; }
}

/* ── WHATSAPP FLOAT: text label ───────────────────────────────── */
.whatsapp-float span { font-size:0.82rem; font-weight:700; color:#fff; letter-spacing:0.2px; }

/* ── ABOUT: vsa-commit spacing ───────────────────────────────── */
.vsa-commit-item { margin-bottom:10px; }

/* ── GOLD DIVIDER: portal override ───────────────────────────── */
.portal-section .gold-divider { width:60px; height:3px; }


/* ═══════════════════════════════════════════════════════════════
   LIGHT / DARK THEME CONSISTENCY — Layout identical, color only
   ═══════════════════════════════════════════════════════════════ */

/* Why-choose cards — light theme */
html:not([data-theme="dark"]) .why-card {
  background: #FFFFFF;
  border: 1px solid rgba(201,166,70,0.2);
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}
html:not([data-theme="dark"]) .why-card h4 { color: #0F1F4B; }
html:not([data-theme="dark"]) .why-card p  { color: #4B5563; }

/* Feature cards — light theme */
html:not([data-theme="dark"]) .feature-card {
  background: #FFFFFF;
  border-color: rgba(201,166,70,0.18);
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
}
html:not([data-theme="dark"]) .feature-card h4 { color: #0F1F4B; }
html:not([data-theme="dark"]) .feature-card p  { color: #4B5563; }

/* Portal features — light theme */
html:not([data-theme="dark"]) .portal-feature {
  background: #FFFFFF;
  border-color: rgba(201,166,70,0.2);
  box-shadow: 0 2px 12px rgba(0,0,0,0.05);
}
html:not([data-theme="dark"]) .pf-text strong { color: #0F1F4B; }
html:not([data-theme="dark"]) .pf-text span   { color: #4B5563; }

/* Portal mockup — light theme subtle contrast */
html:not([data-theme="dark"]) .portal-mockup {
  background: linear-gradient(135deg, #0D1E3A, #122549);
  box-shadow: 0 20px 60px rgba(0,0,0,0.18), 0 0 50px rgba(201,166,70,0.12);
}

/* About section — light theme text */
html:not([data-theme="dark"]) .about-lead { color: #374151; }
html:not([data-theme="dark"]) .vsa-commit-item { color: #0F1F4B; }

/* Trust bar — light theme */
html:not([data-theme="dark"]) .trust-bar-section { background: #F2F4F8; }
html:not([data-theme="dark"]) .trust-item { color: #374151; }
html:not([data-theme="dark"]) .trust-sep  { color: #C9A646; opacity: 0.7; }

/* Section labels — light theme */
html:not([data-theme="dark"]) .section-label {
  background: rgba(201,166,70,0.1);
  color: #8A6A10;
  border-color: rgba(201,166,70,0.3);
}

/* Hero badge & tagline — light theme */
html:not([data-theme="dark"]) .hero-badge {
  background: rgba(201,166,70,0.12);
  color: #7A5E0A;
  border-color: rgba(201,166,70,0.35);
}
html:not([data-theme="dark"]) .hero-tagline { color: #7A5E0A; opacity: 0.85; }

/* btn-outline — same good hover in both themes */
[data-theme="dark"] .btn-outline:hover {
  background: #C9A646 !important;
  color: #0A1628 !important;
  border-color: #C9A646 !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(201,166,70,0.3);
}
