/* ================================================================
   AVOLTA TECHNOLOGIES — DESIGN SYSTEM
   avolta.technology
================================================================ */

/* ------ CUSTOM PROPERTIES ------ */
:root {
  --bg:           #0F0F10;
  --bg-2:         #141416;
  --bg-card:      #1A1A1D;
  --bg-raised:    #202024;
  --accent:       #FBC646;
  --accent-warm:  #FFD166;
  --accent-dark:  #C9950C;
  --accent-glow:  rgba(251,198,70,0.10);
  --accent-glowb: rgba(251,198,70,0.20);
  --text:         #F2F2F4;
  --text-2:       #9898A6;
  --text-3:       #56566A;
  --border:       rgba(255,255,255,0.06);
  --border-a:     rgba(251,198,70,0.22);
  --radius-s:     8px;
  --radius-m:     14px;
  --radius-l:     22px;
  --radius-xl:    32px;
  --trans:        0.3s cubic-bezier(0.4,0,0.2,1);
  --trans-s:      0.6s cubic-bezier(0.4,0,0.2,1);
  --shadow:       0 4px 24px rgba(0,0,0,0.45);
  --shadow-a:     0 8px 40px rgba(251,198,70,0.14);
  --font-d:       'Space Grotesk', sans-serif;
  --font-b:       'Inter', sans-serif;
}

/* ------ RESET & BASE ------ */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family: var(--font-b);
  background: var(--bg);
  color: var(--text);
  line-height: 1.65;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
h1,h2,h3,h4 { font-family:var(--font-d); font-weight:700; line-height:1.15; letter-spacing:-0.02em; }
::selection { background:var(--accent); color:var(--bg); }
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:var(--accent-dark); border-radius:3px; }
::-webkit-scrollbar-thumb:hover { background:var(--accent); }

/* ------ LAYOUT ------ */
.container { width:90%; max-width:1240px; margin:0 auto; padding:0 1rem; }
.section { padding:6rem 0; }

/* ------ SECTION LABELS & TITLES ------ */
.section-label {
  display:inline-flex; align-items:center; gap:.4rem;
  background:var(--accent-glow); border:1px solid var(--border-a);
  color:var(--accent); font-family:var(--font-d); font-size:.72rem;
  font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  padding:5px 14px; border-radius:100px; margin-bottom:1.5rem;
}
.section-title {
  font-size:clamp(2rem,4vw,3.2rem); margin-bottom:1rem; color:var(--text);
}
.section-subtitle { font-size:1.05rem; color:var(--text-2); max-width:560px; line-height:1.75; }
.accent { color:var(--accent); }

/* ------ BUTTONS ------ */
.btn {
  display:inline-flex; align-items:center; gap:.45rem;
  padding:13px 26px; border-radius:var(--radius-s);
  font-family:var(--font-d); font-size:.92rem; font-weight:600;
  cursor:pointer; border:none; transition:var(--trans); white-space:nowrap;
}
.btn svg { transition:transform var(--trans); flex-shrink:0; }
.btn:hover svg { transform:translateX(4px); }
.btn-primary { background:var(--accent); color:var(--bg); }
.btn-primary:hover { background:var(--accent-warm); box-shadow:var(--shadow-a); transform:translateY(-2px); }
.btn-ghost { background:transparent; color:var(--text); border:1px solid var(--border); }
.btn-ghost:hover { border-color:var(--accent); color:var(--accent); background:var(--accent-glow); }

/* ------ SCROLL REVEAL ------ */
.reveal,.reveal-left,.reveal-right {
  opacity:0; transition:opacity .75s ease,transform .75s ease;
  transition-delay:var(--d,0ms);
}
.reveal { transform:translateY(28px); }
.reveal-left { transform:translateX(-36px); }
.reveal-right { transform:translateX(36px); }
.revealed { opacity:1 !important; transform:none !important; }

/* ================================================================
   NAVIGATION
================================================================ */
#header {
  position:fixed; top:0; left:0; right:0; z-index:999;
  transition:background var(--trans), backdrop-filter var(--trans), border-color var(--trans);
  border-bottom:1px solid transparent;
}
#header.scrolled {
  background:rgba(15,15,16,.9); backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px); border-bottom-color:var(--border);
}
.nav {
  display:flex; align-items:center; justify-content:space-between;
  padding:0 1rem; height:70px;
}
.nav-logo {
  display:flex; align-items:center; gap:.75rem;
  font-family:var(--font-d); font-weight:700;
}
.nav-logo img { height:34px; width:34px; object-fit:contain; }
.nav-logo-text { display:flex; flex-direction:column; line-height:1.1; }
.nav-logo-name { font-size:1rem; color:var(--text); }
.nav-logo-sub { font-size:.65rem; font-weight:500; color:var(--accent); letter-spacing:.04em; }
.nav-links { display:flex; align-items:center; gap:2.2rem; }
.nav-link {
  font-family:var(--font-d); font-size:.88rem; font-weight:500;
  color:var(--text-2); transition:color var(--trans); position:relative;
}
.nav-link::after {
  content:''; position:absolute; bottom:-4px; left:0;
  width:0; height:2px; background:var(--accent); transition:width var(--trans);
}
.nav-link:hover,.nav-link.active { color:var(--text); }
.nav-link:hover::after,.nav-link.active::after { width:100%; }
.nav-link.nav-cta {
  background:var(--accent); color:var(--bg) !important;
  padding:8px 18px; border-radius:var(--radius-s); font-weight:600;
}
.nav-link.nav-cta::after { display:none; }
.nav-link.nav-cta:hover { background:var(--accent-warm); box-shadow:var(--shadow-a); transform:translateY(-1px); }

.nav-toggle {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer;
  padding:.4rem; border-radius:var(--radius-s);
}
.burger-line {
  width:22px; height:2px; background:var(--text);
  border-radius:2px; transition:var(--trans); transform-origin:center;
}
.nav-toggle.open .burger-line:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-toggle.open .burger-line:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav-toggle.open .burger-line:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ── Sidebar overlay ─────────────────────────────────────────── */
.mobile-overlay {
  position:fixed; inset:0; z-index:1000;
  background:rgba(0,0,0,.65); backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  opacity:0; pointer-events:none;
  transition:opacity .35s ease;
}
.mobile-overlay.open { opacity:1; pointer-events:all; }

/* ── Slide-in sidebar ────────────────────────────────────────── */
.mobile-sidebar {
  position:fixed; top:0; right:0; bottom:0;
  width:300px; max-width:90vw; z-index:1001;
  background:#131315;
  border-left:1px solid rgba(251,198,70,.12);
  box-shadow:-8px 0 48px rgba(0,0,0,.7);
  display:flex; flex-direction:column;
  transform:translateX(100%);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  overflow-y:auto;
}
.mobile-sidebar.open { transform:translateX(0); }

.sidebar-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:1.4rem 1.5rem; border-bottom:1px solid rgba(255,255,255,.06);
  flex-shrink:0;
}
.sidebar-logo {
  display:flex; align-items:center; gap:.7rem;
}
.sidebar-logo img { width:32px; height:32px; object-fit:contain; }
.sidebar-logo-text { display:flex; flex-direction:column; line-height:1.15; }
.sidebar-logo-text span { font-family:var(--font-d); font-size:.95rem; font-weight:700; color:var(--text); }
.sidebar-logo-text small { font-size:.6rem; color:var(--accent); letter-spacing:.05em; text-transform:uppercase; }
.sidebar-close {
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
  color:var(--text); font-size:1rem; border-radius:8px;
  width:34px; height:34px; cursor:pointer; display:flex; align-items:center;
  justify-content:center; transition:var(--trans); flex-shrink:0;
}
.sidebar-close:hover { background:rgba(251,198,70,.12); border-color:var(--accent); color:var(--accent); }

.sidebar-nav {
  display:flex; flex-direction:column; padding:1.5rem 1.5rem;
  gap:.25rem; flex:1;
}
.sidebar-link {
  font-family:var(--font-d); font-size:1.05rem; font-weight:500;
  color:var(--text-2); padding:.85rem .75rem;
  border-radius:10px; transition:all .2s ease;
  border-left:2px solid transparent;
  display:flex; align-items:center;
}
.sidebar-link:hover {
  color:var(--text); background:rgba(251,198,70,.06);
  border-left-color:var(--accent); padding-left:1rem;
}
.sidebar-link-cta {
  background:var(--accent); color:var(--bg) !important;
  border-radius:10px; margin-top:.5rem; font-weight:700;
  justify-content:center; border:none !important;
}
.sidebar-link-cta:hover { background:var(--accent-warm); transform:translateY(-1px); padding-left:.75rem !important; }

.sidebar-footer {
  padding:1.25rem 1.5rem; border-top:1px solid rgba(255,255,255,.06);
  display:flex; flex-direction:column; gap:.6rem; flex-shrink:0;
}
.sidebar-email, .sidebar-phone {
  font-size:.8rem; color:var(--text-2); transition:color var(--trans);
  font-family:var(--font-d);
}
.sidebar-email:hover, .sidebar-phone:hover { color:var(--accent); }
.sidebar-socials { display:flex; gap:.6rem; margin-top:.3rem; }
.sidebar-socials a {
  width:34px; height:34px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  border-radius:8px; display:flex; align-items:center; justify-content:center;
  color:var(--text-2); transition:all .2s ease;
}
.sidebar-socials a:hover { background:rgba(251,198,70,.12); border-color:var(--accent); color:var(--accent); }

/* ================================================================
   HERO
================================================================ */
.hero {
  position:relative; min-height:100vh;
  display:flex; align-items:center;
}
.hero-bg { position:absolute; inset:0; z-index:0; overflow:hidden; }
.hero-grid {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(251,198,70,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(251,198,70,.04) 1px,transparent 1px);
  background-size:64px 64px;
  animation:grid-drift 28s linear infinite;
}
@keyframes grid-drift { 0%{background-position:0 0} 100%{background-position:64px 64px} }
.hero-orb { position:absolute; border-radius:50%; filter:blur(90px); pointer-events:none; }
.orb-1 {
  width:700px; height:700px; top:-250px; right:-150px;
  background:radial-gradient(circle,rgba(251,198,70,.07),transparent 70%);
  animation:orb-float 14s ease-in-out infinite;
}
.orb-2 {
  width:450px; height:450px; bottom:-150px; left:-80px;
  background:radial-gradient(circle,rgba(251,198,70,.05),transparent 70%);
  animation:orb-float 18s ease-in-out infinite reverse;
}
.orb-3 {
  width:320px; height:320px; top:50%; left:38%;
  background:radial-gradient(circle,rgba(251,198,70,.04),transparent 60%);
  animation:orb-float 22s ease-in-out infinite 4s;
}
@keyframes orb-float { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(-40px) scale(1.06)} }
.hero-inner {
  position:relative; z-index:1; display:flex; flex-direction:column;
  align-items:flex-start; padding-top:80px; padding-bottom:40px; max-width:820px;
}
.hero-badge {
  display:inline-flex; align-items:center; gap:.4rem;
  background:var(--accent-glow); border:1px solid var(--border-a);
  color:var(--accent); font-family:var(--font-d); font-size:.72rem;
  font-weight:500; letter-spacing:.08em; padding:5px 14px;
  border-radius:100px; margin-bottom:1.8rem;
  animation:fade-up .9s ease .15s both;
}
.hero-badge svg { color:var(--accent); }
.hero-title {
  font-size:clamp(2.8rem,6vw,5.2rem); line-height:1.08;
  color:var(--text); margin-bottom:1.5rem;
  animation:fade-up .9s ease .3s both;
}
.hero-accent {
  color:var(--accent); display:inline-block;
  background:linear-gradient(135deg,#FBC646,#FFD97D);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
}
.hero-sub {
  font-size:1.1rem; color:var(--text-2); max-width:660px; line-height:1.8;
  margin-bottom:2.5rem; animation:fade-up .9s ease .45s both;
}
.hero-actions {
  display:flex; gap:1rem; flex-wrap:wrap;
  animation:fade-up .9s ease .6s both;
}
.hero-scroll {
  margin-top:4rem; display:flex; align-items:center; gap:.5rem;
  color:var(--text-3); font-family:var(--font-d); font-size:.75rem;
  letter-spacing:.08em; text-transform:uppercase;
  animation:fade-up .9s ease .75s both; transition:color var(--trans);
}
.hero-scroll:hover { color:var(--accent); }
.hero-scroll svg { animation:bob .8s ease-in-out infinite alternate; }
@keyframes bob { 0%{transform:translateY(0)} 100%{transform:translateY(5px)} }
@keyframes fade-up { 0%{opacity:0;transform:translateY(20px)} 100%{opacity:1;transform:none} }

/* ================================================================
   STATS BAR
================================================================ */
.stats-bar {
  background:var(--bg-2); border-top:1px solid var(--border);
  border-bottom:1px solid var(--border); padding:2rem 0;
}
.stats-inner {
  display:flex; align-items:center; justify-content:center;
  gap:0; flex-wrap:wrap;
}
.stat { flex:1; min-width:160px; text-align:center; padding:1rem; }
.stat-num {
  display:block; font-family:var(--font-d); font-size:2.4rem;
  font-weight:700; color:var(--accent); line-height:1;
  margin-bottom:.35rem; letter-spacing:-.03em;
}
.stat-inf { font-size:2.8rem; }
.stat-label { font-size:.78rem; color:var(--text-2); letter-spacing:.04em; text-transform:uppercase; }
.stat-sep { width:1px; height:50px; background:var(--border); flex-shrink:0; }

/* ================================================================
   ABOUT
================================================================ */
.about-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:4rem; align-items:center;
}
.about-para { color:var(--text-2); margin-bottom:1.1rem; font-size:1rem; line-height:1.8; }
.about-pillars { display:flex; flex-direction:column; gap:1.2rem; margin-top:2rem; }
.pillar {
  display:flex; align-items:flex-start; gap:1rem;
  padding:1rem 1.2rem; background:var(--bg-card);
  border:1px solid var(--border); border-radius:var(--radius-m);
  transition:border-color var(--trans), transform var(--trans);
}
.pillar:hover { border-color:var(--border-a); transform:translateX(4px); }
.pillar-icon {
  width:38px; height:38px; flex-shrink:0; padding:.5rem;
  background:var(--accent-glow); border-radius:var(--radius-s);
  color:var(--accent); display:flex; align-items:center; justify-content:center;
}
.pillar-icon svg { width:18px; height:18px; stroke:var(--accent); }
.pillar strong { display:block; font-family:var(--font-d); font-size:.92rem; color:var(--text); margin-bottom:.2rem; }
.pillar span { font-size:.82rem; color:var(--text-2); }
.about-img-wrap { position:relative; border-radius:var(--radius-l); overflow:hidden; box-shadow:var(--shadow); }
.about-img-wrap img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.about-badge {
  position:absolute; bottom:1.5rem; left:1.5rem;
  background:rgba(15,15,16,.85); backdrop-filter:blur(12px);
  border:1px solid var(--border-a); border-radius:var(--radius-m);
  padding:.8rem 1.2rem; display:flex; align-items:center; gap:.7rem;
  color:var(--accent);
}
.about-badge svg { stroke:var(--accent); }
.about-badge span { font-family:var(--font-d); font-size:.8rem; font-weight:600; line-height:1.3; color:var(--text); }

/* ================================================================
   PRODUCTS
================================================================ */
.products { background:var(--bg-2); }
.products-header { margin-bottom:3.5rem; }
.products-header .section-subtitle { margin-top:.5rem; }
.products-grid {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:1.5rem;
}
.product-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-l); overflow:hidden;
  transition:border-color var(--trans), transform var(--trans), box-shadow var(--trans);
  position:relative; display:flex; flex-direction:column;
}
.product-card:hover {
  border-color:var(--border-a); box-shadow:0 12px 48px rgba(251,198,70,.08);
  transform:translateY(-4px);
}
.product-card-wide { grid-column:1/-1; display:grid; grid-template-columns:1.2fr 1fr; }
.product-card-wide .product-img-wrap { border-radius:0; }
.product-card-wide .product-body { display:flex; flex-direction:column; justify-content:center; }
.product-num {
  position:absolute; top:1rem; left:1.2rem; z-index:2;
  font-family:var(--font-d); font-size:.8rem; font-weight:700;
  color:var(--accent); letter-spacing:.1em;
}
.product-badge {
  position:absolute; top:1rem; right:1.2rem; z-index:2;
  font-family:var(--font-d); font-size:.68rem; font-weight:600;
  letter-spacing:.06em; padding:4px 10px; border-radius:100px;
}
.badge-flagship { background:rgba(251,198,70,.15); color:var(--accent); border:1px solid var(--border-a); }
.badge-energy { background:rgba(100,200,100,.1); color:#7EE787; border:1px solid rgba(100,200,100,.2); }
.badge-ai { background:rgba(140,100,250,.12); color:#9D7CF8; border:1px solid rgba(140,100,250,.25); }
.badge-edtech { background:rgba(80,180,220,.1); color:#60C4E8; border:1px solid rgba(80,180,220,.22); }
.badge-defence { background:rgba(240,80,70,.1); color:#F26C6C; border:1px solid rgba(240,80,70,.22); }
.product-img-wrap { position:relative; height:220px; overflow:hidden; }
.product-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .8s ease; }
.product-card:hover .product-img-wrap img { transform:scale(1.06); }
.product-img-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to bottom,transparent 40%,var(--bg-card) 100%);
}
.product-body { padding:1.5rem 1.8rem 2rem; flex:1; }
.product-icon-wrap {
  width:42px; height:42px; background:var(--accent-glow);
  border:1px solid var(--border-a); border-radius:var(--radius-s);
  display:flex; align-items:center; justify-content:center; margin-bottom:1rem;
  color:var(--accent);
}
.product-icon-wrap svg { width:20px; height:20px; stroke:var(--accent); }
.product-name { font-size:1.35rem; color:var(--text); margin-bottom:.25rem; }
.product-tagline { font-size:.82rem; color:var(--accent); font-weight:600; letter-spacing:.04em; margin-bottom:.9rem; text-transform:uppercase; font-family:var(--font-d); }
.product-desc { font-size:.9rem; color:var(--text-2); line-height:1.75; margin-bottom:1.2rem; }
.product-features { display:flex; flex-wrap:wrap; gap:.5rem .7rem; }
.product-features li {
  font-size:.75rem; color:var(--text-2); font-family:var(--font-d);
  padding:4px 10px; background:var(--bg-raised); border:1px solid var(--border);
  border-radius:100px; transition:border-color var(--trans), color var(--trans);
}
.product-card:hover .product-features li { border-color:rgba(251,198,70,.15); color:var(--text); }

/* ================================================================
   VERTICALS
================================================================ */
.verticals-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; margin-top:3rem; }
.vertical-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-l); padding:2rem 1.6rem;
  transition:border-color var(--trans), transform var(--trans);
  display:flex; flex-direction:column; gap:1rem;
}
.vertical-card:hover { border-color:var(--border-a); transform:translateY(-4px); }
.vc-icon {
  width:48px; height:48px; background:var(--accent-glow);
  border:1px solid var(--border-a); border-radius:var(--radius-m);
  display:flex; align-items:center; justify-content:center;
  color:var(--accent);
}
.vc-icon svg { width:22px; height:22px; stroke:var(--accent); }
.vertical-card h3 { font-size:1.05rem; color:var(--text); }
.vertical-card p { font-size:.87rem; color:var(--text-2); line-height:1.7; flex:1; }
.vc-tag {
  font-family:var(--font-d); font-size:.72rem; color:var(--accent);
  font-weight:600; letter-spacing:.05em; text-transform:uppercase;
}

/* ================================================================
   TECHNOLOGY
================================================================ */
.tech { background:var(--bg-2); }
.tech-header { margin-bottom:3rem; }
.tech-bento {
  display:grid; grid-template-columns:1fr 1fr;
  gap:1.2rem;
}
.tech-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-l); padding:2rem 1.8rem;
  transition:border-color var(--trans), transform var(--trans), box-shadow var(--trans);
  position:relative; overflow:hidden;
}
.tech-card::before {
  content:''; position:absolute; top:-60px; right:-60px;
  width:180px; height:180px; border-radius:50%;
  background:radial-gradient(circle,var(--accent-glow),transparent 70%);
  pointer-events:none; transition:transform var(--trans-s);
}
.tech-card:hover { border-color:var(--border-a); transform:translateY(-3px); box-shadow:0 8px 32px rgba(251,198,70,.07); }
.tech-card:hover::before { transform:scale(1.5); }
.tech-card.tc-lg { grid-column:1/-1; }
.tc-icon {
  width:52px; height:52px; background:var(--accent-glow);
  border:1px solid var(--border-a); border-radius:var(--radius-m);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:1.2rem; color:var(--accent);
}
.tc-icon svg { width:24px; height:24px; stroke:var(--accent); }
.tech-card h3 { font-size:1.05rem; color:var(--text); margin-bottom:.7rem; }
.tech-card p { font-size:.87rem; color:var(--text-2); line-height:1.75; }

/* ================================================================
   INVESTORS
================================================================ */
.investors-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.inv-para { color:var(--text-2); line-height:1.8; margin-bottom:1rem; font-size:1rem; }
.inv-points { display:flex; flex-direction:column; gap:1.2rem; margin:2rem 0; }
.inv-point { display:flex; align-items:flex-start; gap:1rem; }
.inv-dot {
  width:8px; height:8px; background:var(--accent); border-radius:50%;
  flex-shrink:0; margin-top:6px;
}
.inv-point strong { display:block; font-family:var(--font-d); font-size:.92rem; color:var(--text); margin-bottom:.2rem; }
.inv-point span { font-size:.85rem; color:var(--text-2); line-height:1.65; }
.inv-cards { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.market-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-l); padding:1.8rem 1.5rem;
  display:flex; flex-direction:column; gap:.5rem;
  transition:border-color var(--trans), transform var(--trans);
}
.market-card:hover { border-color:var(--border-a); transform:translateY(-3px); }
.mkt-fig { font-family:var(--font-d); font-size:2rem; font-weight:700; color:var(--accent); line-height:1; }
.mkt-lbl { font-size:.8rem; color:var(--text-2); line-height:1.5; }

/* ================================================================
   CONTACT
================================================================ */
.contact { background:var(--bg-2); }
.contact-inner {
  max-width:700px; margin:0 auto; text-align:center;
  display:flex; flex-direction:column; align-items:center;
}
.contact-sub {
  font-size:1.05rem; color:var(--text-2); max-width:540px;
  line-height:1.8; margin:.5rem 0 2.5rem;
}
.contact-channels { display:flex; flex-direction:column; gap:1rem; width:100%; margin-bottom:2.5rem; }
.channel-card {
  display:flex; align-items:center; gap:1.2rem;
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-m); padding:1.2rem 1.5rem;
  transition:border-color var(--trans), transform var(--trans), box-shadow var(--trans);
}
.channel-card:hover {
  border-color:var(--border-a); transform:translateY(-2px);
  box-shadow:0 8px 32px rgba(251,198,70,.08);
}
.ch-icon {
  width:44px; height:44px; background:var(--accent-glow);
  border:1px solid var(--border-a); border-radius:var(--radius-s);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; color:var(--accent);
}
.ch-icon svg { width:20px; height:20px; stroke:var(--accent); }
.ch-info { flex:1; text-align:left; min-width:0; }
.ch-label { display:block; font-family:var(--font-d); font-size:.72rem; color:var(--text-2); letter-spacing:.06em; text-transform:uppercase; margin-bottom:.2rem; }
.ch-value { font-family:var(--font-d); font-size:1rem; font-weight:600; color:var(--text); overflow-wrap:break-word; word-break:break-word; }
.ch-arrow { width:20px; height:20px; stroke:var(--text-3); flex-shrink:0; transition:transform var(--trans), stroke var(--trans); }
.channel-card:hover .ch-arrow { stroke:var(--accent); transform:translateX(4px); }
.contact-socials { text-align:center; }
.contact-socials p { font-size:.8rem; color:var(--text-3); letter-spacing:.06em; text-transform:uppercase; font-family:var(--font-d); margin-bottom:1rem; }
.social-row { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.soc-btn {
  display:flex; align-items:center; gap:.6rem;
  background:var(--bg-card); border:1px solid var(--border);
  color:var(--text-2); border-radius:var(--radius-s);
  padding:10px 18px; font-family:var(--font-d); font-size:.85rem; font-weight:500;
  transition:var(--trans);
}
.soc-btn svg { width:18px; height:18px; flex-shrink:0; }
.soc-btn:hover { border-color:var(--border-a); color:var(--accent); transform:translateY(-2px); }

/* ================================================================
   FOOTER
================================================================ */
.footer { background:var(--bg); border-top:1px solid var(--border); padding:4rem 0 2rem; }
.footer-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
  gap:3rem; margin-bottom:3rem;
}
.footer-logo-link { display:block; margin-bottom:1rem; }
.footer-logo-link span { font-family:var(--font-d); font-weight:700; font-size:1rem; color:var(--text); }
.footer-banner { height:auto; width:210px; max-width:100%; object-fit:contain; display:block; margin-bottom:.75rem; }
.footer-brand p { font-size:.85rem; color:var(--text-2); line-height:1.75; max-width:280px; margin-bottom:1.5rem; }
.footer-socials { display:flex; gap:.75rem; }
.footer-socials a {
  width:36px; height:36px; background:var(--bg-card);
  border:1px solid var(--border); border-radius:var(--radius-s);
  display:flex; align-items:center; justify-content:center;
  color:var(--text-2); transition:var(--trans);
}
.footer-socials a svg { width:16px; height:16px; }
.footer-socials a:hover { border-color:var(--accent); color:var(--accent); transform:translateY(-2px); }
.footer-col h4 { font-family:var(--font-d); font-size:.82rem; color:var(--text); font-weight:600; letter-spacing:.06em; text-transform:uppercase; margin-bottom:1.2rem; }
.footer-col ul { display:flex; flex-direction:column; gap:.7rem; }
.footer-col li a { font-size:.85rem; color:var(--text-2); transition:color var(--trans); }
.footer-col li a:hover { color:var(--accent); }
.footer-bottom {
  display:flex; align-items:center; justify-content:space-between;
  padding-top:1.5rem; border-top:1px solid var(--border);
  font-size:.78rem; color:var(--text-3);
}
.footer-tagline { font-family:var(--font-d); color:var(--text-3); }

/* ================================================================
   RESPONSIVE
================================================================ */
@media (max-width:1024px) {
  .about-grid { grid-template-columns:1fr; gap:2.5rem; }
  .about-visual { display:none; }
  .verticals-grid { grid-template-columns:repeat(2,1fr); }
  .investors-grid { grid-template-columns:1fr; gap:3rem; }
  .inv-cards { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; gap:2rem; }
  .footer-brand { grid-column:1/-1; }
}
@media (max-width:768px) {
  .section { padding:4rem 0; }
  .nav-links { display:none; }
  .nav-toggle { display:flex; }
  .stats-inner { gap:0; }
  .stat-sep { display:none; }
  .stat { min-width:50%; border-bottom:1px solid var(--border); }
  .products-grid { grid-template-columns:1fr; }
  .product-card-wide { grid-column:span 1; display:flex; flex-direction:column; }
  .product-card-wide .product-img-wrap { height:220px; }
  .verticals-grid { grid-template-columns:1fr 1fr; }
  .tech-bento { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; gap:.5rem; text-align:center; }
}
@media (max-width:480px) {
  .hero-title { font-size:2.4rem; }
  .ch-value { font-size:0.85rem; word-break:break-all; }
  .hero-actions { flex-direction:column; width:100%; }
  .hero-actions .btn { justify-content:center; }
  .verticals-grid { grid-template-columns:1fr; }
  .inv-cards { grid-template-columns:1fr; }
  .stats-inner { flex-direction:column; }
  .stat-sep { display:none; }
  .stat { border-bottom:1px solid var(--border); width:100%; }
}
