:root {
  --bg:      #0a0510;
  --bg2:     #130a1f;
  --bg3:     #1d0f2e;
  --red:     #ff3366;
  --primary: #ff3366;
  --cyan:    #00f0ff;
  --muted:   #a99bbd;
  --border:  rgba(255,51,102,0.15);
  --ease:    cubic-bezier(0.23,1,0.32,1);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  background:var(--bg); color:#fff;
  font-family: 'Manrope','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; line-height:1.6;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
a { text-decoration:none; color:inherit; }
button { font-family:inherit; border:none; background:none; outline:none; }
ul { list-style:none; }

::-webkit-scrollbar { width:8px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:rgba(255,51,102,.3); border-radius:4px; }
::-webkit-scrollbar-thumb:hover { background:var(--red); }

* { cursor:none; }
.cursor-dot {
  position:fixed; top:0; left:0; width:6px; height:6px;
  background:var(--red); border-radius:50%; pointer-events:none;
  z-index:10000; box-shadow:0 0 10px var(--red);
  transition:width .2s,height .2s;
  will-change: transform;
}
.cursor-outline {
  position:fixed; top:0; left:0; width:40px; height:40px;
  border:1px solid rgba(255,51,102,.5); border-radius:50%;
  pointer-events:none; z-index:9999;
  transition:width .2s, height .2s, background-color .2s;
  will-change: transform;
}
@media(pointer:coarse){
  .cursor-dot,.cursor-outline{display:none;}
  *{cursor:auto;}
}

.noise {
  position:fixed; inset:0; pointer-events:none; z-index:9998; opacity:.04;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.skip-link {
  position:fixed; top:16px; left:50%; transform:translateX(-50%) translateY(-120px);
  background:var(--red); color:#fff; padding:10px 24px; border-radius:8px;
  font-weight:700; z-index:99999; transition:transform .3s var(--ease);
}
.skip-link:focus { transform:translateX(-50%) translateY(0); }
:focus-visible { outline:2px solid var(--red); outline-offset:4px; border-radius:4px; }
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}
  html{scroll-behavior:auto;}
}

.container { max-width:1400px; margin:0 auto; padding:0 40px; }
@media(max-width:768px){.container{padding:0 20px;}}
.section { padding:120px 0; position:relative; }
@media(max-width:768px){.section{padding:80px 0;}}

.reveal { opacity:0; transform:translateY(22px); transition:opacity .55s var(--ease),transform .55s var(--ease); }
.reveal.active { opacity:1; transform:translateY(0); }

#loader {
  position:fixed; inset:0; z-index:99998; background:var(--bg);
  display:flex; align-items:center; justify-content:center; flex-direction:column; gap:20px;
  transition:opacity .7s var(--ease),visibility .7s;
}
#loader.gone { opacity:0; visibility:hidden; pointer-events:none; }
.ld-logo {
  font-family: 'Manrope','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; font-weight:800; font-size:2rem;
  letter-spacing:.2em; text-transform:uppercase; color:var(--red);
  animation:ldpop .9s var(--ease) both;
}
@keyframes ldpop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
.ld-bar { width:120px; height:2px; background:rgba(255,255,255,.08); border-radius:2px; overflow:hidden; }
.ld-fill { height:100%; width:0; background:var(--red); box-shadow:0 0 12px var(--red); animation:ldfill 1s .1s var(--ease) forwards; }
@keyframes ldfill{to{width:100%}}

.toast {
  position:fixed; bottom:36px; left:50%;
  transform:translateX(-50%) translateY(80px);
  background:var(--bg3); border:1px solid rgba(40,200,64,.4);
  border-radius:12px; padding:14px 28px;
  display:flex; align-items:center; gap:12px;
  color:#fff; font-weight:600; font-size:.95rem;
  box-shadow:0 20px 60px rgba(0,0,0,.6);
  z-index:99990; opacity:0; pointer-events:none; white-space:nowrap;
  backdrop-filter:blur(20px);
  transition:transform .5s var(--ease),opacity .5s;
}
.toast.on { transform:translateX(-50%) translateY(0); opacity:1; }
.toast-dot { width:8px; height:8px; border-radius:50%; background:#28c840; box-shadow:0 0 10px #28c840; flex-shrink:0; }
@media(max-width:480px){.toast{white-space:normal;width:calc(100% - 32px);flex-direction:column;gap:8px;text-align:center;}}

.text-gradient {
  background:linear-gradient(135deg,#fff 20%,var(--red) 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}

.section-header { margin-bottom:70px; }
.section-title {
  font-size:clamp(2.5rem,5vw,3.8rem); line-height:1.1; font-weight:800;
  color:#fff; display:inline-flex; align-items:center;
}
.section-title::before {
  content:'//'; color:var(--red); font-family: 'Fira Code','JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.8em; margin-right:20px;
  text-shadow:0 0 20px rgba(255,51,102,.6); opacity:.9;
}
.title-line {
  display:block; width:70px; height:4px; background:var(--red); margin-top:25px;
  border-radius:2px; box-shadow:0 0 15px rgba(255,51,102,.5);
  transition:width .5s var(--ease),background .5s,box-shadow .5s;
}
.section-header:hover .title-line { width:180px; background:var(--cyan); box-shadow:0 0 15px rgba(0,240,255,.6); }
.section-header p {
  color:rgba(255,255,255,.95); margin-top:25px; font-size:1.2rem;
  font-weight:500; letter-spacing:.3px;
  border-left:3px solid var(--red); padding-left:20px;
  max-width:650px; line-height:1.6;
}

.glitch-hover:hover { animation:gskew .3s cubic-bezier(.25,.46,.45,.94) both infinite; color:var(--red); }
@keyframes gskew {
  0%{transform:skew(0deg)} 20%{transform:skew(-10deg)} 40%{transform:skew(10deg)}
  60%{transform:skew(-5deg)} 80%{transform:skew(5deg)} 100%{transform:skew(0deg)}
}

header {
  position:fixed; inset:0 0 auto 0; z-index:9900; height:80px;
  background:rgba(10,5,16,.85); backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
}
.nav-inner { display:flex; justify-content:space-between; align-items:center; height:100%; }
.logo { font-weight:800; font-size:1.5rem; letter-spacing:2px; text-transform:uppercase; transition:.3s; }
.logo span { color:var(--red); }
.nav-links { display:flex; gap:40px; }
.nav-links a {
  font-size:.85rem; font-weight:700; text-transform:uppercase;
  color:var(--muted); letter-spacing:1px; transition:.3s;
}
.nav-links a:hover,.nav-links a.active { color:var(--red); text-shadow: 0 0 10px rgba(255,51,102,0.5); }
.nav-cta {
  font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:1px;
  color:#fff; padding:10px 22px; border-radius:8px;
  border:1.5px solid rgba(255,51,102,.4);
  transition:background .3s,border-color .3s,box-shadow .3s,transform .3s var(--ease);
}
.nav-cta:hover { background:var(--red); border-color:var(--red); box-shadow:0 0 24px rgba(255,51,102,.4); transform:translateY(-1px); }
.burger {
  display:none; flex-direction:column; justify-content:center;
  gap:5px; padding:8px; width:40px; height:40px;
}
.burger span {
  display:block; height:1.5px; background:#fff; border-radius:1px;
  transition:transform .35s var(--ease),opacity .25s,width .3s;
}
.burger span:nth-child(3){width:65%;}
.burger:hover span:nth-child(3){width:100%;}
body.mopen .burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
body.mopen .burger span:nth-child(2){opacity:0;}
body.mopen .burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);width:100%;}
@media(max-width:768px){.nav-links{display:none;}.burger{display:flex;}.nav-cta{display:none;}}

.side-nav {
  position:fixed; right:40px; top:50%; transform:translateY(-50%);
  display:flex; flex-direction:column; gap:20px; z-index:9900;
}
.side-nav-item {
  display:flex; align-items:center; justify-content:flex-end;
  position:relative; width:30px; height:20px; text-decoration:none;
}
.side-nav-item span {
  display:block; width:8px; height:8px; background:var(--muted);
  border-radius:50%; transition:all .4s var(--ease);
}
.side-nav-item::before {
  content:attr(data-tooltip); position:absolute; right:25px; opacity:0;
  color:#fff; font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:1px;
  transition:all .4s var(--ease); pointer-events:none;
  transform:translateX(10px); white-space:nowrap;
}
.side-nav-item:hover::before,.side-nav-item.active::before { opacity:1; transform:translateX(0); }
.side-nav-item.active span { background:var(--red); transform:scale(1.6); box-shadow:0 0 15px var(--red); }
.side-nav-item:hover span { background:var(--red); transform:scale(1.4); box-shadow:0 0 10px rgba(255,51,102,.5); }
@media(max-width:768px){.side-nav{display:none;}}

.hero { height:100vh; display:flex; align-items:center; position:relative; overflow:hidden; }
.hero-content { position:relative; z-index:2; padding-top:60px; max-width:1000px; }
.hero h1 {
  font-size:clamp(2.8rem,5vw,6rem); line-height:1.1; font-weight:800;
  letter-spacing:-.03em; margin-bottom:30px; min-height:160px;
}
.cursor-type { border-right:4px solid var(--red); padding-right:5px; animation:blink .7s infinite; }
@keyframes blink{50%{border-color:transparent;}}
.hero p { font-size:1.3rem; color:var(--muted); max-width:650px; margin-bottom:50px; }
.btn-glow {
  display:inline-flex; align-items:center; justify-content:center;
  padding:20px 50px; background:#fff; color:#000;
  font-weight:700; text-transform:uppercase; letter-spacing:1px;
  border-radius:8px; transition:.4s var(--ease);
  box-shadow:0 0 30px rgba(255,51,102,.2); position:relative; overflow:hidden;
}
.btn-glow::before {
  content:''; position:absolute; top:0; left:-100%; width:50%; height:100%;
  background:linear-gradient(to right,transparent,rgba(255,255,255,.4),transparent);
  transform:skewX(-20deg); transition:.5s;
}
.btn-glow:hover::before { left:150%; }
.btn-glow:hover { transform:translateY(-3px); box-shadow:0 0 60px rgba(255,51,102,.6); background:var(--red); color:#fff; }
@keyframes fadein{from{opacity:0;transform:translateX(-50%) translateY(10px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}
@keyframes scrollanim{
  0%{transform:scaleY(0);transform-origin:top;}
  49%{transform:scaleY(1);transform-origin:top;}
  50%{transform:scaleY(1);transform-origin:bottom;}
  100%{transform:scaleY(0);transform-origin:bottom;}
}

.marquee-section {
  position:relative; padding:30px 0;
  background:var(--bg2);
  border-top:1px solid rgba(255,51,102,.1);
  border-bottom:1px solid rgba(0,240,255,.1);
  overflow:hidden; display:flex;
  will-change: transform;
}
.marquee-section::before {
  content:''; position:absolute; top:-1px; left:0; width:100%; height:2px; z-index:10;
  background:linear-gradient(90deg,transparent 0%,rgba(255,51,102,.1) 20%,var(--red) 48%,#fff 50%,var(--red) 52%,rgba(255,51,102,.1) 80%,transparent 100%);
  background-size:200% 100%; background-repeat:repeat-x;
  animation:beam-r 5s linear infinite;
  filter:drop-shadow(0 0 8px var(--red));
}
.marquee-section::after {
  content:''; position:absolute; bottom:-1px; left:0; width:100%; height:2px; z-index:10;
  background:linear-gradient(-90deg,transparent 0%,rgba(0,240,255,.1) 20%,var(--cyan) 48%,#fff 50%,var(--cyan) 52%,rgba(0,240,255,.1) 80%,transparent 100%);
  background-size:200% 100%; background-repeat:repeat-x;
  animation:beam-l 6s linear infinite;
  filter:drop-shadow(0 0 8px var(--cyan));
}
@keyframes beam-r{0%{background-position:0% 0}100%{background-position:-200% 0}}
@keyframes beam-l{0%{background-position:0% 0}100%{background-position:200% 0}}

.marquee-wrapper {
  display: flex;
  width: max-content;
  animation: scroll-track 50s linear infinite;
  will-change: transform;
}
.marquee-section:hover .marquee-wrapper {
  animation-play-state: paused;
}
@keyframes scroll-track {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.marquee-track { display: flex; flex-shrink: 0; }
.partner-logo {
  font-size:1.2rem; font-weight:800; text-transform:uppercase; white-space:nowrap;
  letter-spacing:3px; padding:0 45px;
  color:transparent; -webkit-text-stroke:1px rgba(255,51,102,.6);
  transition:all .4s cubic-bezier(.175,.885,.32,1.275);
  position:relative;
}
.partner-logo:nth-child(even) { -webkit-text-stroke:1px rgba(0,240,255,.6); }
.marquee-section:hover .partner-logo { opacity:.3; filter:blur(2px); }
.partner-logo:hover {
  opacity:1!important; filter:blur(0)!important; color:#fff; -webkit-text-stroke:1px transparent;
  text-shadow:0 0 15px var(--red),0 0 30px var(--red);
  transform:scale(1.15) translateY(-5px); letter-spacing:6px;
}
.partner-logo:nth-child(even):hover { text-shadow:0 0 15px var(--cyan),0 0 30px var(--cyan); }

.expertise-section {
  padding: 130px 0;
  position: relative;
  overflow: hidden;
}
.expertise-section::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(ellipse 60% 50% at 80% 50%, rgba(255,51,102,.06) 0%, transparent 70%);
  pointer-events: none;
}
.expertise-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
@media(max-width:1024px){
  .expertise-inner { grid-template-columns: 1fr; gap: 60px; }
}
.expertise-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'Fira Code','JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size: .8rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--red);
  margin-bottom: 30px;
}
.expertise-label::before {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--red);
  display: block;
}
.expertise-heading {
  font-size: clamp(2.8rem, 5vw, 4rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.03em;
  margin-bottom: 30px;
  color: #fff;
}
.expertise-desc {
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.75;
  margin-bottom: 20px;
  max-width: 520px;
}
.expertise-desc + .expertise-desc {
  margin-bottom: 0;
}

.stats-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.stat-card {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 36px 32px;
  position: relative;
  overflow: hidden;
  transition: border-color .4s, box-shadow .4s, transform .4s var(--ease);
}
.stat-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 19px;
  padding: 1px;
  background: linear-gradient(135deg, var(--red), var(--cyan));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.5s;
  z-index: 3;
}
.stat-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 20px;
  background: radial-gradient(ellipse 80% 70% at 50% 0%, rgba(255, 51, 102, 0.14) 0%, rgba(255, 51, 102, 0) 70%);
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
  z-index: 1;
}
.stat-card:hover {
  border-color: transparent;
  box-shadow: 0 20px 50px rgba(255,51,102,.2);
  transform: translateY(-4px);
}
.stat-card:hover::before, .stat-card:hover::after { opacity: 1; }

.stat-number {
  font-size: clamp(3rem, 5vw, 4.5rem);
  font-weight: 800;
  line-height: 1;
  color: #fff;
  letter-spacing: -.04em;
  display: flex;
  align-items: baseline;
  gap: 2px;
  margin-bottom: 12px;
  position: relative;
  z-index: 2;
  transition: color .3s, text-shadow .3s;
}
.stat-number .accent {
  color: var(--red);
  font-size: .75em;
  transition: color .3s;
}
.stat-label {
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2.5px;
  color: var(--muted);
  position: relative;
  z-index: 2;
  transition: color .3s;
}
.stat-number[data-target] .count-val {
  display: inline-block;
}

.services-list { display:flex; flex-direction:column; gap:24px; }
.service-card {
  background:var(--bg3); padding:50px; border-radius:20px;
  display:flex; justify-content:space-between; align-items:center; gap:40px;
  position:relative; border:1px solid var(--border); overflow:hidden;
  transition:box-shadow .5s var(--ease), border-color .5s, transform .4s var(--ease);
}
.service-card::after {
  content:''; position:absolute; left:0; top:0; width:4px; height:100%;
  background:linear-gradient(to bottom, var(--red), var(--cyan));
  opacity:0; transition:opacity .4s var(--ease);
  border-radius:4px 0 0 4px;
}
.service-card::before {
  content:''; position:absolute; inset:0; border-radius:20px;
  background:linear-gradient(135deg, rgba(255,51,102,.08) 0%, rgba(0,240,255,.05) 100%);
  opacity:0; transition:opacity .5s; pointer-events:none; z-index:0;
}
.service-card > * { position:relative; z-index:1; }
.service-card:hover {
  border-color:rgba(255,51,102,.5);
  box-shadow:0 24px 60px rgba(0,0,0,.6), 0 0 0 1px rgba(255,51,102,.2), inset 0 0 40px rgba(255,51,102,.03);
  transform:translateY(-3px);
}
.service-card:hover::before { opacity:1; }
.service-card:hover::after { opacity:1; }
.card-content { flex:1; }
.card-title h3 {
  font-size:2.2rem; margin-bottom:15px; color:#fff;
  transition:color .3s, text-shadow .3s;
}
.card-title p { color:var(--muted); transition:color .4s, text-shadow .3s; margin-bottom:20px; }
.card-label {
  position:absolute; top:24px; right:80px; z-index:2;
  font-family: 'Fira Code','JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.7rem; font-weight:600;
  text-transform:uppercase; letter-spacing:2.5px;
  color:transparent; transition:color .4s;
}
.service-card:hover .card-label { color:rgba(255,255,255,.55); }
.card-tags { display:flex; flex-wrap:wrap; gap:10px; }
.tag {
  padding:8px 16px; border:1px solid var(--border); border-radius:50px;
  font-size:.8rem; color:var(--muted); background:rgba(255,255,255,.04);
  transition:border-color .3s, color .3s, background .3s;
}
.service-card:hover .tag {
  border-color:rgba(255,51,102,.35);
  color:#e8e0f5;
  background:rgba(255,51,102,.07);
}
.service-btn {
  position:relative; z-index:50;
  width:auto; min-width:50px; height:50px; padding:0 15px;
  border-radius:25px; border:1px solid rgba(255,255,255,.15);
  display:flex; align-items:center; justify-content:center;
  transition:all .4s var(--ease); color:#fff; background:transparent; flex-shrink:0;
}
.service-btn span { max-width:0; overflow:hidden; opacity:0; transition:all .4s var(--ease); margin-right:0; white-space:nowrap; }
.service-btn svg { width:20px; height:20px; stroke:var(--muted); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:.4s; }
.service-card:hover .service-btn { min-width:150px; padding:0 22px; background:var(--red); border-color:var(--red); box-shadow:0 0 25px rgba(255,51,102,.5); }
.service-card:hover .service-btn span { max-width:260px; opacity:1; margin-right:10px; font-size:.85rem; font-weight:700; }
.service-card:hover .service-btn svg { stroke:#fff; transform:translateX(3px); }
@media(max-width:1024px){.service-card{flex-direction:column;align-items:flex-start;}.service-btn{align-self:flex-end;}}
@media(max-width:640px){.service-card{padding:30px 24px;}.card-title h3{font-size:1.6rem;}}

.auth-container {
  background: var(--bg2); border-radius: 30px; box-shadow: 0 15px 35px rgba(0,0,0,.6), inset 0 0 0 1px rgba(255,255,255,0.02); position: relative; overflow: hidden;
  width: 100%; max-width: 1000px; margin: 0 auto; min-height: 550px; border: 1px solid var(--border);
}
.form-container { position: absolute; top: 0; height: 100%; transition: all 0.6s ease-in-out; background: var(--bg2); }
.sign-in { left: 0; width: 50%; z-index: 2; display: flex; align-items: center; justify-content: center; padding: 40px 50px; opacity: 1; pointer-events: all;}
.sign-up { left: 0; width: 50%; z-index: 1; display: flex; align-items: center; justify-content: center; padding: 40px 50px; opacity: 0; pointer-events: none;}

.auth-container.form-active .sign-in { transform: translateX(100%); opacity: 0; pointer-events: none; }
.auth-container.form-active .sign-up { transform: translateX(100%); opacity: 1; z-index: 5; pointer-events: all; }

.toggle-container {
  position: absolute; top: 0; left: 50%; width: 50%; height: 100%; overflow: hidden; transition: all 0.6s ease-in-out;
  border-radius: 150px 0 0 100px; z-index: 1000;
}
.auth-container.form-active .toggle-container { transform: translateX(-100%); border-radius: 0 150px 100px 0; }
.toggle {
  background: linear-gradient(135deg, var(--bg3) 0%, #1a0b2e 100%); height: 100%; position: relative; left: -100%; width: 200%;
  transform: translateX(0); transition: all 0.6s ease-in-out; border-left: 1px solid rgba(255,51,102,.15); border-right: 1px solid rgba(255,51,102,.15);
}
.auth-container.form-active .toggle { transform: translateX(50%); }
.toggle-panel {
  position: absolute; width: 50%; height: 100%; display: flex; align-items: flex-start; justify-content: center;
  flex-direction: column; padding: 0 50px; text-align: left; top: 0; transform: translateX(0); transition: all 0.6s ease-in-out;
}
.toggle-left { transform: translateX(-200%); align-items: center; text-align: center; }
.auth-container.form-active .toggle-left { transform: translateX(0); }
.toggle-right { right: 0; transform: translateX(0); }
.auth-container.form-active .toggle-right { transform: translateX(200%); }

.radio-group { width: 100%; margin: 20px 0; }
.form-option {
  padding: 15px 20px; border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; cursor: pointer; transition: 0.3s;
  margin-bottom: 12px; background: var(--bg);
}
.form-option:hover { border-color: var(--red); background: rgba(255,51,102,0.05); }
.form-option.selected { background: rgba(255,51,102,0.1); border-color: var(--red); }
.form-option input[type="radio"] { display: none; }
.form-option label { font-size: 1rem; cursor: pointer; width: 100%; color: #fff; display: block; font-weight: 500;}

.auth-container button.main-btn {
  background: var(--red); color: #fff; border: none; padding: 14px 24px; border-radius: 10px; font-weight: 700; font-size: 1rem;
  cursor: pointer; transition: background 0.3s, transform 0.3s; width: 100%; margin-top: 15px; box-shadow: none; display: block; text-align: center;
}
.auth-container button.main-btn:hover {
  background: #ff4d79; transform: translateY(-2px); color: #fff; box-shadow: 0 8px 20px rgba(255,51,102,0.3);
}
.toggle-left button {
  width: auto; background: transparent; border: 1px solid rgba(255,255,255,0.2); color: #fff;
  padding: 10px 24px; border-radius: 8px; font-weight: 500; cursor: pointer; transition: 0.3s; font-size: 0.95rem;
}
.toggle-left button:hover { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.4); }

.auth-container input:not([type="radio"]), .auth-container textarea {
  background: var(--bg); border: 1px solid var(--border); margin: 8px 0; padding: 15px 20px; font-size: 1rem;
  border-radius: 12px; width: 100%; outline: none; color: #fff; font-family: inherit; transition: .3s;
}
.auth-container textarea { min-height: 120px; resize: vertical; }
.auth-container input:focus, .auth-container textarea:focus { border-color: var(--red); box-shadow: 0 0 10px rgba(255,51,102,.2); }
.auth-container form { width: 100%; display: flex; flex-direction: column; align-items: flex-start;}
.auth-container form h2 { text-align: left; margin-bottom: 20px; font-size: 3rem; line-height: 1.1; }
.auth-container form h3 { margin-bottom: 15px; color: #fff; font-size: 1.5rem; text-align: left; }
.auth-container form p { color: var(--muted); font-size: 1.1rem; line-height: 1.6; text-align: left; }

.ferr { font-size: .8rem; color: #ff5f57; margin-top: 2px; margin-bottom: 4px; display: none; }
.ferr.show { display: block; }
.auth-container input.inv, .auth-container textarea.inv { border-color: #ff5f57; }

@media(max-width:768px){
  .auth-container { display: flex; flex-direction: column; min-height: auto; border-radius: 20px; }
  .form-container, .toggle-container { position: relative; width: 100%; height: auto; transform: none!important; }
  .sign-in, .sign-up { width: 100%; padding: 40px 20px; }
  .toggle-container { border-radius: 0; border-top: 1px solid var(--border); }
  .toggle { width: 100%; left: 0; transform: none!important; }
  .toggle-panel { position: relative; width: 100%; transform: none!important; padding: 40px 20px; }
  .toggle-left { display: none; }
  .toggle-right { display: flex; }
  .auth-container.form-active .sign-in, .auth-container.form-active .toggle-container { display: none; }
  .sign-up { display: none; opacity: 1; z-index: 1; transform: none!important; animation: none; visibility: visible!important; pointer-events: all!important; }
  .auth-container.form-active .sign-up { display: flex; }

            .form-container, .toggle-container { top: auto; left: auto; right: auto; }
            .toggle-container { overflow: visible; transition: none; }
            .toggle-right { right: auto; }
        }

.timeline { position:relative; max-width:900px; margin:0 auto; padding-top:20px; }
.timeline::before { content:''; position:absolute; left:20px; top:0; bottom:0; width:2px; background:rgba(255,51,102,.2); }
.timeline-item { position:relative; padding-left:60px; margin-bottom:50px; }
.timeline-item:last-child { margin-bottom:0; }
.timeline-dot {
  position:absolute; left:11px; top:5px; width:20px; height:20px; border-radius:50%; background:var(--bg); border:4px solid var(--red);
  box-shadow:0 0 15px rgba(255,51,102,.5); transition:background .3s,box-shadow .3s;
}
.timeline-item:hover .timeline-dot { background:var(--red); box-shadow:0 0 24px var(--red); }
.timeline-date { color:var(--red); font-family: 'Fira Code','JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-weight:800; margin-bottom:5px; font-size:1.1rem; }
.timeline-content {
  background:var(--bg3); border:1px solid var(--border); padding:30px; border-radius:16px; transition:.3s; position:relative;
}
.timeline-content:hover { border-color:var(--red); transform:translateX(10px); box-shadow:0 10px 30px rgba(0,0,0,.5); }
.timeline-content h3 { font-size:1.5rem; margin-bottom:10px; color:#fff; }
.timeline-content p { color:var(--muted); font-size:.95rem; }
@media(max-width:768px){
  .timeline::before{left:10px;} .timeline-item{padding-left:40px;} .timeline-dot{left:1px;}
}

.cases-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:60px; align-items: flex-start; }
@media(max-width:1024px){.cases-grid{grid-template-columns:1fr;}}
.case-card {
  background:var(--bg3); border-radius:24px; padding:30px; border:1px solid var(--border); overflow:hidden;
  transition:box-shadow .5s var(--ease), border-color .5s, transform .4s var(--ease); position:relative; z-index:0; display:flex; flex-direction:column;
}
.case-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg, var(--red), var(--cyan));
  transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease); z-index:2;
}
.case-card::after {
  content:''; position:absolute; inset:0; border-radius:24px;
  background: radial-gradient(ellipse 80% 80% at 50% 50%, rgba(10, 5, 16, 0.4) 0%, rgba(10, 5, 16, 0.85) 100%) !important;
  opacity:0; transition:opacity .5s; pointer-events:none; z-index:1;
}
.case-card > * { position:relative; z-index:2; }
.case-card:hover { border-color:rgba(255,51,102,.45); box-shadow:0 20px 50px rgba(0,0,0,.7), 0 0 0 1px rgba(255,51,102,.15); transform:translateY(-6px); }
.case-card:hover::before { transform:scaleX(1); }
.case-card:hover::after { opacity:1; }
.case-image {
  width:100%; height:200px; background:linear-gradient(135deg,rgba(255,255,255,.03) 0%,rgba(255,51,102,.04) 100%);
  border-radius:16px; margin-bottom:25px; border:1px solid rgba(255,255,255,.07); display:flex; align-items:center; justify-content:center; transition:background .4s, border-color .4s;
}
.case-image svg { stroke:rgba(255,255,255,.25); width:60px; height:60px; transition:.4s; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.case-card:hover .case-image { border-color:rgba(255,51,102,.3); background:rgba(255,51,102,.06); }
.case-card:hover .case-image svg { stroke:var(--red); filter:drop-shadow(0 0 12px rgba(255,51,102,.7)); transform:scale(1.08); }
.case-category { color:var(--muted); text-transform:uppercase; font-size:.75rem; letter-spacing:1.5px; margin-bottom:15px; transition:color .35s, text-shadow .3s; font-family: 'Fira Code','JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; position: relative; z-index: 2; }
.case-title { font-size:1.5rem; font-weight:700; margin-bottom:15px; line-height:1.2; color:#fff; transition:color .3s, text-shadow .3s; }
.case-description { color:var(--muted); margin-bottom:25px; font-size:.95rem; flex-grow:1; transition:color .4s, text-shadow .3s; }
.case-details { max-height:0; opacity:0; overflow:hidden; transition:all .5s var(--ease); }
.case-card.open .case-details { max-height:400px; opacity:1; margin-bottom:25px; margin-top:10px; }
.case-list { border-top:1px solid rgba(255,51,102,.2); padding-top:15px; }
.case-list li { color:rgba(255,255,255,.85); font-size:.9rem; margin-bottom:10px; display:flex; align-items:flex-start; gap:10px; line-height:1.4; transition: color .3s, text-shadow .3s;}
.case-list li::before { content:'▹'; color:var(--red); font-weight:800; font-size:1.1rem; line-height:1; }

button.case-link {
  position:relative; z-index:50; display:inline-flex; align-items:center; gap:8px; font-weight:600; color:var(--muted); transition:color .3s, text-shadow .3s; padding-bottom:5px;
  white-space:nowrap; width:max-content; background:transparent; outline:none; font-family:inherit; font-size:1rem; margin-top:auto; cursor: pointer;
}
button.case-link::after { content:''; position:absolute; bottom:0; left:0; width:0%; height:2px; background:var(--red); transition:.4s var(--ease); }
button.case-link svg { width:20px; height:20px; stroke:var(--muted); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:.4s; }
.case-card:hover button.case-link { color:#fff; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); }
.case-card:hover button.case-link::after { width:100%; }
.case-card:hover button.case-link svg { stroke:var(--red); transform:translateX(5px); }
.case-card.open button.case-link svg { transform:rotate(-90deg) translateX(-5px) ; stroke:var(--red); }
.case-card.open button.case-link::after { width:100%; }

.stat-card:hover .stat-number, .stat-card:hover .stat-label,
.case-card:hover .case-title, .case-card:hover .case-description,
.case-card:hover .case-list li, .case-card:hover .case-category, .case-card:hover button.case-link,
.service-card:hover .card-title h3, .service-card:hover .card-title p {
  color: #ffffff !important; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4), 0 0 10px rgba(0, 0, 0, 0.2); position: relative; z-index: 2;
}

.mini-form {
  background: var(--bg3); border: 1px solid var(--border); border-radius: 30px; padding: 60px; text-align: center;
  max-width: 800px; margin: 0 auto; box-shadow: 0 10px 30px rgba(0,0,0,0.5); transition: .4s;
}
.mini-form:hover { border-color: var(--red); box-shadow: 0 20px 50px rgba(0, 0, 0, .6), inset 0 0 20px rgba(255, 51, 102, .05); transform: translateY(-5px); }
.mini-form h3 { font-size: 2.5rem; margin-bottom: 15px; color: #fff; }
.mini-form p { color: var(--muted); margin-bottom: 40px; font-size: 1.1rem; }
.mini-form .form-row { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; }
.mini-form input {
  background: var(--bg); border: 1px solid var(--border); border-radius: 12px; padding: 15px 20px; font-size: 1rem;
  color: #fff; min-width: 250px; flex: 1 1 250px; outline: none; transition: .3s; font-family: inherit;
}
.mini-form input:focus { border-color: var(--red); box-shadow: 0 0 10px rgba(255,51,102,.2); }
.mini-form button {
  background: var(--red); color: #fff; border: none; border-radius: 12px; padding: 15px 40px; font-weight: 800;
  text-transform: uppercase; cursor: pointer; transition: .3s; flex: 0 0 auto;
}
.mini-form button:hover { background: #fff; color: #000; box-shadow: 0 0 20px var(--red); transform: translateY(-2px); }

.faq-section { max-width: 900px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-item summary {
  padding: 30px 0; cursor: pointer; font-size: 1.3rem; font-weight: 600; display: flex; justify-content: space-between;
  align-items: center; list-style: none; color: #fff; transition: color .3s; outline: none;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: '+'; font-size: 2rem; color: var(--muted); transition: transform 0.3s, color 0.3s; font-weight: 400;}
.faq-item[open] summary::after { content: '−'; color: var(--red); transform: rotate(180deg); }
.faq-item[open] summary { color: var(--red); }
.faq-item summary:hover { color: var(--red); }
.faq-content { padding-bottom: 30px; color: var(--muted); font-size: 1rem; line-height: 1.6; animation: fadeIn 0.5s ease; max-width: 800px;}
@keyframes fadeIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }

footer { padding:80px 0 40px; border-top:1px solid var(--border); background:var(--bg); }
.social-links { display:flex; gap:15px; margin-top:20px; }
.social-btn {
  width:45px; height:45px; border-radius:50%; background:var(--bg3); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center; color:var(--muted); transition:.3s;
}
.social-btn:hover { border-color:var(--red); color:var(--red); transform:translateY(-3px); box-shadow:0 5px 15px rgba(255,51,102,.2); }
.social-btn svg { width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

@media(max-width:600px){
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .stat-card { padding: 24px 18px; }
  .stat-number { font-size: 2.6rem; }
}

.lang-switcher {
    display: flex;
    align-items: center;
    gap: 2px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 20px;
    padding: 3px;
    margin-left: 16px;
    flex-shrink: 0;
}
.lang-switcher a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 28px;
    border-radius: 16px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-decoration: none;
    transition: all .2s ease;
    color: var(--text-muted, #888);
}
.lang-switcher a.active {
    background: var(--red, #ff3366);
    color: #fff;
    box-shadow: 0 2px 10px rgba(255, 51, 102, .35);
}
.lang-switcher a:not(.active):hover {
    color: #fff;
    background: rgba(255,255,255,0.08);
}

@media (pointer: coarse) {
    #cursorDot, #cursorOutline { display: none !important; }
    * { cursor: auto !important; }
}

html { -webkit-text-size-adjust: 100%; }
img, video, iframe, canvas { max-width: 100%; }
input, textarea, select, button { font-size: 16px !important; }

.lang-switcher { margin-left: 10px; flex-shrink: 0; }

@media (max-width: 1024px) {
    .side-nav { display: none !important; }
    .trust-grid { grid-template-columns: 1fr; gap: 40px; }
    .stats-compact { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .service-card { grid-template-columns: 1fr; gap: 20px; padding: 30px; }
    .service-btn { align-self: flex-start; margin-left: 0; margin-top: 10px; }
    .cases-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
    .testimonials-grid { grid-template-columns: 1fr; }
    .guarantees-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
    .cb-image-wrap { height: 340px; }
    .roadmap-grid { grid-template-columns: 1fr 1fr; }
    footer .container > div { gap: 30px; }
}

@media (max-width: 768px) {
    .nav-links { display: none !important; }
    .nav-cta  { display: none !important; }
    .burger   { display: flex !important; }

    .lang-switcher { margin-left: 8px; }
    .lang-switcher a { width: 30px; height: 24px; font-size: 0.68rem; }

    .container { padding: 0 16px; }
    .section   { padding: 60px 0; }

    .hero { height: auto; min-height: 100svh; padding: 100px 0 60px; align-items: flex-start; }
    .hero h1 { font-size: clamp(2.2rem, 9vw, 3.5rem); min-height: auto !important; margin-bottom: 20px; }
    .hero p  { font-size: 1rem; margin-bottom: 30px; }
    .hero-stats { gap: 24px !important; }
    .hero-stats span[data-target] { font-size: 2rem !important; }

    .section-title { font-size: clamp(1.8rem, 7vw, 2.8rem); }
    .section-title::before { display: none; }

    .trust-grid,
    .cases-grid,
    .testimonials-grid,
    .guarantees-grid,
    .awards-grid,
    .roadmap-grid { grid-template-columns: 1fr !important; gap: 20px; }

    .stats-compact { grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 40px; padding-top: 30px; }
    .stat-item h3, .stat-num { font-size: 2.2rem !important; }

    .service-card { padding: 24px 20px; grid-template-columns: 1fr !important; gap: 16px; }
    .card-title h3 { font-size: 1.4rem; }
    .service-btn { min-width: 48px; padding: 0 12px; }

    .case-card { padding: 24px; }
    .case-title { font-size: 1.2rem; }
    .case-metrics { flex-wrap: wrap; gap: 6px; font-size: 0.8rem; }

    .cb-image-wrap { height: 220px; }
    .cb-info .title { font-size: 1rem; }
    .cb-metrics { grid-template-columns: repeat(3,1fr); gap: 8px; }
    .cb-metric-val { font-size: 1rem; }
    .cb-metric-label { font-size: 0.65rem; }

    .filter-wrap { gap: 8px; }
    .filter-btn { padding: 8px 14px; font-size: 0.75rem; }

    .mini-form { padding: 40px 20px; border-radius: 20px; }
    .mini-form h3 { font-size: clamp(1.6rem, 6vw, 2.2rem); }
    .mini-form p  { font-size: 0.95rem; margin-bottom: 24px; }
    .form-row { flex-direction: column; gap: 12px; }
    .form-row input  { min-width: unset; width: 100%; flex: 1 1 100%; }
    .form-row button { width: 100%; flex: 1 1 100%; padding: 16px; }

    .testimonial-text { font-size: 1rem; margin-bottom: 20px; }

    footer .container > div { flex-direction: column; gap: 32px; }
    footer .container > div > div { max-width: 100% !important; }
    footer h4 { margin-bottom: 16px !important; font-size: 1rem !important; }
    footer ul { line-height: 2 !important; }
    footer .social-links { gap: 10px; }

    .pdf-modal-content { width: 100% !important; height: 100vh !important; border-radius: 0 !important; border: none !important; margin: 0; }
    .pdf-modal-title { padding: 14px 16px !important; }
    .pdf-modal-title span { font-size: 0.95rem !important; }
    #pdfDownloadBtn span { display: none; }

    .hero-scroll { display: none; }

    .award-item { padding: 24px 20px; }
    .awards-grid { grid-template-columns: 1fr 1fr; }

    .trust-visual img { max-height: 280px; object-fit: cover; }

    .marquee-track { animation-duration: 25s !important; }
}

@media (max-width: 480px) {
    .hero h1 { font-size: clamp(1.9rem, 8vw, 2.8rem); }
    .stats-compact { grid-template-columns: 1fr 1fr; gap: 10px; }
    .stat-item h3, .stat-num { font-size: 1.8rem !important; }
    .cb-image-wrap { height: 180px; }
    .cb-metrics { grid-template-columns: 1fr 1fr 1fr; }
    .cases-grid { gap: 14px; }
    .guarantees-grid { grid-template-columns: 1fr !important; }
    .awards-grid { grid-template-columns: 1fr; }
    .roadmap-grid { grid-template-columns: 1fr !important; }
    .filter-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .filter-btn.active { grid-column: 1 / -1; }
    .section-title { font-size: clamp(1.6rem, 6.5vw, 2.2rem); }
    footer .container > div > div:nth-child(2):not(.sl-legal-req),
    footer .container > div > div:nth-child(3) { display: flex; gap: 40px; flex-wrap: wrap; }
    .lang-switcher a { width: 28px; height: 22px; font-size: 0.65rem; }
}

@media (max-width: 360px) {
    .container { padding: 0 12px; }
    .hero h1 { font-size: 1.8rem; }
    .btn-glow { padding: 12px 24px !important; font-size: 0.8rem !important; }
    .nav-inner { padding: 0 12px; }
    .logo { font-size: 1.2rem !important; }
}

#mmenu {
    position: fixed;
    top: 0; right: 0; bottom: 0; left: 0;
    z-index: 9950;
    background: rgba(3, 3, 4, 0.97);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    display: flex;
    flex-direction: column;
    padding: 0;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity .35s cubic-bezier(.4,0,.2,1), visibility .35s;
    overflow: hidden;
}
#mmenu::before {
    content: '';
    position: absolute;
    top: -30%;
    right: -20%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(var(--primary-rgb, 181,123,255),.08) 0%, transparent 70%);
    pointer-events: none;
    animation: mmenuGlow 6s ease-in-out infinite alternate;
}
@keyframes mmenuGlow {
    from { transform: translate(0,0) scale(1); }
    to   { transform: translate(-40px, 40px) scale(1.2); }
}
#mmenu.open {
    opacity: 1;
    pointer-events: all;
    visibility: visible;
}
.mmenu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    height: 70px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    flex-shrink: 0;
}
.mmenu-header .logo { font-size: 1.4rem; }
.mmenu-header-right {
    display: flex;
    align-items: center;
    gap: 12px;
}
.mmenu-close {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    cursor: pointer;
    transition: background .2s, border-color .2s, transform .2s;
    flex-shrink: 0;
}
.mmenu-close:hover {
    background: rgba(255,255,255,0.1);
    border-color: var(--primary, var(--cyan, var(--blue, #00f0ff)));
    transform: rotate(90deg);
}
.mmenu-nav {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px 40px;
    gap: 4px;
}
.mmenu-nav a {
    font-size: clamp(2rem, 7vw, 3rem);
    font-weight: 800;
    color: rgba(255,255,255,0.25);
    text-decoration: none;
    letter-spacing: -0.02em;
    line-height: 1.25;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,0.04);
    display: flex;
    align-items: center;
    gap: 16px;
    transition: color .25s, transform .3s cubic-bezier(.4,0,.2,1), letter-spacing .3s;
    transform: translateX(-30px);
    opacity: 0;
    position: relative;
    overflow: hidden;
}
.mmenu-nav a::before {
    content: '//';
    font-family: 'Fira Code','JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size: 0.45em;
    color: var(--primary, var(--cyan, var(--blue, #00f0ff)));
    opacity: 0;
    transform: translateX(-10px);
    transition: opacity .25s, transform .25s;
    flex-shrink: 0;
    margin-top: 3px;
}
.mmenu-nav a:hover::before,
.mmenu-nav a.active::before { opacity: 1; transform: translateX(0); }
.mmenu-nav a:hover,
.mmenu-nav a.active { color: #fff !important; transform: translateX(8px) !important; letter-spacing: 0; }
.mmenu-nav a:last-child { border-bottom: none; }
#mmenu.open .mmenu-nav a {
    opacity: 1;
    transform: translateX(0);
}
#mmenu.open .mmenu-nav a:nth-child(1) { transition-delay: .05s; }
#mmenu.open .mmenu-nav a:nth-child(2) { transition-delay: .10s; }
#mmenu.open .mmenu-nav a:nth-child(3) { transition-delay: .15s; }
#mmenu.open .mmenu-nav a:nth-child(4) { transition-delay: .20s; }
#mmenu.open .mmenu-nav a:nth-child(5) { transition-delay: .25s; }
.mmenu-cta {
    margin: 0 40px 24px;
    text-align: center;
    display: block;
    padding: 16px 32px !important;
    font-size: 0.85rem !important;
    border-radius: 12px;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .3s .3s, transform .3s .3s, background .25s, box-shadow .25s !important;
    text-decoration: none;
}
#mmenu.open .mmenu-cta {
    opacity: 1;
    transform: translateY(0);
}
.mmenu-footer {
    text-align: center;
    font-size: 0.7rem;
    color: rgba(255,255,255,0.15);
    padding: 0 24px 20px;
    font-family: 'Fira Code','JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    opacity: 0;
    transition: opacity .3s .35s;
}
#mmenu.open .mmenu-footer { opacity: 1; }
@media (min-width: 769px) { #mmenu { display: none !important; } }

        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after {
                animation-duration: .01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: .01ms !important;
                scroll-behavior: auto !important;
            }
            .reveal { opacity: 1 !important; transform: none !important; }
            .marquee-track { animation: none !important; }
        }

        a:focus-visible, button:focus-visible,
        input:focus-visible, textarea:focus-visible, select:focus-visible {
            outline: 2px solid var(--primary, #00f0ff);
            outline-offset: 3px;
            border-radius: 4px;
        }

        .sfab { position: fixed; right: 22px; bottom: 22px; z-index: 900; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
        .sfab-list { display: flex; flex-direction: column; gap: 10px; align-items: stretch;
            opacity: 0; transform: translateY(10px) scale(.96); pointer-events: none;
            transition: opacity .3s var(--ease), transform .3s var(--ease); }
        .sfab.open .sfab-list { opacity: 1; transform: none; pointer-events: auto; }
        .sfab-item { display: flex; align-items: center; gap: 12px; padding: 12px 16px;
            border-radius: 14px; border: 1px solid var(--border);
            background: rgba(10,10,14,.92); backdrop-filter: blur(14px);
            text-decoration: none; transition: .3s var(--ease);
            width: 260px; max-width: calc(100vw - 44px); box-sizing: border-box; }
        .sfab-item:hover { border-color: var(--primary, var(--cyan, #00f0ff)); transform: translateX(-3px); }
        .sfab-item svg { width: 20px; height: 20px; flex-shrink: 0; color: var(--primary, var(--cyan, #00f0ff)); }
        .sfab-tx { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
        .sfab-tx b { font-size: .9rem; font-weight: 700; color: #fff; }
        .sfab-tx span { font-size: .74rem; color: var(--text-muted, var(--muted, #8b9bb4)); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .sfab-btn { width: 58px; height: 58px; border-radius: 50%; border: none; cursor: pointer;
            background: var(--primary, var(--cyan, #00f0ff)); color: #05070a; display: grid; place-items: center;
            box-shadow: 0 10px 34px rgba(0,0,0,.5); transition: .3s var(--ease); }
        .sfab-btn:hover { transform: scale(1.06); }
        .sfab-btn svg { width: 26px; height: 26px; }
        .sfab-btn .x { display: none; }
        .sfab.open .sfab-btn .x { display: block; }
        .sfab.open .sfab-btn .c { display: none; }
        @media(max-width: 600px) { .sfab { right: 14px; bottom: 14px; } .sfab-btn { width: 52px; height: 52px; } }

        #miniForm { display: contents; }

        .foot-links { display: flex; flex-direction: column; gap: 8px; margin-top: 22px; }
        .foot-links a { color: var(--text-muted, #8b9bb4); font-size: .92rem; transition: color .3s; }
        .foot-links a:hover { color: var(--primary, #00f0ff); }

        body { -webkit-user-select: none; -ms-user-select: none; user-select: none; }
        input, textarea, select, [contenteditable="true"] {
            -webkit-user-select: text; -ms-user-select: text; user-select: text;
        }

        :root { --sp-block: 120px; --sp-strip: 28px; }
        .section,
        .trust-anchor,
        .expertise-section,
        .testimonials { padding-top: var(--sp-block); padding-bottom: var(--sp-block); }
        .marquee-section { padding: var(--sp-strip) 0; }
        section[style*="padding-top: 0"] { padding-top: var(--sp-block) !important; }

        html, body { max-width: 100%; overflow-x: hidden; }
        img, svg, video, canvas { max-width: 100%; }

        @media (max-width: 1024px) {
            :root { --sp-block: 84px; --sp-strip: 22px; }
            .container { padding-left: 24px; padding-right: 24px; }
        }
        @media (max-width: 768px) {
            :root { --sp-block: 64px; --sp-strip: 18px; }
            .container { padding-left: 18px; padding-right: 18px; }
            .hero { min-height: auto; padding: 96px 0 64px; }
            .hero h1 { font-size: clamp(2.1rem, 8.5vw, 3.2rem); line-height: 1.12; min-height: 0; }
            .hero p, .hero-content p { font-size: 1rem; }
            .section-title { font-size: clamp(1.7rem, 6.4vw, 2.4rem); }
            .cases-grid, .services-grid, .services-grid-detailed,
            .testimonials-grid, .price-grid, .stats-grid,
            .goal-grid, .other-cases, .case-metrics { grid-template-columns: 1fr !important; }
            .case-gallery { grid-template-columns: 1fr !important; }
            .btn-glow, .nav-cta { width: 100%; text-align: center; }
            .hero .btn-glow { width: auto; }
            table { display: block; overflow-x: auto; }
        }
        @media (max-width: 600px) {
            :root { --sp-block: 52px; }
            .case-card, .service-card, .service-card-detailed,
            .price-card, .stat-card, .testimonial-card { padding: 24px 20px; }
            .sfab { right: 14px; bottom: 14px; }
            .sfab-item { width: min(260px, calc(100vw - 40px)); }
        }
        @media (max-width: 380px) {
            :root { --sp-block: 44px; }
            .container { padding-left: 14px; padding-right: 14px; }
        }

        @media (hover: none) {
            .case-card:hover, .service-card:hover, .price-card:hover,
            .stat-card:hover, .metric-cell:hover, .gallery-item:hover {
                transform: none; box-shadow: none;
            }
        }
