/* HMI Showcase – eigenständige Seite (kein style.css erforderlich) */
/* ══════════════════════════════════════════════
   TOKENS
══════════════════════════════════════════════ */
:root {
  --bg:      #f8f7f4;
  --bg-dark: #0a0f0f;
  --text:    #0f1a1a;
  --muted:   #5a6a6a;
  --accent:  #0d5c5c;
  --acc-l:   #0f7070;
  --border:  #dddbd6;
  --white:   #ffffff;

  --f-sans:  'Manrope', sans-serif;
  --f-serif: 'Fraunces', serif;
  --f-mono:  'JetBrains Mono', monospace;
  --ease:    cubic-bezier(.16,1,.3,1);
}
[data-theme="dark"] {
  --bg:     #0a0f0f;
  --text:   #eef2f2;
  --muted:  #7a9090;
  --border: #1a2525;
  --white:  #111a1a;
}

/* ══════════════════════════════════════════════
   RESET
══════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:var(--f-sans);
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
  transition:background .3s,color .3s;
}
::selection{background:var(--accent);color:#fff}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

/* ══════════════════════════════════════════════
   CURSOR GLOW
══════════════════════════════════════════════ */
.cursor-glow{
  pointer-events:none;position:fixed;z-index:9999;
  width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(13,92,92,.08) 0%,transparent 70%);
  transform:translate(-50%,-50%);
  transition:opacity .3s;
}

/* ══════════════════════════════════════════════
   NAV
══════════════════════════════════════════════ */
nav{
  position:fixed;inset:0 0 auto;z-index:100;
  height:56px;
  display:flex;align-items:center;
  padding:0 clamp(1.5rem,4vw,3rem);
  gap:2rem;
}
nav::before{
  content:'';position:absolute;inset:0;
  background:color-mix(in srgb,var(--bg) 75%,transparent);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  z-index:-1;
}
.nav-logo{
  font-family:var(--f-mono);font-size:.75rem;
  font-weight:500;letter-spacing:.06em;
  color:var(--text);margin-right:auto;
}
.nav-logo em{color:var(--accent);font-style:normal}
.nav-pill{
  display:flex;gap:0;
  border:1px solid var(--border);border-radius:99px;
  overflow:hidden;background:color-mix(in srgb,var(--bg) 60%,transparent);
}
.nav-pill a{
  font-family:var(--f-mono);font-size:.62rem;
  letter-spacing:.06em;text-transform:uppercase;
  padding:.4rem 1rem;color:var(--muted);
  transition:background .15s,color .15s;
  border-right:1px solid var(--border);
}
.nav-pill a:last-child{border-right:none}
.nav-pill a:hover,.nav-pill a.on{background:var(--accent);color:#fff}
.nav-theme{
  width:32px;height:32px;border-radius:50%;
  border:1px solid var(--border);background:none;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  font-size:.75rem;transition:border-color .15s,transform .3s;
  color:var(--muted);
}
.nav-theme:hover{border-color:var(--accent);color:var(--accent);transform:rotate(180deg)}

/* ══════════════════════════════════════════════
   HERO — FULL SCREEN SPLIT
══════════════════════════════════════════════ */
.hero{
  min-height:100svh;padding-top:56px;
  display:grid;grid-template-rows:minmax(0,1fr) auto;
}
.hero-body{
  display:grid;grid-template-columns:1fr 1fr;
  position:relative;
  align-items:stretch;
  min-height:0;
}

/* Left */
.hero-l{
  padding:clamp(3rem,8vh,6rem) clamp(2rem,5vw,5rem);
  display:flex;flex-direction:column;justify-content:center;
  position:relative;
}
/* Diagonal accent line */
.hero-l::after{
  content:'';
  position:absolute;right:0;top:10%;bottom:10%;
  width:1px;background:linear-gradient(to bottom,transparent,var(--border),transparent);
}

.hero-tag{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--f-mono);font-size:.62rem;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent);margin-bottom:2.5rem;
  background:color-mix(in srgb,var(--accent) 8%,transparent);
  padding:.35rem .9rem;border-radius:99px;
  border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);
  width:fit-content;
}
.hero-tag-dot{
  width:5px;height:5px;border-radius:50%;
  background:var(--accent);
  animation:pulse 2s infinite;
}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}

.hero-h1{
  font-family:var(--f-sans);
  font-size:clamp(3rem,6vw,5.5rem);
  font-weight:800;
  line-height:0.9;
  letter-spacing:-.04em;
  margin-bottom:2.5rem;
  position:relative;
  animation:heroTitleIn .78s var(--ease) both;
}
.hero-h1 .line{display:block}
.hero-h1 .word{display:inline-block}
.hero-h1 .serif-em{
  font-family:var(--f-serif);
  font-style:italic;font-weight:300;
  color:var(--accent);
  font-size:1.05em;
  letter-spacing:-.02em;
}
@keyframes heroTitleIn{
  from{opacity:0;transform:translateY(1rem)}
  to{opacity:1;transform:none}
}

.hero-desc{
  font-size:clamp(.9rem,1.5vw,1.05rem);
  color:var(--muted);max-width:38ch;
  line-height:1.75;font-weight:400;
  margin-bottom:3rem;
  animation:fadeIn .8s .28s var(--ease) both;
}
@keyframes fadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.hero-ctas{
  display:flex;align-items:center;gap:1rem;
  animation:fadeIn .8s .42s var(--ease) both;
}
.cta-main{
  font-family:var(--f-sans);font-size:.82rem;font-weight:700;
  background:var(--accent);color:#fff;
  padding:.9rem 2rem;border-radius:4px;border:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:.6rem;
  transition:background .15s,transform .1s,box-shadow .2s;
  box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 40%,transparent);
}
.cta-main:hover{
  background:var(--acc-l);transform:translateY(-2px);
  box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 30%,transparent);
}
.cta-arrow{transition:transform .2s}
.cta-main:hover .cta-arrow{transform:translateX(3px)}
.cta-sec{
  font-family:var(--f-mono);font-size:.65rem;
  color:var(--muted);background:none;border:none;cursor:pointer;
  letter-spacing:.06em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.5rem;transition:color .15s;
}
.cta-sec:hover{color:var(--accent)}

/* Right: Canvas/Netz über die komplette dunkle Hero-Hälfte */
.hero-r{
  position:relative;
  overflow:hidden;
  background:var(--bg-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:stretch;
  min-height:100%;
  min-width:0;
}
canvas#heroCanvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  z-index:0;
  pointer-events:none;
}
.hero-r-content{
  position:relative;
  z-index:2;
  width:calc(100% - 4rem);
  max-width:440px;
  flex-shrink:0;
}

/* Terminal */
.term{
  background:rgba(10,20,20,.9);
  border:1px solid rgba(13,92,92,.3);
  border-radius:6px;
  backdrop-filter:blur(8px);
  overflow:hidden;
  box-shadow:0 32px 80px rgba(0,0,0,.5),0 0 0 1px rgba(13,92,92,.15);
  animation:fadeIn 1s .3s both;
}
.term-bar{
  background:rgba(13,92,92,.25);
  padding:.55rem 1rem;
  display:flex;align-items:center;gap:.5rem;
  border-bottom:1px solid rgba(13,92,92,.2);
}
.tdot{width:8px;height:8px;border-radius:50%}
.tdot-r{background:#ff5f57}.tdot-y{background:#ffbd2e}.tdot-g{background:#28c840}
.term-title{
  margin:0 auto;
  font-family:var(--f-mono);font-size:.58rem;
  color:rgba(255,255,255,.3);letter-spacing:.1em;text-transform:uppercase;
}
.term-body{padding:1.25rem;font-family:var(--f-mono);font-size:.7rem;line-height:1.9}
.tl{display:flex;gap:.75rem}
.tp{color:var(--accent)}
.tc{color:rgba(255,255,255,.8)}
.tcm{color:rgba(255,255,255,.25);font-size:.62rem}
.to{
  display:flex;justify-content:space-between;
  padding:.1rem 0 .1rem 1.2rem;
}
.tk{color:rgba(255,255,255,.35)}
.tv-ok   {color:#4ade80}
.tv-warn {color:#fb923c}
.tv-err  {color:#f87171}
.tv-info {color:#67d4d4}
.tdiv{border:none;border-top:1px solid rgba(255,255,255,.06);margin:.5rem 0}
.tcursor{
  display:inline-block;width:7px;height:.8em;
  background:var(--accent);vertical-align:middle;
  animation:blink 1s step-end infinite;margin-left:2px;
}
@keyframes blink{50%{opacity:0}}

/* Floating tags around terminal */
.hero-tag-float{
  position:absolute;
  z-index:1;
  font-family:var(--f-mono);font-size:.6rem;
  padding:.3rem .75rem;border-radius:99px;
  background:rgba(13,92,92,.15);
  border:1px solid rgba(13,92,92,.25);
  color:rgba(13,200,200,.7);
  animation:float 6s ease-in-out infinite;
  white-space:nowrap;
}
.htf-1{top:15%;left:8%;animation-delay:0s}
.htf-2{top:22%;right:6%;animation-delay:1.5s}
.htf-3{bottom:20%;left:5%;animation-delay:3s}
.htf-4{bottom:12%;right:8%;animation-delay:4.5s}
@keyframes float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}

/* ── Stats strip */
.hero-stats{
  border-top:1px solid var(--border);
  display:grid;grid-template-columns:repeat(4,1fr);
}
.hstat{
  padding:1.75rem 2rem;
  border-right:1px solid var(--border);
  position:relative;
  overflow:hidden;
}
.hstat:last-child{border-right:none}
.hstat::before{
  content:'';position:absolute;
  top:0;left:0;right:0;height:2px;
  background:linear-gradient(to right,var(--accent),transparent);
  transform:scaleX(0);transform-origin:left;
  transition:transform .6s var(--ease);
}
.hstat.in::before{transform:scaleX(1)}
.hstat-n{
  font-family:var(--f-sans);font-size:clamp(1.6rem,3vw,2.2rem);
  font-weight:800;letter-spacing:-.04em;color:var(--text);
  line-height:1;margin-bottom:.4rem;
}
.hstat-n .serif-unit{
  font-family:var(--f-serif);font-style:italic;
  font-weight:300;font-size:.8em;color:var(--accent);
}
.hstat-l{
  font-family:var(--f-mono);font-size:.6rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
}

/* ══════════════════════════════════════════════
   MARQUEE
══════════════════════════════════════════════ */
.marquee-wrap{
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  overflow:hidden;padding:.85rem 0;
  background:color-mix(in srgb,var(--accent) 4%,var(--bg));
}
.marquee-track{
  display:flex;gap:3rem;width:max-content;
  animation:marquee 22s linear infinite;
}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-item{
  font-family:var(--f-mono);font-size:.65rem;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);white-space:nowrap;
  display:flex;align-items:center;gap:.75rem;
}
.marquee-item::before{
  content:'◆';font-size:.4rem;color:var(--accent);
}

/* ══════════════════════════════════════════════
   PAIN — HORIZONTAL SCROLL
══════════════════════════════════════════════ */
.pain{padding:clamp(4rem,8vw,7rem) 0}
.pain-head{
  padding:0 clamp(2rem,5vw,5rem);
  display:grid;grid-template-columns:1fr auto;
  align-items:end;margin-bottom:3rem;
}
.s-eye{
  font-family:var(--f-mono);font-size:.62rem;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);margin-bottom:.75rem;
  display:flex;align-items:center;gap:.6rem;
}
.s-eye::before{content:'//';opacity:.4}
.s-h2{
  font-family:var(--f-sans);font-size:clamp(2rem,4vw,3.2rem);
  font-weight:800;line-height:.95;letter-spacing:-.04em;
}
.s-h2 em{
  font-family:var(--f-serif);font-style:italic;
  font-weight:300;color:var(--accent);font-size:1.05em;
}
.pain-count{
  font-family:var(--f-mono);font-size:.65rem;
  color:var(--muted);letter-spacing:.06em;
}

.pain-scroll{
  display:flex;gap:1px;
  overflow-x:auto;padding:0 clamp(2rem,5vw,5rem) 2rem;
  scrollbar-width:none;cursor:grab;user-select:none;
  background:linear-gradient(to right,var(--bg) 0%,transparent 3%,transparent 97%,var(--bg) 100%);
}
.pain-scroll:active{cursor:grabbing}
.pain-scroll::-webkit-scrollbar{display:none}
.pcard{
  min-width:280px;max-width:280px;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:6px;padding:2rem;
  transition:transform .3s var(--ease),box-shadow .3s;
  flex-shrink:0;
}
.pcard:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 60px rgba(0,0,0,.08);
}
.pcard-n{
  font-family:var(--f-mono);font-size:.58rem;
  color:var(--accent);letter-spacing:.1em;
  margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem;
}
.pcard-n::after{content:'';flex:1;height:1px;background:var(--border)}
.pcard h3{
  font-family:var(--f-sans);font-size:1rem;
  font-weight:700;margin-bottom:.75rem;letter-spacing:-.01em;
  line-height:1.2;
}
.pcard p{font-size:.83rem;color:var(--muted);line-height:1.7;font-weight:400}
.pcard-icon{
  width:36px;height:36px;border-radius:8px;
  background:color-mix(in srgb,var(--accent) 10%,transparent);
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;margin-bottom:1.25rem;
}

/* ══════════════════════════════════════════════
   SPLIT — DARK SECTION
══════════════════════════════════════════════ */
.dark-s{
  background:var(--bg-dark);
  padding:clamp(4rem,8vw,7rem) clamp(2rem,5vw,5rem);
  position:relative;overflow:hidden;
}
.dark-s::before{
  content:'';position:absolute;
  top:-50%;right:-20%;
  width:60vw;height:60vw;border-radius:50%;
  background:radial-gradient(circle,rgba(13,92,92,.15) 0%,transparent 60%);
  pointer-events:none;
}
.dark-s .s-eye{color:rgba(13,200,160,.5)}
.dark-s .s-h2{color:#fff}
.dark-s .s-sub{color:rgba(255,255,255,.4)}

.dark-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:1px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.06);margin-top:3rem;
}
.dark-card{
  background:rgba(255,255,255,.02);
  padding:2.5rem;position:relative;
  transition:background .2s;
}
.dark-card:hover{background:rgba(255,255,255,.05)}
.dark-card-accent{
  position:absolute;top:0;left:2.5rem;right:2.5rem;height:1px;
  background:linear-gradient(to right,var(--accent),transparent);
}
.dark-card h3{
  font-family:var(--f-sans);font-size:1.2rem;font-weight:700;
  color:#fff;margin-bottom:1rem;letter-spacing:-.02em;
}
.dark-card p{font-size:.85rem;color:rgba(255,255,255,.4);line-height:1.75;margin-bottom:1.5rem}
.dark-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.dark-list li{
  font-size:.8rem;color:rgba(255,255,255,.5);
  display:flex;gap:.75rem;align-items:baseline;
  padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.04);
  line-height:1.5;
}
.dark-list li::before{content:'→';color:var(--accent);font-size:.7rem;flex-shrink:0}

/* ══════════════════════════════════════════════
   VERSUS — BOLD COMPARISON
══════════════════════════════════════════════ */
.versus{
  padding:clamp(4rem,8vw,7rem) clamp(2rem,5vw,5rem);
  position:relative;
}
.versus-title{
  font-family:var(--f-sans);
  font-size:clamp(3rem,8vw,8rem);
  font-weight:800;letter-spacing:-.05em;
  line-height:.85;margin-bottom:clamp(2rem,4vw,4rem);
  color:color-mix(in srgb,var(--text) 8%,transparent);
  user-select:none;
}
.versus-title em{
  font-family:var(--f-serif);font-style:italic;
  font-weight:300;color:var(--accent);font-size:1em;
}
.vs-table{
  display:grid;grid-template-columns:1fr 1fr;
  border:1px solid var(--border);overflow:hidden;border-radius:4px;
}
.vs-head{
  padding:1rem 1.5rem;
  font-family:var(--f-mono);font-size:.62rem;
  letter-spacing:.1em;text-transform:uppercase;
  display:flex;align-items:center;gap:.6rem;
  border-bottom:1px solid var(--border);
}
.vs-head.old{background:var(--white);color:var(--muted)}
.vs-head.new{background:var(--accent);color:rgba(255,255,255,.8)}
.vs-head .indicator{
  width:6px;height:6px;border-radius:50%;flex-shrink:0;
}
.old .indicator{background:#ef4444}
.new .indicator{background:#4ade80}
.vs-row{
  display:grid;grid-template-columns:1fr 1fr;
  grid-column:1/-1;
  border-bottom:1px solid var(--border);
}
.vs-row:last-child{border-bottom:none}
.vs-cell{
  padding:.9rem 1.5rem;
  font-size:.84rem;line-height:1.5;
  display:flex;align-items:center;gap:.75rem;
}
.vs-cell.old{
  background:var(--white);color:var(--muted);
  border-right:1px solid var(--border);
}
.vs-cell.new{background:color-mix(in srgb,var(--accent) 4%,var(--bg));color:var(--text)}
.vs-icon{font-size:.7rem;flex-shrink:0;width:16px;text-align:center}
.vs-cell.old .vs-icon{color:#f87171}
.vs-cell.new .vs-icon{color:#22c55e}
.vs-note{
  margin-top:1.5rem;padding:1rem 1.5rem;
  background:color-mix(in srgb,var(--accent) 6%,transparent);
  border:1px solid color-mix(in srgb,var(--accent) 15%,transparent);
  border-radius:4px;
  font-family:var(--f-mono);font-size:.68rem;
  color:var(--accent);letter-spacing:.04em;
  display:flex;align-items:center;gap:.75rem;
}
.vs-note::before{content:'//';opacity:.5}

/* ══════════════════════════════════════════════
   PROCESS — NUMBERED LARGE
══════════════════════════════════════════════ */
.process{
  background:var(--bg-dark);
  padding:clamp(4rem,8vw,7rem) clamp(2rem,5vw,5rem);
}
.process .s-eye{color:rgba(13,200,160,.4)}
.process .s-h2{color:#fff;margin-bottom:3rem}
.proc-list{display:flex;flex-direction:column;gap:0}
.proc-item{
  display:grid;grid-template-columns:120px 1fr;
  gap:2rem;align-items:stretch;
  border-bottom:1px solid rgba(255,255,255,.06);
  padding:1.75rem 0;
  transition:padding .3s var(--ease);
  cursor:default;
}
.proc-item:first-child{border-top:1px solid rgba(255,255,255,.06)}
.proc-item:hover{padding-left:1rem}
.proc-n{
  font-family:var(--f-sans);
  font-size:clamp(2.5rem,5vw,4rem);
  font-weight:800;letter-spacing:-.06em;
  color:rgba(255,255,255,.06);
  line-height:1;align-self:center;
  transition:color .3s;
}
.proc-item:hover .proc-n{color:rgba(13,92,92,.5)}
.proc-body{display:flex;flex-direction:column;justify-content:center}
.proc-body h3{
  font-family:var(--f-sans);font-size:1rem;font-weight:700;
  color:rgba(255,255,255,.8);margin-bottom:.4rem;letter-spacing:-.01em;
}
.proc-body p{font-size:.83rem;color:rgba(255,255,255,.3);line-height:1.65;max-width:50ch}
.proc-tag{
  display:inline-flex;align-items:center;
  font-family:var(--f-mono);font-size:.55rem;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent);margin-top:.75rem;
  gap:.4rem;
}
.proc-tag::before{content:'●';font-size:.4rem}

/* ══════════════════════════════════════════════
   QUALITY — MAGAZINE LAYOUT
══════════════════════════════════════════════ */
.quality{padding:clamp(4rem,8vw,7rem) clamp(2rem,5vw,5rem)}
.q-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem}
.q-big-n{
  font-family:var(--f-sans);
  font-size:clamp(5rem,12vw,10rem);
  font-weight:800;letter-spacing:-.06em;
  line-height:1;
  color:color-mix(in srgb,var(--accent) 8%,transparent);
  margin-bottom:-.5rem;
  user-select:none;
}
.q-list{list-style:none;margin-top:1.5rem}
.q-item{
  display:grid;grid-template-columns:32px 1fr;
  gap:1rem;padding:1.25rem 0;
  border-bottom:1px solid var(--border);
  align-items:start;
}
.q-item:first-child{border-top:1px solid var(--border)}
.q-n{
  font-family:var(--f-mono);font-size:.58rem;
  color:var(--accent);padding-top:.2rem;
}
.q-body strong{
  display:block;font-weight:700;font-size:.92rem;
  margin-bottom:.25rem;letter-spacing:-.01em;
}
.q-body span{font-size:.82rem;color:var(--muted);line-height:1.6;font-weight:400}

/* Code block */
.code-widget{
  position:sticky;top:80px;
  background:var(--bg-dark);
  border-radius:8px;overflow:hidden;
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 32px 80px rgba(0,0,0,.12);
}
.cw-bar{
  padding:.6rem 1rem;background:rgba(13,92,92,.2);
  border-bottom:1px solid rgba(255,255,255,.06);
  display:flex;align-items:center;gap:.5rem;
}
.cw-dots{display:flex;gap:.3rem}
.cw-dot{width:8px;height:8px;border-radius:50%}
.cw-dot-r{background:#ff5f57}.cw-dot-y{background:#ffbd2e}.cw-dot-g{background:#28c840}
.cw-title{font-family:var(--f-mono);font-size:.58rem;color:rgba(255,255,255,.25);margin-left:auto;letter-spacing:.08em}
.cw-body{padding:1.5rem;font-family:var(--f-mono);font-size:.7rem;line-height:2}
.ck{color:rgba(255,255,255,.3)}
.cv{color:#67d4d4}
.cs{color:#86efac}
.cn{color:#fb923c}
.cb{color:rgba(255,255,255,.15)}
.cc{color:rgba(255,255,255,.2);font-style:italic}
.cw-tags{
  padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.06);
  display:flex;flex-wrap:wrap;gap:.4rem;
}
.cw-tag{
  font-family:var(--f-mono);font-size:.58rem;
  padding:.2rem .6rem;border-radius:2px;
  background:rgba(13,92,92,.2);color:rgba(13,200,160,.6);
  letter-spacing:.06em;
}

/* ══════════════════════════════════════════════
   CTA — FINAL
══════════════════════════════════════════════ */
.cta-final{
  padding:clamp(4rem,8vw,7rem) clamp(2rem,5vw,5rem);
  background:var(--accent);
  position:relative;overflow:hidden;
}
.cta-final::before{
  content:'→';
  position:absolute;right:-2rem;bottom:-3rem;
  font-size:clamp(12rem,25vw,22rem);
  font-weight:800;font-family:var(--f-sans);
  color:rgba(255,255,255,.05);line-height:1;
  pointer-events:none;user-select:none;
}
.cta-inner{
  display:grid;grid-template-columns:1fr 380px;
  gap:5rem;align-items:center;
  position:relative;z-index:1;
}
.cta-left h2{
  font-family:var(--f-sans);
  font-size:clamp(2rem,4vw,3.5rem);
  font-weight:800;letter-spacing:-.04em;
  color:#fff;line-height:.95;margin-bottom:1.5rem;
}
.cta-left h2 em{
  font-family:var(--f-serif);font-style:italic;
  font-weight:300;color:rgba(255,255,255,.6);font-size:1em;
}
.cta-left p{
  font-size:.95rem;color:rgba(255,255,255,.6);
  line-height:1.75;max-width:40ch;margin-bottom:2rem;
}
.cta-pts{list-style:none;display:flex;flex-direction:column;gap:.75rem}
.cta-pts li{
  font-size:.85rem;color:rgba(255,255,255,.55);
  display:flex;gap:.75rem;align-items:baseline;
  font-family:var(--f-mono);letter-spacing:.02em;
}
.cta-pts li::before{content:'01';color:rgba(255,255,255,.25);font-size:.6rem;flex-shrink:0;counter-increment:none}

/* Form */
.form-box{
  background:rgba(0,0,0,.2);
  border:1px solid rgba(255,255,255,.1);
  border-radius:6px;backdrop-filter:blur(10px);
}
.form-head{
  padding:.85rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08);
  font-family:var(--f-mono);font-size:.58rem;
  color:rgba(255,255,255,.3);letter-spacing:.1em;text-transform:uppercase;
  display:flex;align-items:center;justify-content:space-between;
}
.form-live{display:flex;align-items:center;gap:.4rem;color:rgba(255,255,255,.4)}
.form-live-dot{width:5px;height:5px;border-radius:50%;background:#4ade80;animation:pulse 2s infinite}
.form-fields{padding:1.25rem;display:flex;flex-direction:column;gap:.7rem}
.ff-label{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.3);display:block;margin-bottom:.3rem}
.ff-input{
  width:100%;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  padding:.65rem .9rem;
  color:#fff;font-family:var(--f-sans);font-size:.88rem;
  outline:none;border-radius:3px;
  transition:border-color .15s,background .15s;
}
.ff-input::placeholder{color:rgba(255,255,255,.2)}
.ff-input:focus{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.08)}
.ff-textarea{min-height:80px;resize:vertical;font-family:var(--f-sans)}
.ff-submit{
  width:100%;padding:.85rem;
  background:#fff;color:var(--accent);
  font-family:var(--f-sans);font-weight:800;font-size:.8rem;
  border:none;border-radius:3px;cursor:pointer;
  letter-spacing:.02em;
  transition:background .15s,transform .1s;
  margin-top:.25rem;
}
.ff-submit:hover{background:rgba(255,255,255,.9);transform:translateY(-1px)}

/* ══════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════ */
footer{
  border-top:1px solid var(--border);
  padding:1.25rem clamp(2rem,5vw,5rem);
  display:flex;align-items:center;justify-content:space-between;
  font-family:var(--f-mono);font-size:.6rem;
  color:var(--muted);letter-spacing:.04em;
}
.footer-links{display:flex;gap:2rem}
.footer-links a{transition:color .15s}
.footer-links a:hover{color:var(--accent)}

/* ══════════════════════════════════════════════
   REVEAL
══════════════════════════════════════════════ */
.rv{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.1s}.rv-d2{transition-delay:.2s}.rv-d3{transition-delay:.3s}

/* ══════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════ */
@media(max-width:1024px){
  .hero-body{grid-template-columns:1fr}.hero-r{display:none}
  .dark-grid{grid-template-columns:1fr}
  .q-layout{grid-template-columns:1fr}.code-widget{position:static}
  .cta-inner{grid-template-columns:1fr}
  .hero-stats{grid-template-columns:repeat(2,1fr)}
  .versus-title{font-size:clamp(2.5rem,8vw,5rem)}
}
@media(max-width:640px){
  .nav-pill{display:none}
  .hero-stats{grid-template-columns:1fr 1fr}
  .vs-table{grid-template-columns:1fr}
  .vs-head.old{display:none}
  .vs-row{grid-template-columns:1fr}
  .vs-cell.old{display:none}
}