:root{
  --bg:#0A0A12;
  --bg-alt:#0F0F1A;
  --surface:rgba(255,255,255,0.045);
  --surface-hover:rgba(255,255,255,0.075);
  --border:rgba(255,255,255,0.10);
  --border-strong:rgba(255,255,255,0.18);
  --text:#F4F4FA;
  --text-soft:#A6A6BC;
  --text-faint:#68687F;
  --violet:#8B5CF6;
  --violet-soft:#B9A2FF;
  --cyan:#22D3C7;
  --pink:#FF4FD8;
  --coral:#FF6B7A;
  --grad: linear-gradient(120deg, var(--violet), var(--cyan));
  --grad3: linear-gradient(100deg, var(--violet), var(--cyan), var(--pink), var(--violet));
  --max:1180px;
  --radius:16px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:'Inter',sans-serif; font-size:16.5px; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
  opacity:0; animation:pageIn .6s ease forwards;
}
@keyframes pageIn{ from{ opacity:0; transform:translateY(6px);} to{ opacity:1; transform:none;} }
h1,h2,h3,.display{ font-family:'Space Grotesk',sans-serif; font-weight:600; line-height:1.12; margin:0; letter-spacing:-0.01em; }
p{ margin:0; }
a{ color:inherit; text-decoration:none; }
.wrap{ max-width:var(--max); margin:0 auto; padding:0 32px; position:relative; }
@media (max-width:640px){ .wrap{ padding:0 20px; } }
section{ position:relative; }
:focus-visible{ outline:2px solid var(--cyan); outline-offset:3px; border-radius:4px; }
.gradient-text{ background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.shimmer-text{
  background:var(--grad3); background-size:300% auto; -webkit-background-clip:text; background-clip:text; color:transparent;
  animation:shimmer 6s linear infinite;
}
@keyframes shimmer{ to{ background-position:300% center; } }
::selection{ background:var(--violet); color:#fff; }

/* progress bar */
.progress-bar{ position:fixed; top:0; left:0; height:3px; width:0%; background:var(--grad3); background-size:300% auto; z-index:200; transition:width .1s linear; }

/* reveal on scroll */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in-view{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; }
}

/* background fx */
.blob{ position:absolute; border-radius:50%; filter:blur(90px); z-index:0; pointer-events:none; opacity:0.55; }
@keyframes drift{ 0%,100%{ transform:translate(0,0) scale(1);} 50%{ transform:translate(30px,-24px) scale(1.08);} }
.grid-overlay{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image: radial-gradient(ellipse 60% 60% at 50% 20%, black 20%, transparent 75%);
  mask-image: radial-gradient(ellipse 60% 60% at 50% 20%, black 20%, transparent 75%);
}
.cursor-glow{
  position:absolute; width:420px; height:420px; border-radius:50%; pointer-events:none; z-index:0;
  background:radial-gradient(closest-side, rgba(139,92,246,0.18), transparent 70%);
  transform:translate(var(--cx,50%), var(--cy,20%)) translate(-50%,-50%);
  transition:transform .12s ease-out;
}
.particles{ position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none; }
.particle{ position:absolute; width:3px; height:3px; border-radius:50%; background:var(--cyan); opacity:0.5; animation:floatUp linear infinite; }
@keyframes floatUp{ from{ transform:translateY(0); opacity:0;} 10%{opacity:.6;} 90%{opacity:.4;} to{ transform:translateY(-620px); opacity:0;} }

/* nav */
header{ position:sticky; top:0; z-index:100; transition:background .3s ease, border-color .3s ease; border-bottom:1px solid transparent; }
header.scrolled{ background:rgba(10,10,18,0.75); backdrop-filter:blur(14px); border-color:var(--border); }
nav.wrap{ display:flex; align-items:center; justify-content:space-between; height:78px; }
.logo{ display:flex; align-items:center; gap:10px; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.15rem; letter-spacing:0.01em; }
.logo-dot{ width:10px; height:10px; border-radius:3px; background:var(--grad); box-shadow:0 0 16px rgba(139,92,246,0.7); }
.nav-links{ display:flex; gap:36px; }
.nav-links a{ font-size:0.94rem; color:var(--text-soft); transition:color .2s ease; position:relative; padding-bottom:4px; }
.nav-links a::after{ content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--grad); transition:width .25s ease; }
.nav-links a:hover{ color:var(--text); }
.nav-links a:hover::after, .nav-links a.active::after{ width:100%; }
.nav-links a.active{ color:var(--text); }
.nav-cta{
  font-size:0.9rem; font-weight:600; padding:11px 20px; border-radius:999px;
  background:var(--grad); color:#0A0A12; transition:box-shadow .25s ease, transform .2s ease;
}
.nav-cta:hover{ box-shadow:0 0 26px rgba(139,92,246,0.55); transform:translateY(-1px); }
.nav-toggle{ display:none; background:none; border:none; cursor:pointer; }
.nav-toggle span{ display:block; width:22px; height:2px; background:var(--text); margin:5px 0; border-radius:2px; }
.mobile-panel{ display:none; position:fixed; inset:78px 0 0 0; background:var(--bg); z-index:99; padding:32px; flex-direction:column; gap:26px; }
.mobile-panel.open{ display:flex; }
.mobile-panel a{ font-family:'Space Grotesk',sans-serif; font-size:1.3rem; }
@media (max-width:880px){ .nav-links, .nav-cta.desktop{ display:none; } .nav-toggle{ display:block; } }

/* buttons */
.hero-actions, .final-cta .actions{ display:flex; gap:18px; flex-wrap:wrap; }
.btn-grad{
  padding:15px 28px; border-radius:999px; background:var(--grad); color:#0A0A12; font-weight:600; font-size:0.98rem;
  transition:box-shadow .25s ease, transform .15s ease; display:inline-block; position:relative;
}
.btn-grad:hover{ box-shadow:0 0 34px rgba(34,211,199,0.4); }
.btn-ghost{
  padding:15px 26px; border-radius:999px; border:1px solid var(--border-strong); color:var(--text); font-size:0.98rem;
  transition:background .2s ease, border-color .2s ease;
}
.btn-ghost:hover{ background:var(--surface-hover); border-color:var(--text-soft); }

/* kicker / eyebrow */
.kicker{
  display:inline-flex; align-items:center; gap:8px; font-size:0.84rem; color:var(--text-soft);
  background:var(--surface); border:1px solid var(--border); padding:7px 16px; border-radius:999px; margin-bottom:28px;
}
.kicker::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--cyan); box-shadow:0 0 10px var(--cyan); }
.eyebrow{ color:var(--cyan); font-size:0.85rem; font-weight:600; }
.section-head{ max-width:640px; margin:0 auto 56px; text-align:center; }
.section-head h2{ font-size:clamp(1.9rem,3.4vw,2.6rem); margin-top:12px; }
.section-head p{ color:var(--text-soft); margin-top:16px; font-size:1.05rem; }
.section{ padding:110px 0; }
.section-alt{ background:var(--bg-alt); }
.page-hero{ padding:70px 0 60px; }
.page-hero .eyebrow{ display:block; margin-bottom:14px; }
.page-hero h1{ font-size:clamp(2.2rem,4.4vw,3.4rem); max-width:20ch; }
.page-hero p{ margin-top:18px; color:var(--text-soft); max-width:56ch; font-size:1.08rem; }

/* marquee */
.marquee-wrap{ margin-top:56px; overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, black 10%, black 90%, transparent); mask-image:linear-gradient(90deg, transparent, black 10%, black 90%, transparent); }
.marquee{ display:flex; gap:44px; width:max-content; animation:scroll-x 26s linear infinite; }
.marquee span{ color:var(--text-faint); font-size:0.9rem; white-space:nowrap; }
@keyframes scroll-x{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }

/* diagram */
.diagram{ margin-top:80px; border:1px solid var(--border); border-radius:20px; background:var(--surface); padding:42px 28px; position:relative; z-index:1; }
.diagram-label{ position:absolute; top:20px; right:24px; font-size:0.75rem; color:var(--cyan); display:flex; align-items:center; gap:6px; }
.diagram-label::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--cyan); animation:pulse-dot 1.6s ease-in-out infinite; }
@keyframes pulse-dot{ 0%,100%{ opacity:1;} 50%{ opacity:.25;} }
.diagram-row{ display:flex; align-items:center; justify-content:center; gap:0; flex-wrap:wrap; }
.node{ display:flex; flex-direction:column; align-items:center; gap:8px; padding:18px 20px; min-width:120px; }
.node .icon{ width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:var(--bg-alt); border:1px solid var(--border); font-size:1.1rem; }
.node.center .icon{ background:var(--grad); box-shadow:0 0 30px rgba(139,92,246,0.5); border:none; }
.node span{ font-size:0.82rem; color:var(--text-soft); }
.connector{ width:64px; height:1px; background:repeating-linear-gradient(90deg, var(--border-strong) 0 6px, transparent 6px 12px); position:relative; overflow:visible; }
.connector::after{ content:""; position:absolute; top:-2px; left:0; width:6px; height:5px; border-radius:50%; background:var(--cyan); box-shadow:0 0 8px var(--cyan); animation:travel 2.4s linear infinite; }
@media (max-width:820px){ .connector{ width:1px; height:34px; } .diagram-row{ flex-direction:column; } }
@keyframes travel{ from{ left:0;} to{ left:100%;} }

/* stats */
.stats{ display:flex; margin-top:60px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.stats > div{ flex:1; padding:30px 24px; }
.stats > div:not(:last-child){ border-right:1px solid var(--border); }
.stat-num{ font-family:'Space Grotesk',sans-serif; font-size:2.1rem; font-weight:700; }
.stat-label{ color:var(--text-faint); font-size:0.88rem; margin-top:4px; }
@media (max-width:760px){ .stats{ flex-direction:column; } .stats > div{ border-right:none !important; border-bottom:1px solid var(--border); } .stats > div:last-child{ border-bottom:none; } }

/* cards + tilt */
.card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:26px 22px;
  transition:transform .15s ease, border-color .3s ease, background .3s ease, box-shadow .3s ease;
  transform-style:preserve-3d; will-change:transform;
}
.card:hover{ border-color:var(--border-strong); background:var(--surface-hover); box-shadow:0 18px 40px rgba(139,92,246,0.12); }
.card .num{ font-family:'Space Grotesk',sans-serif; color:var(--text-faint); font-size:0.85rem; }
.card h3{ font-size:1.02rem; margin-top:14px; }
.card p{ color:var(--text-soft); font-size:0.92rem; margin-top:8px; }
.problem-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
@media (max-width:980px){ .problem-grid{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .problem-grid{ grid-template-columns:1fr;} }
.why-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
@media (max-width:980px){ .why-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .why-grid{ grid-template-columns:1fr; } }

.approach-line{ text-align:center; max-width:60ch; margin:70px auto 0; font-size:1.25rem; font-family:'Space Grotesk',sans-serif; color:var(--text-soft); }
.approach-line strong{ color:var(--text); font-weight:600; }

/* mini solutions preview (home) */
.mini-sol-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media (max-width:900px){ .mini-sol-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .mini-sol-grid{ grid-template-columns:1fr; } }
.mini-sol{ padding:28px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); transition:.25s ease; position:relative; overflow:hidden; }
.mini-sol::before{ content:""; position:absolute; inset:0; background:var(--grad); opacity:0; transition:opacity .3s ease; z-index:0; }
.mini-sol:hover{ border-color:transparent; transform:translateY(-4px); }
.mini-sol:hover::before{ opacity:0.08; }
.mini-sol *{ position:relative; z-index:1; }
.mini-sol h3{ font-size:1.05rem; }
.mini-sol p{ color:var(--text-soft); font-size:0.92rem; margin-top:8px; }
.mini-sol .arrow{ display:inline-block; margin-top:16px; font-size:0.88rem; color:var(--cyan); }

/* solutions tabs */
.solutions{ display:grid; grid-template-columns:280px 1fr; border:1px solid var(--border); border-radius:20px; overflow:hidden; background:var(--surface); }
@media (max-width:820px){ .solutions{ grid-template-columns:1fr; } }
.sol-nav{ border-right:1px solid var(--border); }
@media (max-width:820px){ .sol-nav{ border-right:none; border-bottom:1px solid var(--border); display:flex; overflow-x:auto; } }
.sol-btn{ display:block; width:100%; text-align:left; padding:20px 24px; background:none; border:none; color:var(--text-soft); font-family:'Inter',sans-serif; font-size:0.98rem; cursor:pointer; border-left:2px solid transparent; transition:.2s ease; white-space:nowrap; }
.sol-btn:hover{ color:var(--text); background:var(--surface-hover); }
.sol-btn.active{ color:var(--text); border-left-color:var(--cyan); background:var(--surface-hover); font-weight:600; }
.sol-panel{ display:none; padding:44px; }
.sol-panel.active{ display:block; animation:fadeIn .4s ease; }
@keyframes fadeIn{ from{ opacity:0; transform:translateY(8px);} to{ opacity:1; transform:none;} }
.sol-panel h3{ font-size:1.5rem; }
.sol-panel .tag{ color:var(--cyan); font-size:0.9rem; margin-top:10px; display:block; }
.sol-features{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:26px; list-style:none; padding:0; }
@media (max-width:560px){ .sol-features{ grid-template-columns:1fr; } }
.sol-features li{ display:flex; align-items:center; gap:10px; color:var(--text-soft); font-size:0.94rem; }
.sol-features li::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--grad); flex-shrink:0; }
.sol-note{ margin-top:24px; font-size:0.88rem; color:var(--text-faint); font-style:italic; }

/* before/after */
.ba-grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
@media (max-width:760px){ .ba-grid{ grid-template-columns:1fr; } }
.ba-col{ border-radius:var(--radius); padding:32px; border:1px solid var(--border); }
.ba-col.before{ background:rgba(255,107,122,0.05); }
.ba-col.after{ background:rgba(34,211,199,0.05); }
.ba-col h3{ font-size:1.1rem; }
.ba-col.before h3{ color:var(--coral); }
.ba-col.after h3{ color:var(--cyan); }
.ba-steps{ list-style:none; padding:0; margin-top:22px; display:flex; flex-direction:column; gap:14px; }
.ba-steps li{ display:flex; gap:12px; font-size:0.95rem; color:var(--text-soft); align-items:flex-start; }
.ba-steps li .dot{ width:20px; height:20px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:0.7rem; margin-top:2px; }
.before .dot{ background:rgba(255,107,122,0.15); color:var(--coral); }
.after .dot{ background:rgba(34,211,199,0.15); color:var(--cyan); }

/* stepper */
.stepper{ display:flex; justify-content:space-between; position:relative; margin-top:20px; }
.stepper::before{ content:""; position:absolute; top:23px; left:0; right:0; height:1px; background:var(--border); }
.stepper .fill-line{ position:absolute; top:23px; left:0; height:1px; background:var(--grad); width:0; transition:width 1.4s ease; }
.stepper.in-view .fill-line{ width:100%; }
.step{ position:relative; flex:1; text-align:center; padding:0 12px; }
.step-num{ width:46px; height:46px; border-radius:50%; background:var(--bg-alt); border:1px solid var(--border-strong); display:flex; align-items:center; justify-content:center; margin:0 auto 18px; font-family:'Space Grotesk',sans-serif; font-weight:600; position:relative; z-index:1; }
.step h3{ font-size:1.02rem; }
.step p{ color:var(--text-soft); font-size:0.88rem; margin-top:8px; max-width:22ch; margin-left:auto; margin-right:auto; }
@media (max-width:760px){ .stepper{ flex-direction:column; gap:34px; } .stepper::before, .fill-line{ display:none; } }

/* industries */
.industry-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width:820px){ .industry-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .industry-grid{ grid-template-columns:1fr; } }
.industry-card{ padding:24px; border:1px solid var(--border); border-radius:14px; transition:.25s ease; }
.industry-card:hover{ border-color:var(--violet-soft); background:var(--surface-hover); }
.industry-card h3{ font-size:1.02rem; }
.industry-card p{ color:var(--text-soft); font-size:0.9rem; margin-top:8px; }

/* demo */
.demo-shell{ display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
@media (max-width:860px){ .demo-shell{ grid-template-columns:1fr; } }
.phone-card{ border:1px solid var(--border); border-radius:20px; background:var(--surface); padding:24px; }
.phone-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.live-badge{ font-size:0.75rem; color:var(--cyan); display:flex; align-items:center; gap:6px; }
.live-badge::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--cyan); animation:pulse-dot 1.6s infinite; }
.bubble{ max-width:80%; padding:12px 16px; border-radius:14px; font-size:0.92rem; margin-bottom:12px; opacity:0; transform:translateY(8px); transition:opacity .5s ease, transform .5s ease; }
.bubble.show{ opacity:1; transform:none; }
.bubble.caller{ background:var(--bg-alt); border:1px solid var(--border); border-bottom-left-radius:4px; }
.bubble.ai{ background:linear-gradient(120deg, rgba(139,92,246,0.18), rgba(34,211,199,0.14)); border:1px solid var(--border-strong); margin-left:auto; border-bottom-right-radius:4px; }
.lead-card{ border:1px solid var(--border); border-radius:20px; background:var(--surface); padding:24px; opacity:0; transform:translateY(12px); transition:opacity .6s ease .3s, transform .6s ease .3s; }
.lead-card.show{ opacity:1; transform:none; }
.lead-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.lead-head .tag{ font-size:0.75rem; color:var(--violet-soft); background:rgba(139,92,246,0.12); padding:5px 12px; border-radius:999px; }
.lead-fields{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.lead-fields div span{ display:block; font-size:0.78rem; color:var(--text-faint); }
.lead-fields div strong{ font-family:'Space Grotesk',sans-serif; font-size:1.02rem; font-weight:600; }
.lead-footer{ margin-top:20px; padding-top:16px; border-top:1px solid var(--border); font-size:0.85rem; color:var(--text-faint); display:flex; justify-content:space-between; }
.demo-note{ margin-top:16px; font-size:0.82rem; color:var(--text-faint); text-align:center; }

/* founders */
.founders{ display:flex; gap:40px; justify-content:center; flex-wrap:wrap; margin-top:10px; }
.founder{ text-align:center; }
.avatar{ width:78px; height:78px; border-radius:50%; margin:0 auto 14px; display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk',sans-serif; font-weight:600; background:var(--grad); color:#0A0A12; font-size:1.2rem; }
.founder h3{ font-size:1.05rem; }
.founder span{ color:var(--text-faint); font-size:0.88rem; }
.pull-quote{ text-align:center; max-width:44ch; margin:64px auto 0; font-family:'Space Grotesk',sans-serif; font-size:1.35rem; color:var(--text-soft); line-height:1.5; }

/* timeline (about page) */
.timeline{ max-width:640px; margin:0 auto; position:relative; padding-left:32px; }
.timeline::before{ content:""; position:absolute; left:6px; top:6px; bottom:6px; width:1px; background:var(--border); }
.tl-item{ position:relative; padding-bottom:40px; }
.tl-item:last-child{ padding-bottom:0; }
.tl-item::before{ content:""; position:absolute; left:-32px; top:4px; width:13px; height:13px; border-radius:50%; background:var(--grad); box-shadow:0 0 12px rgba(139,92,246,0.5); }
.tl-item h3{ font-size:1.05rem; }
.tl-item p{ color:var(--text-soft); font-size:0.94rem; margin-top:6px; }

/* faq */
.faq{ max-width:820px; margin:0 auto; }
.faq-item{ border-bottom:1px solid var(--border); }
.faq-q{ width:100%; text-align:left; background:none; border:none; color:var(--text); padding:22px 4px; font-size:1.02rem; font-family:'Space Grotesk',sans-serif; font-weight:500; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.faq-q .plus{ font-size:1.3rem; color:var(--text-faint); transition:transform .3s ease; flex-shrink:0; }
.faq-item.open .plus{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
.faq-a p{ color:var(--text-soft); padding:0 4px 22px; font-size:0.96rem; max-width:70ch; }

/* contact */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; }
@media (max-width:900px){ .contact-grid{ grid-template-columns:1fr; } }
.contact-info{ display:flex; flex-direction:column; gap:16px; margin-top:30px; }
.contact-info a{ display:flex; align-items:center; gap:10px; color:var(--text-soft); font-size:0.98rem; transition:color .2s ease; }
.contact-info a:hover{ color:var(--cyan); }
form.contact-form{ display:flex; flex-direction:column; gap:16px; }
.row2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:520px){ .row2{ grid-template-columns:1fr; } }
.field label{ display:block; font-size:0.85rem; color:var(--text-faint); margin-bottom:6px; }
.field input, .field select, .field textarea{ width:100%; background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:12px 14px; color:var(--text); font-family:'Inter',sans-serif; font-size:0.95rem; transition:border-color .2s ease; }
.field textarea{ resize:vertical; min-height:90px; }
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--violet-soft); }
.form-note{ font-size:0.88rem; color:var(--cyan); margin-top:2px; display:none; }
.form-note.show{ display:block; }

/* final cta */
.final-cta{ text-align:center; padding:120px 0; }
.final-cta h2{ font-size:clamp(2.2rem,4.4vw,3.4rem); max-width:18ch; margin:0 auto; }
.final-cta .actions{ justify-content:center; margin-top:36px; }

footer{ border-top:1px solid var(--border); padding:50px 0; }
.footer-grid{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:24px; }
.footer-grid .col p{ color:var(--text-faint); font-size:0.9rem; margin-top:6px; }
.footer-links{ display:flex; gap:22px; flex-wrap:wrap; }
.footer-links a{ color:var(--text-soft); font-size:0.9rem; }
.footer-links a:hover{ color:var(--text); }
