/**
 * ============================================================
 *  styles.css — Vansh Feeds | Master Stylesheet
 * ============================================================
 *
 * TABLE OF CONTENTS
 * ─────────────────
 *   1.  Google Fonts Import
 *   2.  CSS Custom Properties (:root variables)
 *   3.  Dark Mode — Variable Overrides
 *   4.  Dark Mode — Component-Level Overrides
 *   5.  Product Detail Zoom Layout
 *   6.  CSS Reset & Base Styles
 *   7.  Theme Transition Suppression (.no-theme-transition)
 *   8.  Typography & Utility Classes
 *   9.  Premium Text Animations
 *  10.  Buttons
 *  11.  Topbar (contact strip above navbar)
 *  12.  Navbar & Logo
 *  13.  Hero Section
 *  14.  Feature Overlap Cards
 *  15.  Bento Grid Layouts
 *  16.  Product Cards
 *  17.  Network / Distribution Section
 *  18.  Footer
 *  19.  Utility Grid Helpers
 *  20.  Responsive Breakpoints
 *  21.  Mobile Menu (active state)
 *  22.  Scroll Reveal Animations
 *  23.  Page Transition Overlay
 *  24.  UI Controls (Language + Theme toggles)
 *  25.  Misc Animations (float, spin)
 *
 * COLOUR SYSTEM
 * ─────────────
 * All colours are defined as CSS custom properties in :root.
 * Dark mode swaps those variables via [data-theme="dark"],
 * except for --always-* variables which never change — these
 * are used for elements that must look the same in both modes
 * (e.g. the footer background, overlay background).
 *
 * DARK MODE STRATEGY
 * ──────────────────
 * theme-init.js applies [data-theme="dark"] to <html> BEFORE
 * the first CSS paint, so there is zero flash of the wrong theme.
 * The .no-theme-transition class (section 7) suppresses colour
 * transitions during that initial load.
 * ============================================================
 */


/* ─────────────────────────────────────────────────────────────────────────────
   2. CSS CUSTOM PROPERTIES (Design Tokens)
   All visual values are defined here as variables. Using these everywhere
   means: change one value here → the whole site updates instantly.

   Two categories:
   • Regular vars (--dark, --white, etc.) → FLIP in dark mode (see section 3)
   • Always vars (--always-dark, --always-white) → NEVER change — used for
     elements that must keep the same colour in both themes (footer, overlay).
───────────────────────────────────────────────────────────────────────────── */
:root {
  /* Kapila-inspired Vibrant Colors for Vansh Brand */
  --primary: #15803D; /* Vibrant Green */
  --primary-dark: #166534;
  --primary-light: #22C55E;
  
  --secondary: #F59E0B; /* Vibrant Orange/Gold */
  --secondary-dark: #D97706;
  
  --accent-red: #DC2626; /* For alerts, strong CTAs */
  --accent-yellow: #FACC15;
  
  --dark: #1E293B;
  --dark-light: #334155;
  --light: #F8FAFC;
  --white: #FFFFFF;
  --gray: #64748B;
  --gray-light: #E2E8F0;
  
  --always-dark: #1E293B;
  --always-darker: #0f172a;
  --always-white: #FFFFFF;
  
  /* Typography */
  --font-main: 'Inter', sans-serif;
  --font-heading: 'Outfit', sans-serif;
  
  /* Layout */
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 1rem;
  --radius-xl: 2rem;
  
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 20px 40px rgba(0, 0, 0, 0.08);
  
  --transition:
    transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.5s cubic-bezier(0.16, 1, 0.3, 1),
    background 0.5s cubic-bezier(0.16, 1, 0.3, 1),
    color 0.5s cubic-bezier(0.16, 1, 0.3, 1),
    border-color 0.5s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ─────────────────────────────────────────────────────────────────────────────
   3. DARK MODE — CSS VARIABLE OVERRIDES
   When theme-init.js sets data-theme="dark" on <html>, these overrides
   replace the root variables. Notice how the roles FLIP:
     --dark  (normally a dark colour) becomes a LIGHT colour in dark mode
             because it is used for body text, which must be light on dark bg.
     --white (normally white) becomes a dark card colour in dark mode.
   --always-* variables are defined in :root and NOT overridden here.
───────────────────────────────────────────────────────────────────────────── */
[data-theme="dark"] {
  --dark: #F8FAFC;
  --dark-light: #E2E8F0;
  --light: #0f172a;
  --white: #1e293b;
  --gray: #94a3b8;
  --gray-light: #334155;
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 20px 40px rgba(0, 0, 0, 0.5);
}

/* ─────────────────────────────────────────────────────────────────────────────
   4. DARK MODE — COMPONENT-LEVEL OVERRIDES
   Some elements use hardcoded colours in their inline styles or have
   backgrounds that don't automatically follow the CSS variables.
   These rules force them to use the correct dark-mode values.
   Most rules use !important to override inline styles on HTML elements.
───────────────────────────────────────────────────────────────────────────── */
[data-theme="dark"] body {
  background-color: #0f172a;
  color: #F8FAFC;
}

/* .product-card and .feat-card dark mode overrides moved to end of file (premium gradient version) */
[data-theme="dark"] .section {
  background: #0f172a;
}

[data-theme="dark"] .product-img-wrapper {
  background: #0f172a;
}

[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea {
  background: #0f172a !important;
  color: #F8FAFC !important;
  border-color: #334155 !important;
}

[data-theme="dark"] .topbar {
  background: #0f172a;
  border-bottom: 1px solid #334155;
}

[data-theme="dark"] .controls-group {
  background: #0f172a;
  border-color: #334155;
}

[data-theme="dark"] .lang-btn.active {
  background: #1e293b;
}

[data-theme="dark"] .hero-bg {
  filter: brightness(0.4);
}

/* Dark mode: sections with explicit light backgrounds */
[data-theme="dark"] section[style*="background: var(--white)"],
[data-theme="dark"] section[style*="background: var(--light)"] {
  background: #1e293b !important;
}

/* Dark mode product detail card panels */
[data-theme="dark"] .product-detail-img-panel {
  background: #0f172a !important;
  border-color: #334155 !important;
}

[data-theme="dark"] .product-detail-info-panel {
  background: #1e293b !important;
  border-color: #334155 !important;
}

/* Dark mode inline icon badges */
[data-theme="dark"] .icon-badge-green {
  background: rgba(34, 197, 94, 0.15) !important;
}

[data-theme="dark"] .icon-badge-gold {
  background: rgba(245, 158, 11, 0.15) !important;
}

/* Quality page dark cards */
[data-theme="dark"] [style*="background: var(--light)"] {
  background: #1e293b !important;
}

/* About, contact inline card panels */
[data-theme="dark"] [style*="background: var(--dark);"] {
  background: #020617 !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   5. PRODUCT DETAIL — AMAZON-STYLE ZOOM LAYOUT
   The zoom feature uses two absolutely-positioned elements:
     #zoom-lens  — the circular magnifier that follows the cursor
     #zoom-result — the floating panel showing the zoomed image
   Both are positioned relative to the .product-detail-img-panel wrapper.
   The zoom logic itself is in the <script> block of product-detail.html.
───────────────────────────────────────────────────────────────────────────── */
/* The outer wrapper must be position:relative so #zoom-result anchors to it */
#zoom-result {
  /* Ensure it never exceeds viewport height */
  max-height: 90vh;
}

/* Hide the floating zoom result on small screens (no room beside the image) */
@media (max-width: 1200px) {
  #zoom-result { display: none !important; }
}

/* Lens circle uses transform:translate(-50%,-50%) in inline style,
   ensure it is always on top */
#zoom-lens {
  z-index: 10;
}

/* ─────────────────────────────────────────────────────────────────────────────
   6. CSS RESET & BASE STYLES
   Removes all default browser margins/padding. Sets box-sizing to border-box
   so padding is included in element widths (much easier to work with).
───────────────────────────────────────────────────────────────────────────── */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

input, select, textarea {
  padding: 1rem 1.25rem !important;
  border-radius: var(--radius-md) !important;
  border: 1px solid color-mix(in srgb, var(--gray-light) 80%, transparent) !important;
  background: var(--light) !important;
  transition: all 0.3s ease;
}

input:focus, select:focus, textarea:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 20%, transparent) !important;
  outline: none !important;
}

/* Apply dark background at the html level so even the first paint is dark */
[data-theme="dark"] {
  background-color: #0f172a;
  color-scheme: dark;
}

/* ─────────────────────────────────────────────────────────────────────────────
   7. THEME TRANSITION SUPPRESSION
   theme-init.js adds .no-theme-transition to <html> during page load to
   prevent a visible colour-animation from light → dark on initial paint.
   It only disables CSS 'transition-property' — @keyframes animations (like
   the page-transition overlay) are completely unaffected.
───────────────────────────────────────────────────────────────────────────── */
/*
 * .no-theme-transition is added by theme-init.js on page load.
 * It ONLY suppresses color/background transitions to prevent the
 * dark-mode flash — NOT opacity or transform, so the page-transition
 * overlay animation is completely unaffected.
 */
.no-theme-transition *,
.no-theme-transition *::before,
.no-theme-transition *::after {
  transition-property: none !important;
}

/* Fine-grained: restore opacity+transform+visibility even during the no-transition phase */
.no-theme-transition .page-transition-overlay {
  transition: opacity 0.45s ease, visibility 0.45s ease !important;
}
.no-theme-transition .page-transition-overlay img {
  transition: opacity 0.45s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   8. TYPOGRAPHY & UTILITY CLASSES
   Base font, heading styles, links, and common layout helpers.
───────────────────────────────────────────────────────────────────────────── */
html {
  scroll-behavior: smooth;
  font-size: 16px;
  max-width: 100%;
  overflow-x: clip;
}

body {
  font-family: var(--font-main);
  color: var(--dark);
  background-color: var(--light);
  background-image:
    linear-gradient(color-mix(in srgb, var(--primary) 5%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--primary) 5%, transparent) 1px, transparent 1px);
  background-size: 48px 48px;
  line-height: 1.75;
  max-width: 100%;
  overflow-x: clip;
}

@supports not (overflow: clip) {
  html,
  body { overflow-x: hidden; }
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link {
  position: fixed;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 100000;
  padding: 0.7rem 1rem;
  border-radius: var(--radius-sm);
  background: var(--always-dark);
  color: var(--always-white);
  font-weight: 800;
  transform: translateY(-180%);
  transition: transform 0.18s ease;
}

.skip-link:focus { transform: translateY(0); }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--secondary);
  outline-offset: 3px;
}

.grid-1-2 > *,
.grid-2 > *,
.grid-4 > * { min-width: 0; }

.contact-form-panel { scroll-margin-top: 110px; }

.contact-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.contact-consent {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 0.7rem;
  align-items: start;
  margin: -0.5rem 0 1.5rem;
  color: var(--gray);
  font-size: 0.9rem;
  line-height: 1.55;
}

.contact-consent input {
  width: 20px;
  height: 20px;
  margin-top: 0.1rem;
  accent-color: var(--primary);
}

.contact-consent a {
  color: var(--primary);
  font-weight: 700;
  text-decoration: underline;
}

.text-link {
  display: inline-flex;
  margin-top: 0.8rem;
  color: var(--primary);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 640px) {
  .contact-form-panel { padding: 1.5rem !important; }
}

p {
  max-width: 75ch;
}

/* Centered section lead paragraphs override the 75ch limit */
.section-lead {
  max-width: 65ch;
  margin-left: auto;
  margin-right: auto;
  max-width: unset;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: 800;
  line-height: 1.2;
}

a {
  text-decoration: none;
  color: inherit;
  transition: var(--transition);
}

ul {
  list-style: none;
}

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

/* Utilities */
.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.section {
  padding: 7rem 0;
}

.text-center { text-align: center; }

.section-title {
  font-size: 2.75rem;
  color: var(--primary-dark);
  margin-bottom: 1.5rem;
  position: relative;
  display: inline-block;
}

.section-title::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 4px;
  background: var(--secondary);
  border-radius: 2px;
}

.section-title.left::after {
  left: 0;
  transform: none;
}

/* ─────────────────────────────────────────────────────────────────────────────
   9. PREMIUM TEXT ANIMATIONS
   Five different text effects for a high-end feel:
     1. .text-shimmer     — gold shimmer sweep (used on cert titles)
     2. .text-gradient    — green→gold gradient cycle (used on hero spans)
     3. .reveal-text      — letter-spacing expands when scrolled into view
     4. .text-words       — each word fades up with a stagger delay
     5. .typewriter-cursor — a blinking | cursor appears after the text
───────────────────────────────────────────────────────────────────────────── */

/* 1. Shimmer sweep effect – applied to .text-shimmer */
.text-shimmer {
  background: linear-gradient(
    110deg,
    var(--secondary) 0%,
    var(--accent-yellow) 30%,
    var(--secondary) 60%,
    var(--secondary-dark) 100%
  );
  background-size: 250% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: shimmerText 3s linear infinite;
}
@keyframes shimmerText {
  0%   { background-position: 0% center; }
  100% { background-position: 250% center; }
}

/* 2. Animated gradient text – green→gold cycle on .text-gradient */
.text-gradient {
  background: linear-gradient(
    90deg,
    var(--primary) 0%,
    var(--secondary) 50%,
    var(--primary) 100%
  );
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: gradientFlow 4s ease infinite;
}
@keyframes gradientFlow {
  0%   { background-position: 0% center; }
  50%  { background-position: 100% center; }
  100% { background-position: 0% center; }
}

/* 3. Letter-spacing reveal – applied when .reveal-text becomes .active */
/* Note: section-title elements use reveal-text only for the letter-spacing pop,
   the opacity/transform reveal is handled separately by the scroll reveal system */
.section-title.reveal-text {
  letter-spacing: 0em;
  transition:
    letter-spacing 0.8s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.section-title.reveal-text.title-animate {
  letter-spacing: 0.1em;
}
.section-title.reveal-text.active {
  letter-spacing: 0.01em;
}

/* 4. Word-by-word fade-up – each .word inside .text-words */
.word {
  display: inline-block;
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.words-visible .word {
  opacity: 1;
  transform: translateY(0);
}

/* 5. Typewriter cursor blink on .typewriter-cursor */
.typewriter-cursor::after {
  content: '|';
  display: inline-block;
  color: var(--secondary);
  animation: cursorBlink 1s step-end infinite;
  margin-left: 2px;
}
@keyframes cursorBlink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0; }
}

/* 6. Section title letter-spacing expand on scroll */
.section-title {
  transition: letter-spacing 0.8s cubic-bezier(0.25, 0.8, 0.25, 1),
              opacity 0.8s ease,
              transform 0.8s ease;
}
.section-title.title-animate {
  letter-spacing: 0.12em;
}

/* ─────────────────────────────────────────────────────────────────────────────
  10. BUTTONS
   Three variants: primary (green), secondary (gold), outline (transparent).
   All use gradient backgrounds that shift on hover for a premium feel.
───────────────────────────────────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.875rem 2rem;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.125rem;
  border-radius: var(--radius-xl);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  border: none;
  transition: var(--transition);
  box-shadow: var(--shadow-md);
  gap: 0.5rem;
}

.btn-sm {
  padding: 0.7rem 1.15rem;
  font-size: 0.9rem;
}

.btn-primary {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
  background-size: 200% auto;
  color: var(--always-white);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.btn-primary:hover {
  background-position: right center;
  transform: translateY(-2px);
  box-shadow: 0 10px 20px -5px rgba(34, 197, 94, 0.4);
}

.btn-primary:active {
  transform: translateY(0) scale(0.95);
}

.btn-secondary {
  background: linear-gradient(135deg, var(--secondary) 0%, var(--secondary-dark) 100%);
  background-size: 200% auto;
  color: var(--always-white);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.btn-secondary:hover {
  background-position: right center;
  transform: translateY(-2px);
  box-shadow: 0 10px 20px -5px rgba(245, 158, 11, 0.4);
}

.btn-secondary:active {
  transform: translateY(0) scale(0.95);
}

.btn-outline {
  background: transparent;
  border: 2px solid var(--primary);
  color: var(--primary);
  box-shadow: none;
}

.btn-outline:hover {
  background: var(--primary);
  color: var(--always-white);
}

/* ─────────────────────────────────────────────────────────────────────────────
  11. TOPBAR
   Thin contact strip shown above the navbar on desktop (hidden on mobile).
   Contains phone/email with gold icon accents.
───────────────────────────────────────────────────────────────────────────── */
.topbar {
  background: var(--primary-dark);
  color: var(--always-white);
  padding: 0.5rem 0;
  font-size: 0.875rem;
}

.topbar .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.topbar-contact {
  display: flex;
  gap: 1.5rem;
}

.topbar-contact i {
  color: var(--secondary);
  margin-right: 0.5rem;
}

/* ─────────────────────────────────────────────────────────────────────────────
  12. NAVBAR & LOGO
   Sticky navbar with glassmorphism (backdrop-filter blur + semi-transparent
   background). The JS in main.js adjusts the background opacity on scroll.
   Active link gets a gold underline indicator via ::after pseudo-element.
───────────────────────────────────────────────────────────────────────────── */
.navbar {
  background: color-mix(in srgb, var(--white) 85%, transparent);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid color-mix(in srgb, var(--gray-light) 30%, transparent);
  box-shadow: var(--shadow-sm);
  position: sticky;
  top: 0;
  z-index: 1000;
  transition: all 0.3s ease;
}

.navbar .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 70px;
  gap: 1rem;
}

.logo-text {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--primary);
  letter-spacing: 0;
  white-space: nowrap;
}

.logo-text span {
  color: var(--secondary);
}

/* Logo image: blend-mode removes the white box so logo sits naturally on glassmorphism navbar */
.navbar .logo-container img,
.navbar #site-logo {
  max-height: 45px;
  mix-blend-mode: multiply;
  filter: saturate(1.1);
  transition: transform 0.4s ease;
}

.navbar .logo-container img:hover,
.navbar #site-logo:hover {
  transform: scale(1.04);
}

.nav-links {
  display: flex;
  gap: 1.25rem;
  align-items: center;
}

.nav-links a {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 0.85rem;
  color: var(--dark-light);
  text-transform: uppercase;
  position: relative;
  white-space: nowrap;
  letter-spacing: 0.5px;
  padding: 0.5rem 0;
}

.nav-links a:hover, .nav-links a.active {
  color: var(--primary);
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  white-space: nowrap;
}

.nav-actions .btn {
  padding: 0.6rem 1.25rem;
  font-size: 0.85rem;
}

.nav-actions .nav-social-btn {
  box-shadow: 0 10px 18px rgba(245, 158, 11, 0.18);
}

.nav-actions .nav-social-btn:hover {
  color: var(--always-white);
  box-shadow: 0 12px 24px rgba(245, 158, 11, 0.28);
}

.nav-links a::after {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 3px;
  background: var(--secondary);
  transition: var(--transition);
}

.nav-links a:hover::after, .nav-links a.active::after {
  width: 100%;
}

.mobile-menu-btn {
  display: none;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  background: none;
  border: none;
  color: var(--primary);
  cursor: pointer;
}

/* ─────────────────────────────────────────────────────────────────────────────
  13. HERO SECTION
   Full-width dark banner with a semi-transparent factory image background.
   The background slowly scales (floatBg keyframe) for a living, breathing feel.
   Content sits on z-index:1 above the z-index:0 background image.
───────────────────────────────────────────────────────────────────────────── */
@keyframes floatBg {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

.hero {
  position: relative;
  background: linear-gradient(135deg, var(--always-darker) 0%, rgba(15, 23, 42, 0.8) 100%);
  color: var(--always-white);
  padding: 6rem 0 8rem 0;
  overflow: hidden;
  text-align: center;
}

.hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../assets/factory_bg-optimized.jpg');
  background-size: cover;
  background-position: center;
  opacity: 0.4;
  z-index: 0;
  animation: floatBg 20s ease-in-out infinite;
}

.hero .container {
  position: relative;
  z-index: 1;
  max-width: 900px;
}

.hero h1 {
  font-size: clamp(2.6rem, 6vw, 4.2rem);
  margin-bottom: 1.5rem;
  letter-spacing: 0;
  line-height: 1.1;
  text-shadow: 0 2px 24px rgba(0,0,0,0.35);
}

.hero h1 span {
  color: var(--secondary);
}

.hero p {
  font-size: 1.5rem;
  margin-bottom: 2.5rem;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}

/* ─────────────────────────────────────────────────────────────────────────────
  14. FEATURE OVERLAP CARDS
   The three feature cards (Cattle, Aqua, Bio) overlap the hero section by
   -60px using a negative margin-top, creating a layered depth effect.
───────────────────────────────────────────────────────────────────────────── */
.features-overlap {
  margin-top: -60px;
  position: relative;
  z-index: 10;
}

.features-overlap .grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

/* ─────────────────────────────────────────────────────────────────────────────
  15. BENTO GRID LAYOUTS
   Bento grids are asymmetric CSS grids (inspired by modern dashboard UIs).
   .bento-layout: 2-column with the first column spanning 2 rows on desktop.
   .bento-stats:  4-column stats bar, collapses to 2 then 1 on smaller screens.
───────────────────────────────────────────────────────────────────────────── */
.bento-layout {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .bento-layout { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .bento-layout {
    grid-template-columns: 1.5fr 1fr;
    grid-template-rows: 1fr 1fr;
  }
  .bento-large {
    grid-row: span 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

.bento-stats {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .bento-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .bento-stats { grid-template-columns: repeat(4, 1fr); }
  .bento-stats-wide { grid-column: span 2; }
}

.feat-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 2.5rem;
  text-align: center;
  box-shadow: var(--shadow-lg);
  border-bottom: 4px solid var(--primary);
  transition:
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.45s ease,
    background 0.45s ease;
}

.feat-card:hover {
  transform: translateY(-8px) scale(1.02);
  border-bottom-color: var(--secondary);
  box-shadow: 0 24px 48px -8px rgba(0, 0, 0, 0.12), 0 12px 16px -6px rgba(0, 0, 0, 0.06);
}

.feat-icon {
  font-size: 3rem;
  color: var(--primary);
  margin-bottom: 1rem;
}

.feat-card:hover .feat-icon i {
  animation: bounceIcon 0.5s ease;
}

@keyframes bounceIcon {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-15px) scale(1.1); }
}

/* ─────────────────────────────────────────────────────────────────────────────
  16. PRODUCT CARDS
   Auto-fill grid: as many cards as fit at 280px minimum width.
   Each card has a hover lift + border-colour change to gold.
   The product image scales up slightly on hover for a premium feel.
───────────────────────────────────────────────────────────────────────────── */
.products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 2rem;
}

.product-card {
  background: var(--white);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  transition:
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.45s ease;
  border: 1px solid var(--gray-light);
  display: flex;
  flex-direction: column;
}

.product-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 24px 40px -8px rgba(0, 0, 0, 0.12), 0 12px 16px -6px rgba(0, 0, 0, 0.06);
  border-color: var(--secondary);
}

.product-img-wrapper {
  padding: 2rem;
  background: var(--light);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 250px;
}

.product-img-wrapper img {
  max-height: 100%;
  object-fit: contain;
  transition: transform 0.3s;
}

.product-card:hover .product-img-wrapper img {
  transform: scale(1.1);
}

.product-content {
  padding: 1.5rem;
  text-align: center;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.product-title {
  font-size: 1.25rem;
  color: var(--dark);
  margin-bottom: 1rem;
  flex-grow: 1;
}

/* ─────────────────────────────────────────────────────────────────────────────
  17. NETWORK / DISTRIBUTION SECTION
   Full-width green-background band used to showcase distribution stats
   and the India/Nepal coverage map. Text and dividers are always-white
   so they remain visible regardless of dark/light mode.
───────────────────────────────────────────────────────────────────────────── */
.network-section {
  background: var(--primary);
  color: var(--always-white);
  padding: 5rem 0;
}

.network-section .section-title {
  color: var(--always-white);
}

.network-section .section-title::after {
  background: var(--always-white);
}

/* ─────────────────────────────────────────────────────────────────────────────
  18. FOOTER
   Dark footer (--always-darker) that never changes between themes.
   4-column grid: brand info | quick links | contact | (spare) collapses
   to 2 then 1 column on smaller screens.
───────────────────────────────────────────────────────────────────────────── */
.footer {
  background: hsl(222, 47%, 7%);
  color: var(--always-white);
  padding: 5.5rem 0 2.5rem;
  border-top: 1px solid rgba(255,255,255,0.05);
  position: relative;
}

/* Subtle top glow line on footer */
.footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40%;
  height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--primary) 50%, transparent), transparent);
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.5fr;
  gap: 3rem;
  margin-bottom: 3.5rem;
}

.footer-heading {
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 1.25rem;
  color: var(--secondary);
}

.footer-links li { margin-bottom: 0.65rem; }
.footer-links a {
  color: rgba(255,255,255,0.55);
  font-size: 0.95rem;
  transition: color 0.3s ease, padding-left 0.3s ease;
}
.footer-links a:hover { color: rgba(255,255,255,0.9); padding-left: 4px; }

/* ─────────────────────────────────────────────────────────────────────────────
  19. UTILITY GRID HELPERS
   Reusable named grid classes used throughout page templates:
     .grid-2    — 2 equal columns
     .grid-3    — auto-fit 3 columns (wraps on smaller screens)
     .grid-4    — 4 equal columns
     .grid-1-2  — narrow + wide (sidebar + content)
───────────────────────────────────────────────────────────────────────────── */
.grid-1-2 {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 2rem;
}
.grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
.grid-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}
.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}

/* ─────────────────────────────────────────────────────────────────────────────
  INFRASTRUCTURE — MANUFACTURING STAGE CARDS
   Local factory visuals presented as practical production stages.
───────────────────────────────────────────────────────────────────────────── */
.infrastructure-section {
  background:
    linear-gradient(
      180deg,
      var(--light) 0%,
      color-mix(in srgb, var(--white) 86%, var(--primary) 6%) 100%
    );
}

.hero .infrastructure-hero-title {
  font-size: 3.5rem;
}

.infrastructure-header {
  max-width: 820px;
  margin: 0 auto 3rem;
  text-align: center;
}

.infrastructure-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  padding: 0.45rem 0.9rem;
  border: 1px solid color-mix(in srgb, var(--primary) 24%, transparent);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--primary) 10%, var(--white));
  color: var(--primary-dark);
  font-family: var(--font-heading);
  font-size: 0.875rem;
  font-weight: 700;
}

.infrastructure-subtitle {
  max-width: 760px;
  margin: 0 auto;
  color: var(--gray);
  font-size: 1.125rem;
}

.manufacturing-stages {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: stretch;
}

.manufacturing-stage-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  background: var(--white);
  border: 1px solid color-mix(in srgb, var(--gray-light) 80%, transparent);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  transition: var(--transition);
}

.manufacturing-stage-card:hover {
  transform: translateY(-6px);
  border-color: color-mix(in srgb, var(--secondary) 55%, var(--gray-light));
  box-shadow: var(--shadow-lg);
}

.stage-media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--gray-light);
}

.stage-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.45s ease;
}

.manufacturing-stage-card:hover .stage-media img {
  transform: scale(1.035);
}

.stage-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.5rem;
}

.stage-label {
  width: fit-content;
  margin-bottom: 0.9rem;
  padding: 0.35rem 0.75rem;
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--primary) 12%, var(--white));
  color: var(--primary-dark);
  font-family: var(--font-heading);
  font-size: 0.85rem;
  font-weight: 700;
}

.stage-content h3 {
  margin-bottom: 0.75rem;
  color: var(--dark);
  font-size: 1.35rem;
  overflow-wrap: break-word;
}

.stage-content p {
  color: var(--gray);
  font-size: 0.98rem;
}

.infrastructure-footnote {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  max-width: 860px;
  margin: 2.5rem auto 0;
  padding: 1rem 1.25rem;
  border: 1px solid color-mix(in srgb, var(--primary) 18%, var(--gray-light));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--white) 82%, var(--primary) 5%);
  color: var(--gray);
  box-shadow: var(--shadow-sm);
}

.infrastructure-footnote i {
  color: var(--secondary);
  font-size: 1.35rem;
}

.infrastructure-footnote p {
  margin: 0;
}

[data-theme="dark"] .infrastructure-section {
  background: #0f172a;
}

[data-theme="dark"] .manufacturing-stage-card,
[data-theme="dark"] .infrastructure-footnote {
  background: #1e293b;
  border-color: #334155;
}

[data-theme="dark"] .infrastructure-eyebrow,
[data-theme="dark"] .stage-label {
  background: rgba(34, 197, 94, 0.12);
  border-color: rgba(34, 197, 94, 0.24);
  color: #86efac;
}

[data-theme="dark"] .stage-media {
  background: #0f172a;
}

@media (max-width: 960px) {
  .manufacturing-stages {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 641px) and (max-width: 960px) {
  .manufacturing-stage-card {
    display: grid;
    grid-template-columns: minmax(260px, 42%) minmax(0, 1fr);
  }

  .stage-media {
    height: 100%;
    min-height: 260px;
    aspect-ratio: auto;
  }

  .stage-content {
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .hero .infrastructure-hero-title {
    font-size: 2.5rem;
  }
}

@media (max-width: 640px) {
  .hero .infrastructure-hero-title {
    font-size: 2rem;
  }

  .manufacturing-stages {
    grid-template-columns: 1fr;
  }

  .stage-content {
    padding: 1.25rem;
  }

  .infrastructure-footnote {
    align-items: flex-start;
  }
}

/* ─────────────────────────────────────────────────────────────────────────────
  20. RESPONSIVE BREAKPOINTS
   1024px — tablet: hide topbar, show hamburger, collapse footer to 2 cols
    768px — mobile: shrink hero text, stack all grids to single column
    480px — small mobile: collapse distribution grid to 1 column
───────────────────────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .topbar { display: none; }
  .nav-links, .nav-actions { display: none; }
  .mobile-menu-btn { display: inline-flex; }
  .hero h1 { font-size: 3rem; }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; }
}

@media (max-width: 768px) {
  .hero h1 { font-size: 2.25rem; }
  .hero p { font-size: 1.15rem; }
  .section { padding: 4rem 0; }
  .section-title { font-size: 2rem; }
  .features-overlap { margin-top: 2rem; }
  .grid-1-2, .grid-2, .grid-4 { grid-template-columns: 1fr !important; gap: 1.5rem; }
  .footer-grid { grid-template-columns: 1fr; }
  .network-section .grid-4 { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 480px) {
  .network-section .grid-4 { grid-template-columns: 1fr !important; }
}

/* ─────────────────────────────────────────────────────────────────────────────
  21. MOBILE MENU (active state)
   When the hamburger is clicked, .mobile-menu-active is added to .navbar.
   This turns the navbar into a vertical flex column that shows the hidden
   nav-links and nav-actions stacked below the logo/hamburger row.
───────────────────────────────────────────────────────────────────────────── */
.navbar.mobile-menu-active {
  background: var(--white);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.navbar.mobile-menu-active .container {
  flex-wrap: wrap;
  height: auto;
  padding-top: 1rem;
}
.mobile-menu-active .logo-container {
  order: 1;
}
.mobile-menu-active .mobile-menu-btn {
  order: 2;
}
.mobile-menu-active .nav-links {
  display: flex;
  flex-direction: column;
  width: 100%;
  order: 3;
  padding: 1rem 0;
  margin-top: 1rem;
  border-top: 1px solid var(--gray-light);
  align-items: flex-start;
}
.mobile-menu-active .nav-actions {
  display: flex;
  flex-direction: column;
  width: 100%;
  order: 4;
  padding: 0 0 1.5rem 0;
  gap: 1.5rem;
  align-items: flex-start;
}
.mobile-menu-active .controls-group {
  margin-left: 0;
}

/* ─────────────────────────────────────────────────────────────────────────────
  22. SCROLL REVEAL ANIMATIONS
   Elements start invisible and offset. main.js adds the 'active' class
   via IntersectionObserver when they enter the viewport, triggering the CSS
   transition that brings them into their natural position.
     .reveal       — fades up from below
     .reveal-left  — slides in from the left
     .reveal-right — slides in from the right
     .reveal-scale — scales up from 90%
───────────────────────────────────────────────────────────────────────────── */
.reveal, .reveal-left, .reveal-right, .reveal-scale {
  opacity: 0;
  transition: all 1s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal { transform: translateY(40px); }
.reveal-left { transform: translateX(-40px); }
.reveal-right { transform: translateX(40px); }
.reveal-scale { transform: scale(0.9); }

.reveal.active, .reveal-left.active, .reveal-right.active, .reveal-scale.active {
  opacity: 1;
  transform: translate(0, 0) scale(1);
}

@media (max-width: 768px) {
  .reveal-left,
  .reveal-right { transform: translateY(24px); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }

  .reveal,
  .reveal-left,
  .reveal-right,
  .reveal-scale {
    opacity: 1;
    transform: none;
  }
}

/* ─── Page Transition Overlay ─────────────────────────────────────────────── */
/*
 * Uses @keyframes (NOT transitions) so the animation can NEVER be
 * accidentally disabled by the .no-theme-transition class.
 */

@keyframes overlayFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes overlayFadeOut {
  from { opacity: 1; }
  to   { opacity: 0; }
}
@keyframes logoSettleIn {
  from { opacity: 0; transform: translateY(8px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes logoSettleOut {
  from { opacity: 1; transform: translateY(0) scale(1); }
  to   { opacity: 0; transform: translateY(-4px) scale(0.98); }
}

.page-transition-overlay {
  position: fixed;
  inset:0;                        /* top/right/bottom/left: 0 */
  z-index: 99999;
  display: flex;
  justify-content: center;
  align-items: center;
  /* Light mode: white; Dark mode: --dark (overridden below) */
  background: var(--always-white);
  isolation: isolate;
  /* Start hidden, no transition – state is controlled by class/animation */
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  will-change: opacity;
}

[data-theme="dark"] .page-transition-overlay {
  background: var(--always-dark);
}

/* ─── STATE: page just arrived (stable until the fade begins) ─── */
.page-transition-overlay.initial-load {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
  animation: none;
}
.page-transition-overlay.initial-load img {
  opacity: 1;
  transform: translateY(0) scale(1);
  animation: none;
}

/* ─── STATE: fade OUT (page has loaded, hide the overlay) ─── */
.page-transition-overlay.fade-out {
  animation: overlayFadeOut 0.52s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  visibility: visible;
  pointer-events: none;
}
.page-transition-overlay.fade-out img {
  animation: logoSettleOut 0.3s ease forwards;
}

/* ─── STATE: fade IN (user clicked a link, cover the page) ─── */
.page-transition-overlay.fade-in {
  opacity: 0;
  visibility: visible;
  pointer-events: all;
  animation: overlayFadeIn 0.36s ease forwards;
}
.page-transition-overlay.fade-in img {
  animation: logoSettleIn 0.38s 0.04s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Logo sizing */
.page-transition-overlay img {
  width: min(180px, 36vw);
  height: auto;
  display: block;
  opacity: 0;
  transform: translateZ(0) scale(1);
  backface-visibility: hidden;
  filter: drop-shadow(0 18px 34px rgba(15, 23, 42, 0.10));
  will-change: opacity, transform;
}

@media (prefers-reduced-motion: reduce) {
  .page-transition-overlay.fade-out,
  .page-transition-overlay.fade-in,
  .page-transition-overlay.initial-load img,
  .page-transition-overlay.fade-out img,
  .page-transition-overlay.fade-in img {
    animation-duration: 0.01ms;
  }
}

/* ─────────────────────────────────────────────────────────────────────────────
  24. UI CONTROLS — LANGUAGE & THEME TOGGLES
   The pill-shaped control group in the top-right of the navbar contains:
     • .lang-btn (EN / हिंदी) — calls window.i18n.setLanguage()
     • .controls-divider — visual separator
     • .theme-toggle-btn — calls main.js dark/light toggle
───────────────────────────────────────────────────────────────────────────── */
.controls-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--light);
  padding: 0.25rem;
  border-radius: 50px;
  border: 1px solid var(--gray-light);
}
.lang-switcher {
  display: flex;
  gap: 0.25rem;
}
.lang-btn {
  background: transparent;
  border: none;
  color: var(--gray);
  font-weight: 600;
  font-size: 0.85rem;
  padding: 0.4rem 0.8rem;
  border-radius: 50px;
  cursor: pointer;
  transition: var(--transition);
}
.lang-btn:hover {
  color: var(--primary);
}
.lang-btn:active {
  transform: scale(0.9);
}
.lang-btn.active {
  background: var(--white);
  color: var(--primary);
  box-shadow: var(--shadow-sm);
}
.controls-divider {
  width: 1px;
  height: 20px;
  background: var(--gray-light);
}

/* Theme Toggle Button */
.theme-toggle-btn {
  background: none;
  border: none;
  color: var(--gray);
  font-size: 1.1rem;
  cursor: pointer;
  transition: var(--transition);
  padding: 0.4rem 0.6rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.theme-toggle-btn:hover {
  color: var(--primary);
  background: var(--white);
  box-shadow: var(--shadow-sm);
}
.theme-toggle-btn:active {
  transform: scale(0.9);
}

.theme-icon-spin {
  animation: spinIcon 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
@keyframes spinIcon {
  0% { transform: rotate(0deg) scale(0.5); opacity: 0; }
  100% { transform: rotate(360deg) scale(1); opacity: 1; }
}

/* ─────────────────────────────────────────────────────────────────────────────
  25. MISC ANIMATIONS
   @keyframes floatAnim — gentle up/down bobbing for decorative images
   Apply with class .float-anim on any element.
───────────────────────────────────────────────────────────────────────────── */
@keyframes floatAnim {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-15px); }
  100% { transform: translateY(0px); }
}
.float-anim {
  animation: floatAnim 6s ease-in-out infinite;
}

/* ─────────────────────────────────────────────────────────────────────────────
  26. PREMIUM CORPORATE SECTION SYSTEM
───────────────────────────────────────────────────────────────────────────── */
.section-kicker {
  display: none !important;
  align-items: center;
  gap: 0.4rem;
  width: fit-content;
  max-width: 100%;
  margin-bottom: 1rem;
  padding: 0.4rem 0.9rem;
  border: 1px solid color-mix(in srgb, var(--primary) 18%, transparent);
  border-radius: 100px;
  background: color-mix(in srgb, var(--primary) 7%, var(--white));
  color: var(--primary-dark);
  font-family: var(--font-heading);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.text-center .section-kicker {
  margin-left: auto;
  margin-right: auto;
}

.section-lead {
  max-width: 760px;
  margin: 0 auto;
  color: var(--gray);
  font-size: 1.12rem;
}

.premium-card {
  position: relative;
  overflow: hidden;
  background: color-mix(in srgb, var(--white) 92%, transparent);
  border: 1px solid color-mix(in srgb, var(--gray-light) 82%, transparent);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.premium-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, var(--primary), var(--secondary));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}

.premium-card:hover {
  transform: translateY(-6px);
  border-color: color-mix(in srgb, var(--secondary) 45%, var(--gray-light));
  box-shadow: 0 20px 40px -12px rgba(21, 128, 61, 0.12);
}

.premium-card:hover::before {
  transform: scaleX(1);
}

.icon-pill {
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--primary) 10%, var(--white));
  color: var(--primary);
  font-size: 1.2rem;
  box-shadow: 0 4px 12px rgba(21, 128, 61, 0.12);
  flex-shrink: 0;
}

.soft-band {
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--primary) 10%, transparent), transparent 34rem),
    linear-gradient(180deg, var(--white), color-mix(in srgb, var(--light) 85%, var(--primary) 4%));
}

.hero-actions {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  margin-top: 2rem;
  flex-wrap: wrap;
}

.company-cards,
.trust-grid,
.support-grid,
.contact-action-grid,
.values-grid {
  display: grid;
  gap: 1.5rem;
}

.company-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.company-card {
  padding: 2rem;
}

.company-card h3,
.trust-card h3,
.support-card h3,
.value-card h3 {
  color: var(--dark);
  margin: 1.15rem 0 0.65rem;
  font-size: 1.2rem;
}

.company-card p,
.trust-card p,
.support-card p,
.value-card p {
  color: var(--gray);
  font-size: 0.96rem;
}

.field-label {
  display: inline-flex;
  margin-top: 1.25rem;
  padding: 0.35rem 0.75rem;
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--secondary) 14%, var(--white));
  color: var(--secondary-dark);
  font-family: var(--font-heading);
  font-size: 0.78rem;
  font-weight: 800;
}

.bulk-manufacturing-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 1.25rem;
  align-items: center;
  margin-top: 1.5rem;
  padding: 1.75rem;
}

.trust-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trust-card,
.support-card,
.value-card {
  padding: 1.75rem;
}

.distributor-cta {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg,
      hsl(158, 64%, 10%) 0%,
      hsl(143, 71%, 18%) 50%,
      hsl(158, 64%, 10%) 100%);
  color: var(--always-white);
}

/* Premium animated grain texture overlay */
.distributor-cta::before {
  content: '';
  position: absolute;
  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.85' 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: 0.5;
  pointer-events: none;
  border-radius: inherit;
}

/* Soft glowing orb top-right */
.distributor-cta::after {
  content: '';
  position: absolute;
  top: -80px;
  right: -80px;
  width: 350px;
  height: 350px;
  border-radius: 50%;
  background: radial-gradient(circle, hsl(143, 71%, 30%) 0%, transparent 70%);
  opacity: 0.3;
  pointer-events: none;
}

.distributor-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 2rem;
  align-items: center;
}

.distributor-panel h2 {
  color: var(--always-white);
  font-size: clamp(2rem, 4vw, 3.25rem);
  margin-bottom: 1rem;
}

.distributor-panel p {
  color: #dbeafe;
  max-width: 760px;
  font-size: 1.1rem;
}

.cta-actions {
  display: flex;
  gap: 1rem;
  margin-top: 2rem;
  flex-wrap: wrap;
}

.cta-proof {
  display: grid;
  gap: 1rem;
}

.cta-proof-item {
  padding: 1.25rem 1.5rem;
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,0.07);
  backdrop-filter: blur(16px);
  transition: background 0.3s ease, border-color 0.3s ease;
}

.cta-proof-item:hover {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.3);
}

.cta-proof-item strong {
  display: block;
  color: hsl(43, 97%, 58%);
  font-family: var(--font-heading);
  font-size: 1.75rem;
  letter-spacing: 0;
  line-height: 1;
}

.cta-proof-item span {
  color: rgba(255,255,255,0.75);
  font-size: 0.88rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.support-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.support-card a,
.contact-mini-card a {
  color: var(--primary);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.contact-action-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 2rem;
}

.contact-mini-card {
  padding: 1.5rem;
}

.contact-mini-card h3 {
  margin: 0.9rem 0 0.4rem;
  color: var(--dark);
  font-size: 1.05rem;
}

.contact-mini-card p {
  color: var(--gray);
  font-size: 0.93rem;
}

.map-panel {
  overflow: hidden;
  min-height: 360px;
  border-radius: var(--radius-lg);
  border: 1px solid var(--gray-light);
  box-shadow: var(--shadow-md);
}

.map-panel iframe {
  width: 100%;
  min-height: 360px;
  border: 0;
  display: block;
}

/* ─────────────────────────────────────────────────────────────────────────────
  27. HOME PRODUCT SHOWCASE
───────────────────────────────────────────────────────────────────────────── */
.product-showcase {
  position: relative;
  overflow: hidden;
}

.showcase-shell {
  position: relative;
  margin-top: 3rem;
}

.product-showcase-viewport {
  overflow: hidden;
  padding: 0.4rem 0.2rem 2rem;
}

.product-showcase-track {
  display: flex;
  gap: 1.5rem;
  will-change: transform;
}

.showcase-product-card {
  flex: 0 0 clamp(240px, calc((100% - 4.5rem) / 4), 310px);
  min-height: 100%;
  overflow: hidden;
  border-radius: var(--radius-lg);
  border: 1px solid color-mix(in srgb, var(--gray-light) 80%, transparent);
  background: color-mix(in srgb, var(--white) 82%, transparent);
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(14px);
  transition:
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.45s ease;
}

.showcase-product-card:hover {
  transform: translateY(-8px) scale(1.01);
  border-color: color-mix(in srgb, var(--secondary) 60%, var(--gray-light));
  box-shadow: 0 24px 48px -8px rgba(0, 0, 0, 0.14), 0 12px 20px -6px rgba(0, 0, 0, 0.08);
}

.showcase-media {
  position: relative;
  height: 260px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Always keep a white background so mix-blend-mode:multiply works in both themes */
  background: #ffffff;
}

.showcase-media::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 30%;
  background: linear-gradient(180deg, transparent, rgba(255,255,255,0.15));
  pointer-events: none;
}

.showcase-media img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: transform 0.55s ease;
}

.showcase-product-card:hover .showcase-media img {
  transform: scale(1.08);
}

.showcase-content {
  display: flex;
  min-height: 245px;
  flex-direction: column;
  padding: 1.35rem;
}

.product-category {
  color: var(--secondary-dark);
  font-family: var(--font-heading);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0;
}

.showcase-content h3 {
  margin: 0.45rem 0 0.75rem;
  color: var(--dark);
  font-size: 1.25rem;
}

.showcase-content p {
  color: var(--gray);
  flex: 1;
  font-size: 0.95rem;
}

.showcase-content .btn {
  background: transparent;
  border: none;
  box-shadow: none;
  color: var(--primary);
  padding: 0;
  text-transform: none;
  font-family: var(--font-main);
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0;
  justify-content: flex-start;
  margin-top: 1rem;
}

.showcase-content .btn::after {
  content: '→';
  margin-left: 0.5rem;
  transition: transform 0.3s ease;
}

.showcase-content .btn:hover {
  background: transparent;
  color: var(--primary-dark);
  box-shadow: none;
  transform: none;
}

.showcase-content .btn:hover::after {
  transform: translateX(4px);
}

.showcase-controls {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 0.5rem;
}

.carousel-btn {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--gray-light);
  border-radius: 50%;
  background: var(--white);
  color: var(--primary);
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  transition: var(--transition);
}

.carousel-btn:hover {
  background: var(--primary);
  color: var(--always-white);
  transform: translateY(-2px);
}

/* ─────────────────────────────────────────────────────────────────────────────
  28. NETWORK, ABOUT NUMBERS, PRODUCT DETAIL
───────────────────────────────────────────────────────────────────────────── */
.network-section {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(15, 23, 42, 0.94), rgba(22, 101, 52, 0.92)),
    url('../assets/factory_bg-optimized.jpg') center/cover;
}

.network-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(2, 6, 23, 0.18);
  pointer-events: none;
}

.network-section .container {
  position: relative;
  z-index: 1;
}

.network-section p {
  color: #e2e8f0;
}

.stats-grid-premium {
  display: grid;
  grid-template-columns: repeat(5, minmax(180px, 1fr));
  gap: 1rem;
}

.stat-tile {
  padding: 1.5rem;
  min-height: 142px;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: var(--radius-md);
  background: rgba(255,255,255,0.11);
  box-shadow: 0 18px 44px rgba(0,0,0,0.12);
  text-align: center;
  backdrop-filter: blur(12px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.stat-tile h3 {
  color: var(--secondary);
  font-size: clamp(2rem, 3.2vw, 2.85rem);
  line-height: 1;
  margin-bottom: 0.75rem;
  letter-spacing: 0;
  white-space: nowrap;
}

.stat-tile h3 small {
  font-size: 0.45em;
  margin-left: 0.12em;
  vertical-align: baseline;
}

.stat-tile p {
  color: var(--always-white);
  font-weight: 800;
  line-height: 1.3;
}

.values-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.mission-vision-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.mission-vision-card {
  padding: 2rem;
  border-radius: var(--radius-lg);
}

.mission-vision-card h3 {
  color: var(--primary-dark);
  font-size: 1.6rem;
  margin-bottom: 0.75rem;
}

.numbers-orbit {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.75rem;
  margin-top: 3rem;
  justify-items: center;
  align-items: center;
}

@media (max-width: 1100px) {
  .numbers-orbit {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 640px) {
  .numbers-orbit {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
}

.number-circle {
  min-width: 0;
  width: 240px;
  height: 240px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1.65rem;
  border-radius: 50%;
  border: 1.5px solid color-mix(in srgb, var(--primary) 25%, var(--gray-light));
  background: radial-gradient(
    circle at 35% 28%,
    color-mix(in srgb, var(--secondary) 14%, transparent),
    color-mix(in srgb, var(--white) 97%, var(--primary) 3%) 65%
  );
  box-shadow:
    0 10px 35px rgba(21, 128, 61, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    inset 0 0 20px rgba(21, 128, 61, 0.04);
  text-align: center;
  transition:
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.5s ease;
}

.number-circle:hover {
  transform: translateY(-10px) scale(1.04);
  border: 3px solid var(--primary);
  box-shadow:
    0 25px 50px rgba(21, 128, 61, 0.18),
    inset 0 0 30px rgba(21, 128, 61, 0.08);
}

.number-circle strong {
  color: var(--primary-dark);
  font-family: var(--font-heading);
  font-size: clamp(3.5rem, 5vw, 4.5rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.02em;
}

.number-circle span {
  margin-top: 1rem;
  color: var(--gray);
  font-weight: 700;
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.4;
}

.product-spec-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 2rem;
}

.product-spec-card {
  padding: 1rem;
  border: 1px solid var(--gray-light);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--light) 80%, var(--white));
}

.product-spec-card span {
  display: block;
  color: var(--gray);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.product-spec-card strong {
  display: block;
  margin-top: 0.35rem;
  color: var(--dark);
  font-family: var(--font-heading);
  font-size: 1rem;
}

.detail-tabs {
  border: 1px solid var(--gray-light);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--white);
}

.tab-buttons {
  display: flex;
  overflow-x: auto;
  border-bottom: 1px solid var(--gray-light);
  background: var(--light);
}

.tab-btn {
  flex: 1 0 auto;
  padding: 0.9rem 1rem;
  border: 0;
  background: transparent;
  color: var(--gray);
  font-family: var(--font-heading);
  font-weight: 800;
  cursor: pointer;
}

.tab-btn.active {
  background: var(--white);
  color: var(--primary);
  box-shadow: inset 0 -3px 0 var(--secondary);
}

.tab-panel {
  display: none;
  padding: 1.5rem;
}

.tab-panel.active {
  display: block;
}

.tab-panel ul {
  display: grid;
  gap: 0.75rem;
}

.tab-panel li {
  position: relative;
  padding-left: 1.4rem;
  color: var(--gray);
}

.tab-panel li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.65rem;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--secondary);
}

.bulk-strip {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin: 1.5rem 0;
  padding: 1rem 1.2rem;
  border: 1px solid color-mix(in srgb, var(--primary) 24%, var(--gray-light));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--primary) 8%, var(--white));
  color: var(--primary-dark);
  font-weight: 800;
}

.product-detail-meta {
  display: flex;
  gap: 0.65rem;
  flex-wrap: wrap;
  margin-bottom: 1.4rem;
}

.product-detail-meta span {
  padding: 0.38rem 0.7rem;
  border-radius: var(--radius-md);
  border: 1px solid color-mix(in srgb, var(--primary) 22%, var(--gray-light));
  background: color-mix(in srgb, var(--primary) 8%, var(--white));
  color: var(--primary-dark);
  font-family: var(--font-heading);
  font-size: 0.82rem;
  font-weight: 800;
}

.product-thumb-strip {
  display: flex;
  gap: 0.75rem;
  padding: 1rem 2rem;
  background: var(--white);
  border-top: 1px solid var(--gray-light);
  overflow-x: auto;
  scrollbar-width: thin;
}

.product-thumb {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  border-radius: var(--radius-md);
  border: 2px solid transparent;
  background: var(--light);
  overflow: hidden;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: border-color 0.25s ease, transform 0.25s ease;
}

.product-thumb:hover,
.product-thumb.active {
  border-color: var(--secondary);
}

.product-thumb.active {
  transform: translateY(-2px);
}

.product-thumb img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}

.detail-spec-table-wrap {
  margin: 0 0 1.5rem;
}

.detail-spec-table-wrap h3 {
  color: var(--primary);
  font-size: 1.1rem;
  margin-bottom: 0.85rem;
}

.detail-spec-table {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  border: 1px solid var(--gray-light);
  border-radius: var(--radius-md);
  background: var(--white);
}

.detail-spec-table th,
.detail-spec-table td {
  padding: 0.78rem 0.9rem;
  border-bottom: 1px solid var(--gray-light);
  text-align: left;
  vertical-align: top;
  font-size: 0.92rem;
}

.detail-spec-table th {
  background: var(--light);
  color: var(--dark);
  font-family: var(--font-heading);
  font-weight: 800;
}

.detail-spec-table td:first-child {
  width: 42%;
  color: var(--dark);
  font-weight: 700;
}

.detail-spec-table td:last-child {
  color: var(--gray);
}

.detail-spec-table tr:last-child td {
  border-bottom: 0;
}

.product-detail-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}

.product-detail-actions .btn {
  width: 100%;
  justify-content: center;
}

/* ─────────────────────────────────────────────────────────────────────────────
  29. DARK MODE AND RESPONSIVE OVERRIDES FOR PREMIUM LAYER
───────────────────────────────────────────────────────────────────────────── */
[data-theme="dark"] .premium-card,
[data-theme="dark"] .product-spec-card,
[data-theme="dark"] .detail-tabs {
  background: #1a2e47;
  border-color: rgba(255, 255, 255, 0.10);
}

[data-theme="dark"] .soft-band {
  background: #0f172a;
}

[data-theme="dark"] .section-kicker,
[data-theme="dark"] .icon-pill,
[data-theme="dark"] .field-label,
[data-theme="dark"] .bulk-strip {
  background: rgba(34, 197, 94, 0.12);
  border-color: rgba(34, 197, 94, 0.22);
  color: #86efac;
}

[data-theme="dark"] .showcase-media,
[data-theme="dark"] .tab-buttons,
[data-theme="dark"] .product-spec-card,
[data-theme="dark"] .detail-spec-table,
[data-theme="dark"] .detail-spec-table th,
[data-theme="dark"] .product-thumb-strip {
  background: #0f172a;
}

[data-theme="dark"] .product-thumb {
  background: #111827;
}

[data-theme="dark"] .product-detail-meta span {
  background: rgba(34, 197, 94, 0.12);
  border-color: rgba(34, 197, 94, 0.22);
  color: #86efac;
}

[data-theme="dark"] .number-circle {
  background: radial-gradient(
    circle at 35% 28%,
    color-mix(in srgb, var(--secondary) 10%, var(--light)),
    var(--light) 65%
  );
  border-color: color-mix(in srgb, var(--primary) 30%, var(--gray));
  box-shadow:
    0 10px 35px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    inset 0 0 20px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .number-circle:hover {
  border-color: var(--primary);
  box-shadow:
    0 25px 50px rgba(0, 0, 0, 0.5),
    inset 0 0 30px rgba(21, 128, 61, 0.15);
}

[data-theme="dark"] .detail-spec-table,
[data-theme="dark"] .product-thumb-strip {
  border-color: rgba(255, 255, 255, 0.10);
}

[data-theme="dark"] .detail-spec-table th,
[data-theme="dark"] .detail-spec-table td {
  border-color: rgba(255, 255, 255, 0.10);
}

[data-theme="dark"] .tab-btn.active {
  background: #1e293b;
}

@media (max-width: 1100px) {
  .company-cards,
  .support-grid,
  .contact-action-grid,
  .stats-grid-premium,
  .values-grid,
  .numbers-orbit {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .distributor-panel,
  .mission-vision-grid,
  .product-spec-grid,
  .product-detail-actions,
  .bulk-manufacturing-card {
    grid-template-columns: 1fr;
  }

  .showcase-product-card {
    flex-basis: min(82vw, 360px);
  }

  .showcase-content {
    min-height: 230px;
  }
}

@media (max-width: 620px) {
  .hero-actions,
  .cta-actions {
    flex-direction: column;
  }

  .hero-actions .btn,
  .cta-actions .btn {
    width: 100%;
  }

  .company-cards,
  .trust-grid,
  .support-grid,
  .contact-action-grid,
  .stats-grid-premium,
  .values-grid,
  .numbers-orbit {
    grid-template-columns: 1fr;
  }

  .number-circle {
    width: 100%;
    max-width: 210px;
    height: auto;
    aspect-ratio: auto;
    min-height: 170px;
    border-radius: var(--radius-lg);
  }

  .showcase-media {
    height: 220px;
  }
}

/* ─────────────────────────────────────────────────────────────────────────────
  30. FINAL ENTERPRISE REFINEMENT PASS
───────────────────────────────────────────────────────────────────────────── */
html {
  scroll-behavior: smooth;
}

body {
  line-height: 1.65;
}

.section {
  padding-top: clamp(4.75rem, 7vw, 7rem);
  padding-bottom: clamp(4.75rem, 7vw, 7rem);
}

.hero {
  min-height: auto;
  padding: clamp(5rem, 8vw, 7.5rem) 0;
}

.hero .container {
  max-width: 1040px;
}

.hero h1 {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.08;
}

.hero p {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.75;
}

.section-title {
  line-height: 1.12;
}

.section-lead,
.infrastructure-subtitle {
  line-height: 1.75;
}

.premium-card,
.feat-card,
.product-card,
.showcase-product-card,
.manufacturing-stage-card,
.number-circle,
.stat-tile {
  transition-duration: 0.42s;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.company-card,
.trust-card,
.support-card,
.value-card,
.business-mini-card {
  min-height: 100%;
}

.company-card p,
.trust-card p,
.support-card p,
.value-card p,
.business-mini-card p,
.business-panel p,
.stage-content p,
.tab-panel li {
  line-height: 1.7;
}

.showcase-product-card {
  flex-basis: clamp(230px, calc((100% - 4.5rem) / 4), 292px);
  border-radius: var(--radius-md);
}

.showcase-media {
  height: 230px;
}

.showcase-content {
  min-height: 220px;
}

.showcase-content h3 {
  line-height: 1.2;
}

.footer {
  background:
    radial-gradient(circle at 12% 0%, rgba(34, 197, 94, 0.14), transparent 28rem),
    linear-gradient(180deg, #0f172a 0%, #07111f 100%);
  border-top: 1px solid rgba(245, 158, 11, 0.18);
}

.footer-brand-title {
  margin-bottom: 0.75rem;
  color: var(--always-white);
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 800;
}

.footer-about {
  max-width: 420px;
  margin-bottom: 1.5rem;
  color: #94A3B8;
  line-height: 1.7;
}

.footer-social {
  display: flex;
  gap: 0.8rem;
  flex-wrap: wrap;
}

.footer-social a {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  color: var(--always-white);
  transition: var(--transition);
}

.footer-social a:hover {
  border-color: rgba(245, 158, 11, 0.55);
  background: rgba(245, 158, 11, 0.14);
  color: var(--secondary);
  transform: translateY(-2px);
}

.footer-heading {
  font-size: 1.08rem;
  letter-spacing: 0;
}

.footer-links a,
.footer-links li {
  line-height: 1.55;
}

.business-hero {
  position: relative;
  overflow: hidden;
  text-align: center;
}

.business-hero .section-kicker {
  margin-left: auto;
  margin-right: auto;
}

.business-hero h1 {
  color: var(--always-white);
  font-size: clamp(2.35rem, 5vw, 4.4rem);
  text-transform: uppercase;
}

.business-hero p {
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.12rem;
}

.business-page {
  background: var(--white);
}

.business-split {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 1.5rem;
  align-items: stretch;
}

.business-split.reverse {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.business-panel {
  padding: clamp(1.6rem, 3vw, 2.4rem);
}

.business-panel.centered {
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
}

.business-panel.centered .icon-pill {
  margin-bottom: 1rem;
}

.business-panel h2 {
  margin: 1rem 0 0.8rem;
  color: var(--dark);
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  line-height: 1.15;
}

.business-panel p {
  color: var(--gray);
  font-size: 1.02rem;
}

.business-tags {
  display: flex;
  gap: 0.65rem;
  flex-wrap: wrap;
  margin-top: 1.4rem;
}

.business-tags span {
  padding: 0.42rem 0.75rem;
  border: 1px solid color-mix(in srgb, var(--primary) 20%, var(--gray-light));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--primary) 8%, var(--white));
  color: var(--primary-dark);
  font-family: var(--font-heading);
  font-size: 0.82rem;
  font-weight: 800;
}

.business-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.business-card-grid.four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.business-mini-card {
  padding: 1.45rem;
}

.business-mini-card > i {
  color: var(--primary);
  font-size: 1.45rem;
}

.business-mini-card h3 {
  margin: 0.85rem 0 0.55rem;
  color: var(--dark);
  font-size: 1.08rem;
  line-height: 1.25;
}

.business-mini-card p {
  color: var(--gray);
  font-size: 0.94rem;
}

.business-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.business-step {
  padding: 1.6rem;
}

.business-step strong {
  display: inline-flex;
  width: 46px;
  height: 46px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--primary);
  color: var(--always-white);
  font-family: var(--font-heading);
}

.business-step h3 {
  margin: 1rem 0 0.45rem;
  color: var(--dark);
}

.business-step p {
  color: var(--gray);
  font-size: 0.96rem;
}

.product-detail-img-panel,
.product-detail-info-panel,
#zoom-result {
  border-radius: var(--radius-lg) !important;
}

.product-detail-info-panel {
  padding: clamp(1.6rem, 3vw, 2.6rem) !important;
}

#zoom-stage {
  height: clamp(320px, 42vw, 430px) !important;
}

.detail-tabs {
  margin-top: 1.25rem;
  border-radius: var(--radius-md);
}

.tab-btn {
  min-height: 48px;
}

.tab-panel {
  line-height: 1.7;
}

[data-theme="dark"] .business-page {
  background: #0f172a;
}

[data-theme="dark"] .business-tags span {
  background: rgba(34, 197, 94, 0.12);
  border-color: rgba(34, 197, 94, 0.22);
  color: #86efac;
}

@media (max-width: 1180px) {
  .business-card-grid.four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .business-split,
  .business-split.reverse,
  .business-steps {
    grid-template-columns: 1fr;
  }

  .hero h1[style] {
    font-size: clamp(2.1rem, 9vw, 3rem) !important;
  }
}

@media (max-width: 620px) {
  .section {
    padding-top: 3.6rem;
    padding-bottom: 3.6rem;
  }

  .hero {
    padding: 4.4rem 0;
  }

  .business-card-grid,
  .business-card-grid.four {
    grid-template-columns: 1fr;
  }

  .business-hero h1 {
    font-size: clamp(2rem, 10vw, 2.65rem);
  }

  .business-hero p,
  .section-lead {
    font-size: 1rem;
  }

  .showcase-content {
    min-height: 210px;
  }

  .filter-bar {
    justify-content: flex-start;
    overflow-x: auto;
    padding-bottom: 0.35rem;
  }
}

/* ─────────────────────────────────────────────────────────────────────────────
   PREMIUM EXTRAS — Custom scrollbar, section-title spacing & smooth scroll
───────────────────────────────────────────────────────────────────────────── */

html {
  scroll-behavior: smooth;
}

::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--primary) 35%, transparent);
  border-radius: 100px;
}
::-webkit-scrollbar-thumb:hover { background: var(--primary); }

.section-title {
  margin-bottom: 1.25rem;
  letter-spacing: 0;
}

::selection {
  background: color-mix(in srgb, var(--primary) 20%, transparent);
  color: var(--primary-dark);
}

@media (max-width: 640px) {
  .showcase-content { min-height: unset; }
  .showcase-media { height: 200px; }
}

/* ─── NUMBER CIRCLE — PREMIUM DARK MODE ─────────────────────────────────── */
[data-theme="dark"] .number-circle {
  background:
    radial-gradient(circle at top,
      rgba(34, 197, 94, 0.18),
      rgba(15, 23, 42, 1));
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow:
    0 10px 35px rgba(0, 0, 0, 0.45),
    inset 0 0 20px rgba(34, 197, 94, 0.08);
}

[data-theme="dark"] .number-circle:hover {
  transform: translateY(-10px) scale(1.04);
  box-shadow:
    0 25px 50px rgba(0, 0, 0, 0.55),
    inset 0 0 30px rgba(34, 197, 94, 0.18);
  border: 3px solid rgba(34, 197, 94, 0.65);
}

[data-theme="dark"] .number-circle strong {
  color: #22c55e;
  text-shadow: 0 0 20px rgba(34, 197, 94, 0.3);
}

[data-theme="dark"] .number-circle span {
  color: #b8c4d6;
}

/* ─── SECTION KICKER — DARK MODE ────────────────────────────────────────── */
[data-theme="dark"] .section-kicker {
  background: rgba(34, 197, 94, 0.10);
  border-color: rgba(34, 197, 94, 0.22);
  color: #86efac;
}

/* ─── NAVBAR LOGO — DARK MODE ───────────────────────────────────────────── */
[data-theme="dark"] .navbar .logo-container img,
[data-theme="dark"] .navbar #site-logo {
  mix-blend-mode: screen;
  filter: brightness(1.1) saturate(1.1);
}

/* ─── NAVBAR LINKS & CONTROLS — DARK MODE ──────────────────────────────── */
[data-theme="dark"] .nav-links a {
  color: #cbd5e1;
}

[data-theme="dark"] .nav-links a:hover,
[data-theme="dark"] .nav-links a.active {
  color: #22c55e;
}

[data-theme="dark"] .controls-group {
  background: #1e293b;
  border-color: #334155;
}

[data-theme="dark"] .lang-btn {
  color: #94a3b8;
}

[data-theme="dark"] .lang-btn.active {
  background: #0f172a;
  color: #22c55e;
  box-shadow: var(--shadow-sm);
}

[data-theme="dark"] .lang-btn:hover {
  color: #22c55e;
}

[data-theme="dark"] .theme-toggle-btn {
  color: #94a3b8;
}

[data-theme="dark"] .theme-toggle-btn:hover {
  background: #334155;
  color: #22c55e;
}

[data-theme="dark"] .controls-divider {
  background: #334155;
}

/* ─── PRODUCT SHOWCASE CARDS — DARK MODE ───────────────────────────────── */
[data-theme="dark"] .showcase-product-card {
  background: linear-gradient(180deg, #111d31 0%, #18283f 100%) !important;
  border-color: rgba(255, 255, 255, 0.10) !important;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .showcase-product-card:hover {
  border-color: rgba(34, 197, 94, 0.45) !important;
  box-shadow: 0 24px 55px rgba(0, 0, 0, 0.45);
}

[data-theme="dark"] .showcase-media {
  background: radial-gradient(circle at center,
    rgba(255, 255, 255, 0.10) 0%,
    rgba(255, 255, 255, 0.03) 100%) !important;
}

[data-theme="dark"] .showcase-media img {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

[data-theme="dark"] .showcase-content h3 {
  color: #ffffff;
}

[data-theme="dark"] .showcase-content p {
  color: #b8c4d6;
}

[data-theme="dark"] .product-category {
  color: #fbbf24;
}

[data-theme="dark"] .showcase-content .btn {
  color: #22c55e;
}

[data-theme="dark"] .showcase-content .btn:hover {
  color: #4ade80;
}

/* ─── FEAT CARDS — DARK MODE ────────────────────────────────────────────── */
[data-theme="dark"] .feat-card {
  background: linear-gradient(135deg, #142238 0%, #1a2e47 100%);
  border-bottom-color: rgba(34, 197, 94, 0.55);
}

[data-theme="dark"] .feat-card h3 {
  color: #e2e8f0;
}

[data-theme="dark"] .feat-card p {
  color: #94a3b8;
}

/* ─── SMOOTH THEME TRANSITIONS ──────────────────────────────────────────── */
body,
.navbar,
.navbar .container,
.nav-links a,
.controls-group,
.lang-btn,
.theme-toggle-btn,
section,
.section,
.premium-card,
.showcase-product-card,
.number-circle,
.feat-card,
.product-card,
.stat-tile,
.manufacturing-stage-card,
.carousel-btn {
  transition-property: background-color, background, color, border-color, box-shadow;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}

/* ─── CONTINUOUS PRODUCT CAROUSEL (MARQUEE) ──────────────────────────────── */
.product-carousel {
  overflow: hidden;
  width: 100%;
  position: relative;
  cursor: grab;
  /* Soft edge fade masks */
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0%,
    black 4%,
    black 96%,
    transparent 100%
  );
  mask-image: linear-gradient(
    90deg,
    transparent 0%,
    black 4%,
    black 96%,
    transparent 100%
  );
}

.product-carousel:active {
  cursor: grabbing;
}

.product-track {
  display: flex;
  gap: 1.25rem;
  width: max-content;
  animation: smoothProductScroll 52s linear infinite;
  will-change: transform;
}

.product-carousel:hover .product-track {
  animation-play-state: paused;
}

@keyframes smoothProductScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* Cards inside the marquee track — original size */
.product-track .showcase-product-card {
  flex-shrink: 0;
  flex-basis: clamp(230px, calc((100vw - 6rem) / 4), 292px);
}

@media (max-width: 820px) {
  .product-track .showcase-product-card {
    flex-basis: min(82vw, 360px);
  }
}

@media (max-width: 480px) {
  .product-track .showcase-product-card {
    flex-basis: min(88vw, 310px);
  }
  .product-track {
    gap: 1rem;
  }
}

/* ─── MOBILE STATS CIRCLES — CENTER ALIGNMENT ───────────────────────────── */
@media (max-width: 820px) {
  .product-track .showcase-product-card {
    flex-basis: min(80vw, 340px);
  }
}

@media (max-width: 640px) {
  .numbers-orbit {
    justify-items: center;
  }
  .number-circle {
    width: min(170px, 82vw);
    height: min(170px, 82vw);
  }
  .product-track .showcase-product-card {
    flex-basis: min(86vw, 300px);
  }
  .product-track {
    gap: 0.9rem;
  }
}

/* ─── PRODUCT CARD (products.html) — DARK MODE ──────────────────────────── */
[data-theme="dark"] .product-card {
  background: linear-gradient(180deg, #111d31 0%, #18283f 100%);
  border-color: rgba(255, 255, 255, 0.10);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .product-card:hover {
  border-color: rgba(34, 197, 94, 0.45);
  box-shadow: 0 24px 55px rgba(0, 0, 0, 0.45);
}

[data-theme="dark"] .product-img-wrapper {
  background: radial-gradient(circle at center,
    rgba(255, 255, 255, 0.10) 0%,
    rgba(255, 255, 255, 0.03) 100%);
}

[data-theme="dark"] .product-img-wrapper img {
  opacity: 1 !important;
  filter: none !important;
}

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

[data-theme="dark"] .product-card .product-category {
  color: #fbbf24;
}


/* ═══════════════════════════════════════════════════════════════════════════
   30. HINDI / DEVANAGARI TYPOGRAPHY SYSTEM
   Applied when <html lang="hi"> or body has .is-hindi class.
   Devanagari script needs more vertical breathing room and slightly
   adjusted font metrics for clean, premium rendering.
═══════════════════════════════════════════════════════════════════════════ */
:lang(hi) body,
body.is-hindi {
  line-height: 1.95;
  word-spacing: 0.04em;
}

:lang(hi) h1, :lang(hi) h2, :lang(hi) h3, :lang(hi) h4,
body.is-hindi h1, body.is-hindi h2,
body.is-hindi h3, body.is-hindi h4 {
  line-height: 1.45;
  word-spacing: 0.02em;
}

:lang(hi) .nav-links a,
body.is-hindi .nav-links a {
  font-size: 0.88rem;
  letter-spacing: 0.1px;
}

:lang(hi) .btn,
body.is-hindi .btn {
  letter-spacing: 0.2px;
  word-spacing: 0.02em;
}

:lang(hi) .section-kicker,
body.is-hindi .section-kicker {
  letter-spacing: 0.03em;
}

/* ═══════════════════════════════════════════════════════════════════════════
   31. PREMIUM CARD HOVER — UNIVERSAL UPGRADE
   All interactive card components use the same luxury cubic-bezier timing.
═══════════════════════════════════════════════════════════════════════════ */
.premium-card {
  transition:
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.45s ease,
    background 0.45s ease;
}

.premium-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 48px -8px rgba(0, 0, 0, 0.12), 0 10px 20px -6px rgba(0, 0, 0, 0.06);
}

.manufacturing-stage-card {
  transition:
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.45s ease;
}

/* ═══════════════════════════════════════════════════════════════════════════
   32. DARK MODE — DEEP LAYER DIFFERENTIATION
   Use slightly deeper navy for alternating sections to create visual rhythm.
═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .soft-band,
[data-theme="dark"] section.reveal {
  background: #0b1628;
}

[data-theme="dark"] .section {
  background: #0f172a;
}

[data-theme="dark"] body {
  background-color: #0f172a;
}

/* ═══════════════════════════════════════════════════════════════════════════
   33. NUMBERS-ORBIT GRID — IMPROVED RESPONSIVE
   Ensure circles are evenly spaced and centred at all breakpoints.
═══════════════════════════════════════════════════════════════════════════ */
.numbers-orbit {
  justify-items: center;
  align-items: center;
}

/* ═══════════════════════════════════════════════════════════════════════════
   34. COMPANY CARD COLOUR RHYTHM
   Inspired by the People / Product / Progress palette without changing layout.
═══════════════════════════════════════════════════════════════════════════ */
.premium-card.company-card--deep {
  background:
    radial-gradient(circle at 18% 14%, rgba(190, 242, 100, 0.18), transparent 22rem),
    linear-gradient(135deg, #062d17 0%, #082f1a 54%, #051b10 100%);
  border-color: rgba(190, 242, 100, 0.18);
  box-shadow: 0 22px 46px rgba(6, 45, 23, 0.18);
}

.premium-card.company-card--deep::before {
  background: linear-gradient(90deg, #bef264, #22c55e);
  transform: scaleX(1);
}

.company-card--deep h3,
.company-card--deep p {
  color: #efffe5;
}

.company-card--deep .icon-pill {
  background: rgba(190, 242, 100, 0.14);
  color: #bef264;
  box-shadow: 0 14px 26px rgba(5, 20, 12, 0.24);
}

.company-card--deep .field-label {
  background: rgba(190, 242, 100, 0.16);
  color: #d9f99d;
  border: 1px solid rgba(190, 242, 100, 0.18);
}

.premium-card.company-card--lime {
  background:
    radial-gradient(circle at 82% 20%, rgba(255, 255, 255, 0.35), transparent 18rem),
    linear-gradient(135deg, #d8f5a6 0%, #c8ec91 100%);
  border-color: rgba(21, 128, 61, 0.16);
  box-shadow: 0 22px 46px rgba(132, 204, 22, 0.18);
}

.company-card--lime h3,
.company-card--lime p {
  color: #062d17;
}

.company-card--lime .icon-pill {
  background: rgba(6, 45, 23, 0.10);
  color: #15803d;
}

.company-card--lime .field-label {
  background: rgba(6, 45, 23, 0.10);
  color: #166534;
}

.premium-card.company-card--soft {
  background:
    linear-gradient(135deg, #fff8ec 0%, #ffffff 48%, rgba(240, 253, 244, 0.95) 100%);
  border-color: rgba(245, 158, 11, 0.18);
  box-shadow: 0 22px 46px rgba(245, 158, 11, 0.10);
}

.premium-card.company-card--soft::before {
  background: linear-gradient(90deg, var(--secondary), var(--primary));
  transform: scaleX(1);
}

.bulk-manufacturing-card--warm {
  background:
    linear-gradient(135deg, rgba(255, 247, 237, 0.96), rgba(240, 253, 244, 0.96));
  border-color: rgba(245, 158, 11, 0.18);
  border-left: 4px solid var(--secondary);
}

.bulk-manufacturing-card--warm .icon-pill {
  background: rgba(245, 158, 11, 0.12);
  color: var(--secondary-dark);
}

.bulk-manufacturing-card--warm .field-label {
  background: rgba(245, 158, 11, 0.14);
  color: var(--secondary-dark);
}

[data-theme="dark"] .premium-card.company-card--lime {
  background:
    radial-gradient(circle at 82% 20%, rgba(255, 255, 255, 0.10), transparent 18rem),
    linear-gradient(135deg, #254916 0%, #19380f 100%);
  border-color: rgba(190, 242, 100, 0.18);
}

[data-theme="dark"] .company-card--lime h3,
[data-theme="dark"] .company-card--lime p,
[data-theme="dark"] .company-card--soft h3,
[data-theme="dark"] .company-card--soft p {
  color: #f8fafc;
}

[data-theme="dark"] .premium-card.company-card--soft,
[data-theme="dark"] .bulk-manufacturing-card--warm {
  background:
    linear-gradient(135deg, rgba(30, 41, 59, 0.96), rgba(15, 46, 31, 0.96));
  border-color: rgba(245, 158, 11, 0.22);
}

/* SEO landing pages and internal link hub */
.seo-hub-section {
  background: var(--white);
}

.seo-link-grid,
.landing-card-grid,
.landing-faq-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
}

.seo-link-card,
.landing-card,
.landing-faq {
  display: block;
  padding: 1.25rem;
  border: 1px solid var(--gray-light);
  border-radius: var(--radius-md);
  background: var(--white);
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
}

.seo-link-card {
  min-height: 178px;
  text-decoration: none;
}

.landing-card {
  min-height: 160px;
}

.seo-link-card:hover,
.landing-card:hover {
  transform: translateY(-4px);
  border-color: var(--primary);
  box-shadow: var(--shadow-md);
}

.seo-link-card span,
.landing-card span {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(21, 128, 61, 0.10);
  color: var(--primary);
  margin-bottom: .8rem;
}

.seo-link-card strong,
.landing-card strong {
  display: block;
  color: var(--dark);
  font-family: var(--font-heading);
  font-size: 1.05rem;
  line-height: 1.35;
  margin-bottom: .45rem;
}

.seo-link-card small,
.landing-card small {
  display: block;
  color: var(--gray);
  line-height: 1.6;
}

.landing-hero {
  padding: 7rem 0 5rem;
  background:
    linear-gradient(135deg, rgba(6, 45, 23, .88), rgba(15, 23, 42, .82)),
    url('../assets/factory_bg-optimized.jpg') center/cover;
  color: #fff;
}

.landing-hero .container {
  position: relative;
  z-index: 1;
}

.landing-hero h1 {
  max-width: 920px;
  font-size: clamp(2.2rem, 5vw, 4.5rem);
  line-height: 1.05;
  margin-bottom: 1.25rem;
}

.landing-hero p {
  max-width: 760px;
  font-size: 1.12rem;
  line-height: 1.8;
  color: rgba(255,255,255,.88);
}

.breadcrumb {
  display: flex;
  gap: .45rem;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 1.5rem;
  font-size: .88rem;
  color: rgba(255,255,255,.72);
}

.breadcrumb a {
  color: #fff;
  font-weight: 700;
}

.landing-section {
  padding: 5rem 0;
  background: var(--white);
}

.landing-section.alt {
  background: var(--light);
}

.landing-copy {
  max-width: 900px;
}

.landing-copy p {
  color: var(--gray);
  font-size: 1.04rem;
  line-height: 1.85;
  margin-bottom: 1rem;
}

.landing-keyword-list {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin-top: 1.5rem;
}

.landing-keyword-list a,
.landing-keyword-list span {
  padding: .5rem .78rem;
  border-radius: 999px;
  background: rgba(245, 158, 11, .12);
  color: var(--secondary-dark);
  font-weight: 800;
  font-size: .85rem;
}

.landing-cta {
  padding: 2rem;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--primary-dark), #062d17);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.landing-cta p {
  color: rgba(255,255,255,.82);
  margin: .3rem 0 0;
}

.md-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: .9rem;
}

.md-social-links a {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(21, 128, 61, .10);
  color: var(--primary);
  border: 1px solid rgba(21, 128, 61, .16);
  transition: var(--transition);
}

.md-social-links a:hover {
  transform: translateY(-2px);
  background: var(--primary);
  color: #fff;
  box-shadow: var(--shadow-md);
}

.x-social-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .95rem;
  font-weight: 800;
  line-height: 1;
}

[data-theme="dark"] .seo-hub-section,
[data-theme="dark"] .landing-section,
[data-theme="dark"] .seo-link-card,
[data-theme="dark"] .landing-card,
[data-theme="dark"] .landing-faq {
  background: #0f172a;
}

[data-theme="dark"] .landing-section.alt {
  background: #0b1628;
}
