/* ===========================================================
   AyushSoftCare — Futuristic 3D Homepage
   =========================================================== */

:root{
  --bg: #05060d;
  --bg-soft: #090b18;
  --panel: rgba(255,255,255,0.045);
  --panel-strong: rgba(255,255,255,0.08);
  --border: rgba(255,255,255,0.10);
  --text: #eef1fb;
  --muted: #93a0c2;
  --cyan: #00e5ff;
  --violet: #7c5cff;
  --pink: #ff5cb8;
  --grad: linear-gradient(120deg, var(--cyan), var(--violet) 55%, var(--pink));
  --grad-soft: linear-gradient(120deg, rgba(0,229,255,.18), rgba(124,92,255,.18));
  --shadow-glow: 0 0 40px rgba(124,92,255,.35);
  --radius: 20px;
  --ease: cubic-bezier(.16,.84,.44,1);
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }

body.fx-body{
  margin:0;
  background: var(--bg);
  color: var(--text);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

.fx-body h1, .fx-body h2, .fx-body h3, .fx-body h4{
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-weight: 600;
  line-height: 1.15;
  margin: 0;
}

.fx-body a{ text-decoration:none; color: inherit; }
.fx-body ul{ list-style:none; margin:0; padding:0; }
.fx-body img{ max-width:100%; display:block; }

.fx-grad-text{
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.fx-container{
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 24px;
}

.fx-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:'Orbitron', sans-serif;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--cyan);
  padding: 6px 14px;
  border: 1px solid rgba(0,229,255,.35);
  border-radius: 30px;
  background: rgba(0,229,255,.06);
}
.fx-eyebrow::before{
  content:"";
  width:6px; height:6px; border-radius:50%;
  background: var(--cyan);
  box-shadow: 0 0 8px 2px var(--cyan);
}

/* ---------- Loader ---------- */
.fx-loader{
  position: fixed; inset:0; z-index: 9999;
  background: var(--bg);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap: 18px;
  transition: opacity .6s var(--ease), visibility .6s var(--ease);
}
.fx-loader.is-hidden{ opacity:0; visibility:hidden; pointer-events:none; }
.fx-loader-mark{
  font-family:'Space Grotesk', sans-serif;
  font-size: 22px; font-weight:700; letter-spacing:.02em;
}
.fx-loader-bar{
  width: 220px; height: 2px; background: rgba(255,255,255,.08); border-radius:2px; overflow:hidden;
}
.fx-loader-bar span{
  display:block; height:100%; width:0%;
  background: var(--grad);
  transition: width .25s ease-out;
}
.fx-loader-pct{ font-family:'Orbitron',sans-serif; font-size:11px; color:var(--muted); letter-spacing:.1em; }

/* ---------- Scroll progress ---------- */
.fx-scroll-progress{
  position: fixed; top:0; left:0; height:3px; width:0%;
  background: var(--grad); z-index: 2000;
  box-shadow: 0 0 12px rgba(124,92,255,.7);
}

/* ---------- Custom cursor ---------- */
.fx-cursor{
  position: fixed; top:0; left:0; width:26px; height:26px;
  border:1.5px solid rgba(0,229,255,.8); border-radius:50%;
  transform: translate(-50%,-50%);
  pointer-events:none; z-index: 3000; mix-blend-mode: screen;
  transition: width .2s var(--ease), height .2s var(--ease), border-color .2s ease, background .2s ease;
}
.fx-cursor.is-active{ width:52px; height:52px; background: rgba(0,229,255,.12); }
.fx-cursor-dot{
  position: fixed; top:0; left:0; width:5px; height:5px; border-radius:50%;
  background: var(--cyan); transform: translate(-50%,-50%);
  pointer-events:none; z-index:3001; box-shadow:0 0 8px 2px var(--cyan);
}

/* ---------- Navbar ---------- */
.fx-nav{
  position: fixed; top:0; left:0; right:0; z-index: 1000;
  padding: 20px 0;
  transition: background .35s ease, padding .35s ease, border-color .35s ease, backdrop-filter .35s ease;
  border-bottom: 1px solid transparent;
}
.fx-nav.is-scrolled{
  padding: 12px 0;
  background: rgba(5,6,13,.72);
  backdrop-filter: blur(16px) saturate(140%);
  border-color: var(--border);
}
.fx-nav-inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.fx-logo{ font-family:'Space Grotesk',sans-serif; font-size:20px; font-weight:700; }
.fx-logo span{ color: var(--cyan); }

.fx-nav-links{ display:flex; align-items:center; gap:34px; }
.fx-nav-links a{
  font-size: 14.5px; color: var(--muted); font-weight:500;
  position: relative; padding: 4px 0;
  transition: color .25s ease;
}
.fx-nav-links a::after{
  content:""; position:absolute; left:0; bottom:-2px; width:0; height:1.5px;
  background: var(--grad); transition: width .3s var(--ease);
}
.fx-nav-links a:hover{ color: var(--text); }
.fx-nav-links a:hover::after{ width:100%; }

.fx-nav-cta{
  display:inline-flex; align-items:center; gap:8px;
  padding: 10px 20px; border-radius: 30px;
  background: var(--grad); color:#05060d; font-weight:600; font-size:14px;
  box-shadow: 0 6px 24px rgba(124,92,255,.35);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.fx-nav-cta:hover{ transform: translateY(-2px) scale(1.03); box-shadow: 0 10px 30px rgba(124,92,255,.5); }

.fx-burger{
  display:none; width:42px; height:42px; border-radius:10px;
  border:1px solid var(--border); background: var(--panel);
  align-items:center; justify-content:center; cursor:pointer;
}
.fx-burger span, .fx-burger span::before, .fx-burger span::after{
  content:""; display:block; width:18px; height:1.5px; background: var(--text); position:relative;
  transition: transform .25s ease, opacity .25s ease;
}
.fx-burger span::before{ position:absolute; top:-6px; }
.fx-burger span::after{ position:absolute; top:6px; }

.fx-mobile-menu{
  position: fixed; inset:0; z-index: 999;
  background: var(--bg); backdrop-filter: blur(20px);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:28px;
  opacity:0; visibility:hidden; transform: translateY(-12px);
  transition: opacity .35s var(--ease), transform .35s var(--ease), visibility .35s var(--ease);
}
.fx-mobile-menu.is-open{ opacity:1; visibility:visible; transform:none; }
.fx-mobile-menu a{ font-family:'Space Grotesk',sans-serif; font-size: 26px; color: var(--text); }
.fx-mobile-menu .fx-nav-cta{ margin-top: 10px; }

/* ---------- Hero ---------- */
.fx-hero{
  position: relative;
  min-height: 100vh;
  display:flex; align-items:center;
  overflow: hidden;
  padding-top: 110px;
}
.fx-hero-canvas{
  position:absolute; inset:0; z-index:0;
}
.fx-hero-canvas canvas{ display:block; width:100%!important; height:100%!important; touch-action:pan-y; }
.fx-3d-tooltip{
  position:absolute; top:0; left:0; z-index:5; pointer-events:none;
  transform: translate(18px,-50%);
  opacity:0; transition: opacity .2s ease;
}
.fx-3d-tooltip.is-visible{ opacity:1; }
.fx-3d-tooltip span{
  display:inline-flex; align-items:center; gap:6px;
  font-family:'Orbitron',sans-serif; font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  color:#05060d; background: var(--grad); padding:7px 14px; border-radius:20px;
  box-shadow: 0 6px 20px rgba(0,0,0,.4); white-space:nowrap;
}
.fx-hero::before{
  content:"";
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 50% at 30% 20%, rgba(124,92,255,.18), transparent 60%),
    radial-gradient(ellipse 50% 40% at 80% 70%, rgba(0,229,255,.14), transparent 60%);
}
.fx-hero::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0; height:140px; z-index:1; pointer-events:none;
  background: linear-gradient(to bottom, transparent, var(--bg));
}
.fx-hero-content{ position:relative; z-index:2; width:100%; pointer-events:none; }
.fx-hero-content a, .fx-hero-content button{ pointer-events:auto; }
.fx-hero-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items:center; }
.fx-hero h1{
  font-size: clamp(38px, 5.4vw, 68px);
  margin: 20px 0 18px;
  letter-spacing: -0.02em;
}
.fx-hero p.fx-lead{
  font-size: 18px; color: var(--muted); max-width: 520px; margin-bottom: 34px; line-height:1.7;
}
.fx-hero-cta{ display:flex; gap:16px; flex-wrap:wrap; }

.fx-btn{
  display:inline-flex; align-items:center; gap:10px;
  padding: 15px 28px; border-radius: 40px;
  font-weight:600; font-size:15px; cursor:pointer; border:none;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), background .3s ease;
}
.fx-btn-primary{
  background: var(--grad); color:#05060d;
  box-shadow: 0 8px 30px rgba(124,92,255,.4);
}
.fx-btn-primary:hover{ transform: translateY(-3px); box-shadow: 0 14px 36px rgba(124,92,255,.55); }
.fx-btn-ghost{
  background: var(--panel); color: var(--text); border:1px solid var(--border);
}
.fx-btn-ghost:hover{ background: var(--panel-strong); transform: translateY(-3px); }

.fx-hero-orb-card{
  position:relative; border-radius: var(--radius);
  background: var(--panel); border:1px solid var(--border);
  backdrop-filter: blur(18px);
  padding: 28px;
  transform-style: preserve-3d;
  box-shadow: var(--shadow-glow);
}
.fx-hero-orb-card .fx-mini-stat{ display:flex; justify-content:space-between; padding: 12px 0; border-bottom:1px dashed var(--border); }
.fx-hero-orb-card .fx-mini-stat:last-child{ border-bottom:none; }
.fx-hero-orb-card .fx-mini-stat b{ font-family:'Orbitron',sans-serif; color: var(--cyan); font-size:20px; }
.fx-hero-orb-card .fx-mini-stat span{ color: var(--muted); font-size:13px; }

.fx-hero-hint{
  position:absolute; top:130px; left:0; right:0; z-index:2; text-align:center;
  font-size:12.5px; color: var(--muted); letter-spacing:.02em;
  animation: fx-hint-pulse 3s ease-in-out infinite;
}
@keyframes fx-hint-pulse{ 0%,100%{ opacity:.55; } 50%{ opacity:1; } }
@media (max-width: 620px){ .fx-hero-hint{ display:none; } }
.fx-scroll-cue{
  position:absolute; bottom: 30px; left:50%; transform: translateX(-50%);
  z-index:2; display:flex; flex-direction:column; align-items:center; gap:8px;
  color: var(--muted); font-size:11px; letter-spacing:.15em; text-transform:uppercase;
  font-family:'Orbitron',sans-serif;
}
.fx-scroll-cue .fx-mouse{
  width: 24px; height: 38px; border:1.5px solid var(--border); border-radius: 14px; position:relative;
}
.fx-scroll-cue .fx-mouse::before{
  content:""; position:absolute; top:7px; left:50%; width:3px; height:8px; background: var(--cyan);
  border-radius:2px; transform: translateX(-50%);
  animation: fx-scroll-dot 1.6s infinite;
  box-shadow: 0 0 6px var(--cyan);
}
@keyframes fx-scroll-dot{ 0%{ opacity:1; transform: translate(-50%,0);} 70%{opacity:0; transform: translate(-50%,14px);} 100%{opacity:0;} }

/* ---------- Marquee ---------- */
.fx-marquee-wrap{
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  background: var(--bg-soft); padding: 22px 0; overflow:hidden; position:relative; z-index:2;
}
.fx-marquee{ display:flex; width:max-content; animation: fx-marquee 26s linear infinite; gap: 64px; }
.fx-marquee-wrap:hover .fx-marquee{ animation-play-state: paused; }
.fx-marquee-item{ display:flex; align-items:center; gap:10px; color: var(--muted); font-family:'Orbitron',sans-serif; font-size:13px; letter-spacing:.05em; white-space:nowrap; }
.fx-marquee-item img{ height: 22px; width:auto; filter: grayscale(1) brightness(1.8) opacity(.7); }
@keyframes fx-marquee{ from{ transform: translateX(0);} to{ transform: translateX(-50%);} }

/* ---------- Section shell ---------- */
.fx-section{ position:relative; padding: 110px 0; z-index:2; }
.fx-section-head{ max-width: 640px; margin-bottom: 56px; }
.fx-section-head h2{ font-size: clamp(28px,4vw,42px); margin: 16px 0; }
.fx-section-head p{ color: var(--muted); font-size:16px; line-height:1.7; }
.fx-section-head.fx-center{ margin-left:auto; margin-right:auto; text-align:center; }

.fx-reveal{ opacity:0; transform: translateY(36px); transition: opacity .8s var(--ease), transform .8s var(--ease); transition-delay: var(--d, 0s); }
.fx-reveal.in-view{ opacity:1; transform: translateY(0); }

/* ---------- Stats ---------- */
.fx-stats-grid{ display:grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.fx-stat-card{
  --rx:0deg; --ry:0deg;
  padding: 30px 24px; border-radius: var(--radius);
  background: var(--panel); border:1px solid var(--border);
  transform: perspective(800px) rotateX(var(--rx)) rotateY(var(--ry));
  transition: transform .15s ease-out, border-color .3s ease, background .3s ease;
  text-align:center;
}
.fx-stat-card:hover{ border-color: rgba(0,229,255,.4); background: var(--panel-strong); }
.fx-stat-card .fx-stat-num{ font-family:'Orbitron',sans-serif; font-size: 38px; font-weight:700; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.fx-stat-card .fx-stat-label{ color: var(--muted); font-size:13.5px; margin-top:8px; letter-spacing:.03em; }

/* ---------- Tilt cards (services / work) ---------- */
.fx-tilt{
  --rx:0deg; --ry:0deg; --mx:50%; --my:50%;
  position:relative; border-radius: var(--radius);
  background: var(--panel); border:1px solid var(--border);
  transform: perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateZ(0);
  transition: transform .12s ease-out, border-color .3s ease, box-shadow .3s ease;
  overflow:hidden;
}
.fx-tilt::before{
  content:""; position:absolute; inset:0; opacity:0; pointer-events:none;
  background: radial-gradient(320px circle at var(--mx) var(--my), rgba(255,255,255,.10), transparent 60%);
  transition: opacity .3s ease;
}
.fx-tilt:hover{ border-color: rgba(124,92,255,.5); box-shadow: 0 20px 50px rgba(0,0,0,.45); }
.fx-tilt:hover::before{ opacity:1; }

.fx-services-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.fx-service-card{ padding: 32px 28px; }
.fx-service-icon{
  width:54px; height:54px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  background: var(--grad-soft); border:1px solid rgba(0,229,255,.3); margin-bottom: 20px; font-size:22px; color: var(--cyan);
  transform: translateZ(30px);
}
.fx-service-card h3{ font-size:19px; margin-bottom:10px; transform: translateZ(20px); }
.fx-service-card p{ color: var(--muted); font-size:14.5px; line-height:1.65; margin-bottom:18px; transform: translateZ(20px); }
.fx-service-card .fx-link{
  display:inline-flex; align-items:center; gap:8px; color: var(--cyan); font-size:14px; font-weight:600;
  transform: translateZ(20px);
}
.fx-service-card .fx-link i{ transition: transform .25s ease; }
.fx-service-card:hover .fx-link i{ transform: translateX(4px); }

/* ---------- Expertise strip ---------- */
.fx-expertise-scroller{
  display:flex; gap:18px; overflow-x:auto; padding-bottom: 10px; scroll-snap-type:x proximity;
  scrollbar-width: thin; scrollbar-color: var(--violet) transparent;
}
.fx-expertise-scroller::-webkit-scrollbar{ height:6px; }
.fx-expertise-scroller::-webkit-scrollbar-thumb{ background: var(--violet); border-radius:6px; }
.fx-expertise-card{
  scroll-snap-align:start; min-width:230px; padding: 26px 22px; border-radius:16px;
  background: var(--panel); border:1px solid var(--border);
  transition: transform .3s var(--ease), border-color .3s ease, background .3s ease;
}
.fx-expertise-card:hover{ transform: translateY(-8px); border-color: rgba(255,92,184,.4); background: var(--panel-strong); }
.fx-expertise-card i{ font-size:24px; color: var(--pink); margin-bottom:14px; display:block; }
.fx-expertise-card h4{ font-size:15.5px; margin-bottom:6px; }
.fx-expertise-card span{ color: var(--muted); font-size:12.5px; }

/* ---------- Work grid ---------- */
.fx-work-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.fx-work-card{ position:relative; aspect-ratio: 4/3; }
.fx-work-card img{ width:100%; height:100%; object-fit:cover; transition: transform .5s var(--ease), filter .5s ease; }
.fx-work-card .fx-work-overlay{
  position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:22px;
  background: linear-gradient(to top, rgba(5,6,13,.92) 10%, transparent 65%);
}
.fx-work-card .fx-work-tag{ font-family:'Orbitron',sans-serif; font-size:10.5px; letter-spacing:.12em; color: var(--cyan); text-transform:uppercase; margin-bottom:6px; }
.fx-work-card h4{ font-size:18px; }
.fx-work-card:hover img{ transform: scale(1.08); filter: saturate(1.2); }

/* ---------- Why us ---------- */
.fx-why-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:22px; }
.fx-why-card{ padding:30px 26px; text-align:left; }
.fx-why-card i{ font-size:26px; color: var(--violet); margin-bottom:16px; display:block; }
.fx-why-card h4{ font-size:17px; margin-bottom:8px; }
.fx-why-card p{ color: var(--muted); font-size:14px; line-height:1.6; }

/* ---------- Testimonials ---------- */
.fx-testi-track-wrap{ overflow:hidden; }
.fx-testi-track{ display:flex; gap:22px; transition: transform .6s var(--ease); }
.fx-testi-card{ min-width: 100%; padding: 40px; text-align:center; }
.fx-testi-card p{ font-size: 18px; line-height:1.8; color:#dfe4f5; max-width: 640px; margin:0 auto 22px; }
.fx-testi-card .fx-testi-name{ font-family:'Space Grotesk',sans-serif; font-weight:600; color: var(--cyan); }
.fx-testi-dots{ display:flex; justify-content:center; gap:10px; margin-top: 26px; }
.fx-testi-dots button{ width:9px; height:9px; border-radius:50%; border:none; background: var(--border); cursor:pointer; transition: background .3s ease, transform .3s ease; }
.fx-testi-dots button.is-active{ background: var(--grad); transform: scale(1.3); }

/* ---------- CTA ---------- */
.fx-cta-panel{
  border-radius: 28px; padding: 70px 50px; text-align:center; position:relative; overflow:hidden;
  background: linear-gradient(135deg, rgba(124,92,255,.18), rgba(0,229,255,.10));
  border: 1px solid rgba(124,92,255,.35);
}
.fx-cta-panel h2{ font-size: clamp(26px,4vw,40px); margin-bottom:18px; }
.fx-cta-panel p{ color: var(--muted); max-width:560px; margin: 0 auto 30px; }

/* ---------- Contact ---------- */
.fx-contact-grid{ display:grid; grid-template-columns: .9fr 1.1fr; gap: 40px; }
.fx-contact-list li{ display:flex; align-items:flex-start; gap:16px; padding: 16px 0; border-bottom:1px solid var(--border); }
.fx-contact-list li:last-child{ border-bottom:none; }
.fx-contact-list .fx-ic{
  width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background: var(--grad-soft); border:1px solid rgba(0,229,255,.3); color: var(--cyan); flex-shrink:0;
}
.fx-contact-list .fx-label{ color: var(--muted); font-size:12.5px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:3px; }
.fx-contact-list .fx-value{ font-size:15px; }
.fx-contact-form{ padding: 34px; border-radius: var(--radius); background: var(--panel); border:1px solid var(--border); }
.fx-field{ margin-bottom:18px; }
.fx-field input, .fx-field textarea{
  width:100%; background: rgba(255,255,255,.03); border:1px solid var(--border); border-radius:12px;
  padding: 14px 16px; color: var(--text); font-size:14.5px; font-family:inherit;
  transition: border-color .3s ease, background .3s ease;
}
.fx-field input:focus, .fx-field textarea:focus{ outline:none; border-color: var(--cyan); background: rgba(0,229,255,.04); }
.fx-field input::placeholder, .fx-field textarea::placeholder{ color:#66708e; }

/* ---------- Footer ---------- */
.fx-footer{ padding: 70px 0 26px; border-top:1px solid var(--border); background: var(--bg-soft); position:relative; z-index:2; }
.fx-footer-grid{ display:grid; grid-template-columns: 1.3fr 1fr 1fr 1.1fr; gap: 32px; margin-bottom: 50px; }
.fx-footer h5{ font-size:14px; letter-spacing:.05em; text-transform:uppercase; color:#c3cae4; margin-bottom:18px; }
.fx-footer-menu li{ margin-bottom:11px; }
.fx-footer-menu a{ color: var(--muted); font-size:14px; transition: color .25s ease, padding-left .25s ease; }
.fx-footer-menu a:hover{ color: var(--cyan); padding-left:4px; }
.fx-footer p{ color: var(--muted); font-size:14px; line-height:1.7; }
.fx-social-row{ display:flex; gap:10px; margin-top:18px; }
.fx-social-row a{
  width:38px; height:38px; border-radius:10px; border:1px solid var(--border); display:flex; align-items:center; justify-content:center;
  color: var(--text); transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.fx-social-row a:hover{ background: var(--grad); color:#05060d; border-color:transparent; transform: translateY(-3px); }
.fx-footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:26px; border-top:1px solid var(--border); color: var(--muted); font-size:13px; flex-wrap:wrap; gap:12px; }
.fx-footer-bottom a{ color: var(--muted); }
.fx-footer-bottom a:hover{ color: var(--cyan); }

/* ---------- WhatsApp float ---------- */
.fx-whatsapp{
  position: fixed; width:58px; height:58px; bottom: 28px; right: 24px; z-index: 500;
  background: #25d366; color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:26px; box-shadow: 0 6px 24px rgba(37,211,102,.5);
  animation: fx-pulse 2.4s infinite;
}
@keyframes fx-pulse{ 0%{ box-shadow:0 0 0 0 rgba(37,211,102,.55);} 70%{ box-shadow:0 0 0 16px rgba(37,211,102,0);} 100%{ box-shadow:0 0 0 0 rgba(37,211,102,0);} }

/* ---------- Responsive ---------- */
@media (max-width: 992px){
  .fx-nav-links, .fx-nav .fx-nav-cta{ display:none; }
  .fx-burger{ display:flex; }
  .fx-hero-grid{ grid-template-columns: 1fr; }
  .fx-hero-visual{ margin-top: 36px; }
  .fx-stats-grid{ grid-template-columns: repeat(2,1fr); }
  .fx-services-grid, .fx-work-grid, .fx-why-grid{ grid-template-columns: repeat(2,1fr); }
  .fx-footer-grid{ grid-template-columns: 1fr 1fr; }
  .fx-contact-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 620px){
  .fx-section{ padding: 74px 0; }
  .fx-stats-grid, .fx-services-grid, .fx-work-grid, .fx-why-grid, .fx-footer-grid{ grid-template-columns: 1fr; }
  .fx-hero{ padding-top: 100px; }
  .fx-cta-panel{ padding: 46px 24px; }
  .fx-cursor, .fx-cursor-dot{ display:none; }
}
