:root{
  --bg:#0a0610;
  --ink:#120a1c;
  --char:#1a1228;
  --steel:#2a1f3d;
  --purple:#a335f5;
  --purple-hot:#c455ff;
  --purple-soft:#d18dff;
  --amber:#f7c948;
  --text:#e8e0f2;
  --muted:#7a6d8e;
  --line:rgba(163, 53, 245, 0.15);
  --danger:#ff3b5c;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Barlow Condensed',sans-serif;
  font-weight:400;
  overflow-x:hidden;
  line-height:1.4;
}

/* Skip Link */
.skip-link {
  position: absolute; top: -40px; left: 0;
  background: var(--purple); color: #fff;
  padding: 10px 20px; z-index: 10000;
  text-decoration: none; font-weight: 600;
  transition: top .3s;
}
.skip-link:focus { top: 0; }

/* Focus Visible */
*:focus-visible {
  outline: 2px solid var(--purple);
  outline-offset: 3px;
}
button:focus-visible, a:focus-visible {
  outline: 2px solid var(--purple-soft);
  outline-offset: 2px;
}

/* Grain overlay */
.grain{
  position:fixed;inset:-50%;
  pointer-events:none;z-index:9999;
  opacity:.1;
  background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  mix-blend-mode:overlay;
  will-change:transform;
}

/* Background texture */
.bg-tex{
  position:fixed;inset:0;z-index:-1;
  background:
    radial-gradient(ellipse at 20% 0%, rgba(163, 53, 245, 0.08), transparent 50%),
    radial-gradient(ellipse at 80% 100%, rgba(20, 10, 40, 0.6), transparent 50%),
    linear-gradient(180deg, var(--bg) 0%, #0d0815 100%);
}
.bg-tex::after{
  content:"";position:absolute;inset:0;
  background-image:repeating-linear-gradient(0deg, transparent 0, transparent 2px, rgba(255,255,255,0.015) 2px, rgba(255,255,255,0.015) 3px);
  mix-blend-mode:overlay;
}

/* Scroll Progress */
.scroll-progress {
  position: fixed; top: 0; left: 0;
  height: 2px; width: 0;
  background: linear-gradient(90deg, var(--purple), var(--purple-soft));
  z-index: 101;
  transition: width .1s ease;
}

/* Navigation */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:18px 40px;
  display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(180deg, rgba(10,6,16,0.95), rgba(10,6,16,0));
  backdrop-filter:blur(8px);
  transition:padding .4s ease, background .4s ease, border-color .4s ease;
  border-bottom:1px solid transparent;
}
nav.scrolled{
  padding:12px 40px;
  background:rgba(10,6,16,0.92);
  border-bottom:1px solid var(--line);
}
.logo{
  font-family:'Anton',sans-serif;
  font-size:28px;letter-spacing:3px;
  color:var(--text);
  display:flex;align-items:baseline;gap:6px;
}
.nav-links{display:flex;gap:36px;list-style:none}
.nav-links a{
  color:var(--purple-soft);text-decoration:none;
  font-size:14px;font-weight:500;
  letter-spacing:2px;text-transform:uppercase;
  position:relative;transition:color .3s;
}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:-6px;
  width:0;height:1px;background:var(--purple);
  transition:width .3s;
}
.nav-links a:hover{color:var(--text)}
.nav-links a:hover::after{width:100%}
.nav-cta{
  padding:9px 20px;border:1px solid var(--purple);
  color:var(--text);text-decoration:none;
  font-size:13px;letter-spacing:2px;text-transform:uppercase;
  font-weight:600;
  transition:all .3s;
  background:rgba(163, 53, 245, 0.05);
}
.nav-cta:hover{background:var(--purple);color:#fff;box-shadow:0 0 20px rgba(163, 53, 245, 0.4)}

/* Mobile Menu Toggle */
.menu-toggle { display: none; background: none; border: none; cursor: pointer; z-index: 101; }
.menu-toggle span {
  display: block; width: 24px; height: 2px;
  background: var(--text); margin: 5px 0; transition: .3s;
}

/* Hero Section */
.hero{
  position:relative;height:100vh;min-height:780px;
  overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 40px 60px;
}
.hero-reel{
  position:absolute;inset:0;z-index:0;
  overflow:hidden;
}
.hero-reel .slide{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  filter:grayscale(0.9) contrast(1.2) brightness(0.45) hue-rotate(250deg);
  opacity:0;
  transition:opacity 1.8s ease;
  transform:scale(1.05);
}
.hero-reel .slide.active{
  opacity:1;
  animation:kenburns 8s ease-in-out forwards;
}
@keyframes kenburns{
  0%{transform:scale(1.08) translate(0,0)}
  100%{transform:scale(1.18) translate(-2%, -2%)}
}
.hero-reel::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(10,6,16,0.5) 0%, rgba(10,6,16,0.2) 40%, rgba(10,6,16,0.95) 100%),
    repeating-linear-gradient(0deg, rgba(0,0,0,0.1) 0px, rgba(0,0,0,0.1) 1px, transparent 1px, transparent 3px);
}

.reel-controls{
  position:absolute;top:120px;right:40px;z-index:5;
  display:flex;flex-direction:column;align-items:flex-end;gap:14px;
}
.rec-badge{
  display:flex;align-items:center;gap:8px;
  font-family:'Special Elite', monospace;
  font-size:12px;color:var(--danger);
  letter-spacing:1px;
  border:1px solid rgba(255,59,92,0.3);
  padding:4px 10px;
  background:rgba(0,0,0,0.4);
}
.rec-dot{
  width:8px;height:8px;background:var(--danger);
  border-radius:50%;
  animation:blink 1.2s infinite;
}
@keyframes blink{50%{opacity:0.2}}

.sound-toggle{
  background:rgba(0,0,0,0.6);
  border:1px solid var(--line);
  color:var(--purple-soft);
  padding:10px 14px;
  cursor:pointer;
  display:flex;align-items:center;gap:10px;
  font-size:11px;letter-spacing:2px;text-transform:uppercase;
  transition:all .3s;
  backdrop-filter:blur(4px);
  font-family:'Special Elite', monospace;
}
.sound-toggle:hover{border-color:var(--purple);color:var(--purple)}
.sound-bars{display:flex;gap:2px;align-items:flex-end;height:14px}
.sound-bars span{width:2px;background:currentColor;height:30%}
.sound-toggle.on .sound-bars span{animation:bars 0.8s ease-in-out infinite}
.sound-toggle.on .sound-bars span:nth-child(2){animation-delay:.15s}
.sound-toggle.on .sound-bars span:nth-child(3){animation-delay:.3s}
.sound-toggle.on .sound-bars span:nth-child(4){animation-delay:.45s}
@keyframes bars{0%,100%{height:30%}50%{height:100%}}

.reel-meta{
  font-family:'Special Elite',monospace;
  font-size:10px;letter-spacing:1px;
  color:var(--muted);
  text-align:right;
}
.reel-meta b{color:var(--purple);font-weight:500}

.hero-content{
  position:relative;z-index:2;
  max-width:1400px;
}
.hero-eyebrow{
  display:flex;align-items:center;gap:14px;
  margin-bottom:24px;
  font-family:'Special Elite',monospace;
  font-size:12px;letter-spacing:3px;color:var(--purple-soft);
  text-transform:uppercase;
}
.hero-eyebrow::before{
  content:"";width:40px;height:1px;background:var(--purple);
}
.hero h1{
  font-family:'Anton',sans-serif;
  font-size:clamp(72px, 11vw, 180px);
  line-height:0.85;letter-spacing:-1px;
  margin-bottom:28px;
  color:var(--text);
  text-shadow:0 0 30px rgba(163, 53, 245, 0.2);
}
.hero h1 .accent{color:var(--purple);font-style:italic}
.hero h1 .outline{
  -webkit-text-stroke:1.5px var(--purple-soft);
  color:transparent;
}
.hero-bottom{
  display:grid;grid-template-columns:1.2fr 1fr 1fr;
  gap:40px;align-items:end;
  padding-top:32px;
  border-top:1px solid var(--line);
}
.hero-statement{
  font-size:18px;color:var(--purple-soft);
  line-height:1.5;max-width:520px;
  font-weight:300;
}
.hero-statement b{color:var(--text);font-weight:600}
.hero-stat .num{
  font-family:'Anton',sans-serif;
  font-size:56px;line-height:1;color:var(--text);
}
.hero-stat .num span{color:var(--purple)}
.hero-stat .lbl{
  font-family:'Special Elite',monospace;
  font-size:11px;letter-spacing:2px;
  color:var(--muted);text-transform:uppercase;
  margin-top:6px;
}

.dossier-strip{
  position:absolute;
  bottom:60px;right:40px;
  z-index:3;
  display:flex;gap:10px;
  align-items:flex-end;
}
.dossier-item{
  width:54px;height:140px;
  background-size:cover;background-position:center top;
  filter:grayscale(1) contrast(1.2) brightness(0.6) hue-rotate(250deg);
  border:1px solid var(--steel);
  position:relative;
  transition:all .4s;
  cursor:pointer;
}
.dossier-item:hover{
  width:80px;
  border-color:var(--purple);
  box-shadow:0 0 15px rgba(163, 53, 245, 0.3);
}
.dossier-item::after{
  content:attr(data-name);
  position:absolute;bottom:-20px;left:0;
  font-family:'Special Elite',monospace;
  font-size:9px;letter-spacing:1px;
  color:var(--muted);
  white-space:nowrap;
}

/* Marquee */
.marquee{
  background:var(--purple);
  color:#fff;
  overflow:hidden;
  padding:14px 0;
  border-top:1px solid #fff;
  border-bottom:1px solid #fff;
}
.marquee-track{
  display:flex;gap:60px;
  animation:scroll 30s linear infinite;
  white-space:nowrap;
  font-family:'Anton',sans-serif;
  font-size:24px;letter-spacing:3px;
}
.marquee-track span{display:flex;align-items:center;gap:60px}
.marquee-track span::after{content:"●";color:#fff;font-size:10px}
@keyframes scroll{to{transform:translateX(-50%)}}

/* Section Base */
section{padding:120px 40px;position:relative}
.section-head{
  display:flex;justify-content:space-between;align-items:flex-end;
  margin-bottom:60px;
  padding-bottom:24px;
  border-bottom:1px solid var(--line);
}
.section-head .left{display:flex;flex-direction:column;gap:14px}
.section-tag{
  font-family:'Special Elite',monospace;
  font-size:11px;letter-spacing:3px;
  color:var(--purple);
  text-transform:uppercase;
  display:flex;align-items:center;gap:10px;
}
.section-tag::before{
  content:"";width:24px;height:1px;background:var(--purple);
}
.section-title{
  font-family:'Anton',sans-serif;
  font-size:clamp(48px, 6vw, 88px);
  line-height:0.9;letter-spacing:-1px;
}
.section-title em{color:var(--purple);font-style:normal}
.section-head .right{
  max-width:400px;font-size:16px;color:var(--muted);
  line-height:1.5;
}

/* Specialties */
.specs-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.spec-card{
  background:var(--ink);
  padding:36px 32px 40px;
  position:relative;
  overflow:hidden;
  cursor:pointer;
  transition:background .4s;
  min-height:480px;
  display:flex;flex-direction:column;
}
.spec-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--purple);
  transform:scaleX(0);transform-origin:left;
  transition:transform .5s ease;
}
.spec-card:hover{background:var(--char)}
.spec-card:hover::before{transform:scaleX(1)}
.spec-num{
  font-family:'Special Elite',monospace;
  font-size:11px;color:var(--muted);
  letter-spacing:2px;margin-bottom:24px;
}
.spec-num b{color:var(--purple)}
.spec-img{
  width:100%;height:200px;
  background-size:cover;background-position:center;
  filter:grayscale(0.8) contrast(1.2) brightness(0.6) hue-rotate(250deg);
  margin-bottom:24px;
  transition:filter .4s;
}
.spec-card:hover .spec-img{filter:grayscale(0.4) contrast(1.1) brightness(0.8) hue-rotate(250deg)}
.spec-title{
  font-family:'Anton',sans-serif;
  font-size:38px;line-height:1;letter-spacing:1px;
  margin-bottom:6px;
}
.spec-sub{
  font-size:13px;color:var(--purple-soft);
  letter-spacing:2px;text-transform:uppercase;
  margin-bottom:18px;
  font-family:'Special Elite',monospace;
}
.spec-desc{
  font-size:15px;color:var(--muted);
  line-height:1.55;margin-bottom:auto;
  font-weight:300;
}
.spec-meta{
  display:flex;gap:24px;
  margin-top:24px;
  padding-top:18px;border-top:1px solid var(--line);
  font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--muted);
  font-family:'Special Elite',monospace;
}
.spec-meta b{color:var(--text);font-family:'Anton',sans-serif;font-size:18px;display:block;letter-spacing:0}

/* Agents */
.agents-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
}
.agent-card{
  perspective:1400px;
  height:480px;
  cursor:pointer;
}
.agent-inner{
  position:relative;width:100%;height:100%;
  transition:transform .8s cubic-bezier(.4,.2,.2,1);
  transform-style:preserve-3d;
}
.agent-card:hover .agent-inner,
.agent-card.flipped .agent-inner{
  transform:rotateY(180deg);
}
.agent-face{
  position:absolute;inset:0;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  overflow:hidden;
  border:1px solid var(--line);
}
.agent-front{background:var(--ink)}
.agent-photo{
  position:absolute;inset:0;
  background-size:cover;background-position:center top;
  filter:grayscale(1) contrast(1.2) brightness(0.6) hue-rotate(250deg);
  transition:filter .5s;
}
.agent-card:hover .agent-photo{filter:grayscale(0.8) contrast(1.3) brightness(0.75) hue-rotate(250deg)}
.agent-front::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 30%, rgba(10,6,16,0.95) 100%);
}

.stamp{
  position:absolute;top:20px;left:20px;z-index:3;
  border:2px solid var(--amber);
  color:var(--amber);
  padding:4px 10px;
  font-family:'Special Elite',monospace;
  font-size:11px;letter-spacing:2px;
  transform:rotate(-8deg);
  opacity:0.8;
}

.agent-front-info{
  position:absolute;bottom:0;left:0;right:0;
  padding:24px 26px;z-index:2;
}
.agent-tag{
  font-family:'Special Elite',monospace;
  font-size:10px;color:var(--purple);
  letter-spacing:2px;margin-bottom:8px;
}
.agent-name{
  font-family:'Anton',sans-serif;
  font-size:36px;line-height:1;letter-spacing:1px;
  margin-bottom:6px;
}
.agent-spec{
  font-size:12px;color:var(--purple-soft);
  letter-spacing:2px;text-transform:uppercase;
  display:flex;align-items:center;gap:10px;
  font-family:'Special Elite',monospace;
}
.agent-spec::before{
  content:"";width:18px;height:1px;background:var(--muted);
}
.agent-flip-hint{
  position:absolute;top:20px;right:20px;z-index:3;
  font-family:'Special Elite',monospace;
  font-size:9px;letter-spacing:1.5px;color:var(--muted);
  border:1px solid var(--line);
  padding:4px 8px;
  background:rgba(0,0,0,0.4);
  backdrop-filter:blur(4px);
}
.agent-back{
  background:var(--char);
  transform:rotateY(180deg);
  padding:32px 28px;
  display:flex;flex-direction:column;
}
.agent-back-name{
  font-family:'Anton',sans-serif;
  font-size:30px;line-height:1;
  margin-bottom:4px;
}
.agent-back-spec{
  font-size:11px;color:var(--purple);
  letter-spacing:2px;text-transform:uppercase;
  margin-bottom:20px;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
  font-family:'Special Elite',monospace;
}
.agent-back h4{
  font-family:'Special Elite',monospace;
  font-size:10px;letter-spacing:2px;color:var(--muted);
  text-transform:uppercase;margin-bottom:10px;
}
.cert-list{
  list-style:none;margin-bottom:20px;
}
.cert-list li{
  font-size:14px;color:var(--text);
  padding:6px 0;display:flex;align-items:flex-start;gap:10px;
  border-bottom:1px dashed var(--line);
  font-weight:300;
}
.cert-list li::before{
  content:"▸";color:var(--purple);font-size:10px;margin-top:3px;
}
.sig-case{
  margin-top:auto;
  padding:14px;
  background:var(--bg);
  border-left:2px solid var(--amber);
}
.sig-case h4{margin-bottom:6px;color:var(--amber)}
.sig-case p{font-size:14px;color:var(--purple-soft);font-weight:300;line-height:1.4}
.sig-case b{color:var(--text);font-weight:600}

/* Cases Carousel */
.cases-wrap{
  position:relative;
  overflow:hidden;
  margin:0 -40px;
  padding:0 40px;
  cursor:grab;
}
.cases-wrap.dragging{cursor:grabbing}
.cases-wrap::after {
  content: "← arraste para navegar →";
  position: absolute;
  bottom: -30px; left: 50%;
  transform: translateX(-50%);
  font-family: 'Special Elite', monospace;
  font-size: 11px;
  color: var(--muted);
  letter-spacing: 2px;
  opacity: 0.6;
  pointer-events: none;
}
.cases-track{
  display:flex;gap:24px;
  transition:transform .6s cubic-bezier(.2,.8,.2,1);
  will-change:transform;
}
.cases-track.no-trans{transition:none}
.case-card{
  flex:0 0 480px;
  background:var(--ink);
  border:1px solid var(--line);
  display:grid;grid-template-columns:1fr 1.4fr;
  min-height:440px;
  user-select:none;
  position:relative;
}
.case-status{
  position:absolute;top:0;right:0;z-index:5;
  background:var(--purple);
  color:#fff;
  font-family:'Anton',sans-serif;
  font-size:12px;letter-spacing:2px;
  padding:4px 12px;
}
.case-img{
  background-size:cover;background-position:center;
  filter:grayscale(1) contrast(1.2) brightness(0.55) hue-rotate(250deg);
  position:relative;
}
.case-img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg, transparent 50%, rgba(10,6,16,0.6) 100%);
}
.case-info{
  padding:28px 26px;
  display:flex;flex-direction:column;
}
.case-code{
  font-family:'Special Elite',monospace;
  font-size:11px;color:var(--amber);
  letter-spacing:2px;margin-bottom:14px;
}
.case-title{
  font-family:'Anton',sans-serif;
  font-size:30px;line-height:1;
  margin-bottom:4px;
  text-transform:uppercase;
}
.case-location{
  font-size:12px;color:var(--muted);
  letter-spacing:1.5px;margin-bottom:20px;
  padding-bottom:18px;border-bottom:1px solid var(--line);
  font-family:'Special Elite',monospace;
}
.case-stats{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
  margin-bottom:18px;
}
.case-stat .v{
  font-family:'Anton',sans-serif;
  font-size:28px;line-height:1;color:var(--text);
}
.case-stat .v span{color:var(--purple)}
.case-stat .l{
  font-family:'Special Elite',monospace;
  font-size:9px;letter-spacing:1.5px;
  color:var(--muted);text-transform:uppercase;
  margin-top:4px;
}
.case-excerpt{
  font-size:14px;color:var(--purple-soft);
  line-height:1.55;font-weight:300;
  font-style:italic;
  margin-top:auto;
  padding-top:16px;
  border-top:1px dashed var(--line);
}
.case-nav{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:60px;
}
.case-dots{display:flex;gap:8px}
.case-dots button{
  width:24px;height:2px;border:none;
  background:var(--steel);cursor:pointer;
  transition:background .3s;
  padding:0;
}
.case-dots button.active{background:var(--purple)}
.case-progress{
  font-family:'Special Elite',monospace;
  font-size:11px;letter-spacing:2px;
  color:var(--muted);
}
.case-progress b{color:var(--purple)}
.case-arrows{display:flex;gap:8px}
.case-arrows button{
  width:42px;height:42px;
  background:transparent;border:1px solid var(--line);
  color:var(--purple-soft);cursor:pointer;
  transition:all .3s;font-size:18px;
}
.case-arrows button:hover{
  border-color:var(--purple);color:var(--purple);
  box-shadow:0 0 10px rgba(163, 53, 245, 0.2);
}

/* CTA Section */
.cta-section{
  text-align:center;
  padding:140px 40px 200px;
  position:relative;
  overflow:hidden;
}
.cta-section::before{
  content:"";position:absolute;
  width:600px;height:600px;
  background:radial-gradient(circle, rgba(163, 53, 245, 0.18), transparent 60%);
  top:50%;left:50%;transform:translate(-50%,-50%);
  pointer-events:none;
}
.cta-eyebrow{
  font-family:'Special Elite',monospace;
  font-size:12px;letter-spacing:3px;
  color:var(--purple);
  text-transform:uppercase;margin-bottom:24px;
}
.cta-title{
  font-family:'Anton',sans-serif;
  font-size:clamp(60px, 9vw, 140px);
  line-height:0.85;letter-spacing:-1px;
  margin-bottom:32px;
}
.cta-title em{color:var(--purple);font-style:italic}
.cta-desc{
  font-size:18px;color:var(--purple-soft);
  max-width:560px;margin:0 auto 44px;
  line-height:1.6;font-weight:300;
}
.cta-btn{
  display:inline-flex;align-items:center;gap:14px;
  padding:22px 48px;
  background:var(--purple);
  color:#fff;text-decoration:none;
  font-family:'Anton',sans-serif;
  font-size:22px;letter-spacing:3px;
  border:none;cursor:pointer;
  position:relative;
  transition:background .3s, transform .3s;
  animation:pulse 2.5s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(163, 53, 245, 0.5), 0 0 30px rgba(163, 53, 245, 0.3);}
  50%{box-shadow:0 0 0 20px rgba(163, 53, 245, 0), 0 0 50px rgba(163, 53, 245, 0.5);}
}
.cta-btn:hover{
  background:var(--purple-hot);
  transform:translateY(-2px);
}
.cta-btn .arrow{transition:transform .3s}
.cta-btn:hover .arrow{transform:translateX(6px)}
.cta-meta{
  margin-top:32px;
  display:flex;justify-content:center;gap:40px;
  font-size:11px;letter-spacing:2px;
  color:var(--muted);text-transform:uppercase;
  font-family:'Special Elite',monospace;
}
.cta-meta span{display:flex;align-items:center;gap:8px}
.cta-meta span::before{
  content:"";width:6px;height:6px;background:var(--purple);
  border-radius:50%;
}

/* Sticky bottom bar */
.sticky-bar{
  position:fixed;bottom:0;left:0;right:0;
  z-index:90;
  background:rgba(10,6,16,0.95);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-top:1px solid var(--line);
  padding:14px 40px;
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;
  transform:translateY(100%);
  transition:transform .5s cubic-bezier(.4,.2,.2,1);
}
.sticky-bar.visible{transform:translateY(0)}
.sticky-info{
  display:flex;align-items:center;gap:24px;
  font-size:14px;
}
.sticky-info .price{
  font-family:'Anton',sans-serif;
  font-size:28px;color:var(--text);letter-spacing:1px;
}
.sticky-info .price span{color:var(--purple)}
.sticky-info .meta{
  font-size:11px;color:var(--muted);
  letter-spacing:1.5px;text-transform:uppercase;
  line-height:1.4;
  font-family:'Special Elite',monospace;
}
.sticky-cta{
  display:flex;align-items:center;gap:14px;
  padding:14px 32px;
  background:var(--purple);color:#fff;
  text-decoration:none;
  font-family:'Anton',sans-serif;
  font-size:18px;letter-spacing:2px;
  transition:all .3s;
  animation:pulse 2.5s ease-in-out infinite;
}
.sticky-cta:hover{background:var(--purple-hot)}

/* Reveal animation */
.reveal{
  opacity:0;transform:translateY(40px);
  transition:opacity .9s ease, transform .9s ease;
}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal-stagger > *{
  opacity:0;transform:translateY(30px);
  transition:opacity .8s ease, transform .8s ease;
}
.reveal-stagger.in > *{opacity:1;transform:translateY(0)}
.reveal-stagger.in > *:nth-child(1){transition-delay:.05s}
.reveal-stagger.in > *:nth-child(2){transition-delay:.15s}
.reveal-stagger.in > *:nth-child(3){transition-delay:.25s}
.reveal-stagger.in > *:nth-child(4){transition-delay:.35s}
.reveal-stagger.in > *:nth-child(5){transition-delay:.45s}
.reveal-stagger.in > *:nth-child(6){transition-delay:.55s}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .cta-btn, .sticky-cta, .rec-dot { animation: none !important; box-shadow: none !important; }
  .marquee-track { animation: none !important; }
}

/* Atom loading spinner */
.ld-atom { position: relative; width: 56px; height: 56px; --ld-clr: var(--purple); }
.ld-atom::before {
  content: "";
  position: absolute;
  inset: 46%;
  border-radius: 50%;
  background: var(--ld-clr);
}
.ld-atom i {
  position: absolute;
  inset: 4px;
  border: 2px solid transparent;
  border-top-color: var(--ld-clr);
  border-radius: 50%;
}
.ld-atom i:nth-child(1) { animation: atom-a 1.1s linear infinite; }
.ld-atom i:nth-child(2) { animation: atom-b 1.5s linear infinite; opacity: .6; }
@keyframes atom-a {
  from { transform: scaleX(.5) rotate(0); }
  to   { transform: scaleX(.5) rotate(360deg); }
}
@keyframes atom-b {
  from { transform: rotate(72deg) scaleX(.5) rotate(0); }
  to   { transform: rotate(72deg) scaleX(.5) rotate(360deg); }
}

/* Reduced motion for loader */
@media (prefers-reduced-motion: reduce) {
  .ld-atom i { animation: none !important; opacity: 1; }
  .ld-atom::before { animation: none; }
}

@media (max-width: 900px){
  nav{padding:14px 20px}
  .menu-toggle { display: block; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: rotate(-45deg) translate(7px, -7px); }

  .nav-links {
    position: fixed; inset: 0; z-index: 100;
    background: var(--bg);
    flex-direction: column;
    justify-content: center; align-items: center;
    gap: 40px;
    transform: translateX(100%);
    transition: transform .4s ease;
  }
  .nav-links.open { transform: translateX(0); }
  .nav-links a { font-size: 24px; }

  section{padding:80px 20px}
  .hero{padding:0 20px 40px}
  .hero-bottom{grid-template-columns:1fr;gap:24px}
  .dossier-strip{display:none}
  .specs-grid,.agents-grid{grid-template-columns:1fr}
  .case-card{flex:0 0 340px;grid-template-columns:1fr}
  .case-img{height:200px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px}
  .sticky-bar{padding:12px 20px}
  .sticky-info .meta{display:none}
}
