:root{--bg:#080808;--surface:#111;--border:#222;--amber:#e8a020;--cyan:#00e8cc;--text:#f0ede8;--muted:#888;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'Outfit',sans-serif;overflow-x:hidden;cursor:none;}

/* ── CURSOR ── */
#cursor{position:fixed;width:14px;height:14px;border:2px solid var(--amber);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:border-color .3s,width .2s,height .2s,background .2s;}
#cursor-dot{position:fixed;width:4px;height:4px;background:var(--amber);border-radius:50%;pointer-events:none;z-index:10000;transform:translate(-50%,-50%);}
#cursor.hover{width:28px;height:28px;border-color:var(--cyan);background:rgba(0,232,204,.08);}

/* ── INTRO – Code Storm ── */
#intro{position:fixed;inset:0;background:#000;z-index:8000;display:flex;align-items:center;justify-content:center;overflow:hidden;}
#intro-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(232,160,32,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(232,160,32,.08) 1px,transparent 1px);background-size:40px 40px;opacity:0;animation:gridPulse 1.4s ease-out forwards;pointer-events:none;}
@keyframes gridPulse{0%{opacity:0;transform:scale(1.4);}30%{opacity:.5;transform:scale(1);}70%{opacity:.4;}100%{opacity:0;transform:scale(.9);}}
#intro-storm{position:absolute;inset:0;pointer-events:none;}
.istorm-piece{position:absolute;font-family:'JetBrains Mono',monospace;white-space:nowrap;opacity:0;will-change:transform,opacity;animation:stormFly .55s cubic-bezier(.6,0,.3,1) forwards;text-shadow:0 0 6px currentColor;}
@keyframes stormFly{
  0%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(.3) rotate(var(--sr));}
  20%{opacity:1;transform:translate(0,0) scale(1) rotate(0);}
  70%{opacity:.9;transform:translate(0,0) scale(1) rotate(0);}
  100%{opacity:0;transform:translate(var(--ex),var(--ey)) scale(.1) rotate(0);}
}
#intro-flash{position:absolute;left:50%;top:50%;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle,#fff 0%,#ffe9c2 25%,var(--amber) 50%,transparent 75%);transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none;}
#intro-flash.boom{animation:flashBoom .6s cubic-bezier(.4,0,.2,1) forwards;}
@keyframes flashBoom{
  0%{transform:translate(-50%,-50%) scale(0);opacity:0;}
  15%{opacity:1;}
  60%{transform:translate(-50%,-50%) scale(60);opacity:.5;}
  100%{transform:translate(-50%,-50%) scale(120);opacity:0;}
}
#intro-logo{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;opacity:0;transform:scale(.2) rotate(-12deg);}
#intro-logo.assemble{animation:logoSnap .55s cubic-bezier(.34,1.65,.64,1) forwards;}
@keyframes logoSnap{
  0%{opacity:0;transform:scale(.2) rotate(-12deg);filter:blur(8px);}
  55%{opacity:1;transform:scale(1.18) rotate(3deg);filter:blur(0);}
  75%{transform:scale(.96) rotate(-1deg);}
  100%{opacity:1;transform:scale(1) rotate(0);filter:blur(0);}
}
.il-text{font-family:'Syne',sans-serif;font-size:clamp(3rem,10vw,6.5rem);font-weight:800;letter-spacing:-.04em;color:#fff;line-height:.95;text-shadow:0 0 60px rgba(232,160,32,.7),0 0 120px rgba(232,160,32,.3);}
.il-text span{color:var(--amber);}
.il-sub{margin-top:1rem;font-family:'JetBrains Mono',monospace;font-size:.75rem;letter-spacing:.5em;color:var(--cyan);text-transform:uppercase;opacity:0;text-shadow:0 0 8px rgba(0,232,204,.5);}
#intro-logo.assemble .il-sub{animation:subSlide .35s .3s ease-out forwards;}
@keyframes subSlide{0%{opacity:0;letter-spacing:1.2em;}100%{opacity:1;letter-spacing:.5em;}}
.il-shock{position:absolute;left:50%;top:50%;width:120px;height:120px;border:2px solid var(--amber);border-radius:50%;transform:translate(-50%,-50%) scale(0);pointer-events:none;}
.il-shock.ring{animation:shockRing 1s cubic-bezier(.2,.8,.4,1) forwards;}
@keyframes shockRing{0%{transform:translate(-50%,-50%) scale(0);opacity:1;border-width:4px;}100%{transform:translate(-50%,-50%) scale(15);opacity:0;border-width:0;}}
.il-shock-2{position:absolute;left:50%;top:50%;width:120px;height:120px;border:1.5px solid var(--cyan);border-radius:50%;transform:translate(-50%,-50%) scale(0);pointer-events:none;}
.il-shock-2.ring{animation:shockRing2 1.2s .1s cubic-bezier(.2,.8,.4,1) forwards;}
@keyframes shockRing2{0%{transform:translate(-50%,-50%) scale(0);opacity:1;}100%{transform:translate(-50%,-50%) scale(18);opacity:0;}}
#intro.shake{animation:screenShake .35s ease-out;}
@keyframes screenShake{
  0%,100%{transform:translate(0,0);}
  20%{transform:translate(-4px,-3px);}40%{transform:translate(4px,2px);}
  60%{transform:translate(-3px,3px);}80%{transform:translate(3px,-2px);}
}
@keyframes introOut{0%{opacity:1;transform:scale(1);filter:blur(0);}100%{opacity:0;transform:scale(1.5);filter:blur(24px);}}
.intro-done{animation:introOut .5s cubic-bezier(.6,0,.4,1) forwards;pointer-events:none;}

/* ── INTRO LOGO MORPH TO NAV ── */
#intro.fade-bg{background:transparent;transition:background .4s ease;}
#intro.fade-bg #intro-grid,
#intro.fade-bg #intro-storm,
#intro.fade-bg #intro-flash,
#intro.fade-bg .il-shock,
#intro.fade-bg .il-shock-2,
#intro.fade-bg .il-sub{opacity:0!important;transition:opacity .35s ease;}
#intro-logo.morph{animation:logoMorph .75s cubic-bezier(.55,.05,.25,1) forwards;will-change:transform;}
@keyframes logoMorph{
  0%{transform:scale(1) rotate(0);}
  100%{transform:translate(var(--mx,0),var(--my,0)) scale(var(--ms,.22));}
}
#intro-logo.morph .il-text{animation:ilGlowOut .75s ease forwards;}
@keyframes ilGlowOut{
  0%{text-shadow:0 0 60px rgba(232,160,32,.7),0 0 120px rgba(232,160,32,.3);}
  100%{text-shadow:0 0 0 transparent;}
}
.main-content{opacity:0;transition:opacity .7s;}
.main-content.visible{opacity:1;}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.2rem 3rem;background:linear-gradient(90deg,rgba(8,8,8,.92) 0%,rgba(20,14,4,.92) 25%,rgba(4,20,18,.92) 50%,rgba(20,14,4,.92) 75%,rgba(8,8,8,.92) 100%);background-size:300% 100%;animation:navFlow 18s ease-in-out infinite;backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transform:translateY(-100%);transition:transform .6s cubic-bezier(.16,1,.3,1);overflow:hidden;}
nav::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(232,160,32,.06) 35%,rgba(0,232,204,.06) 65%,transparent 100%);background-size:250% 100%;animation:navFlow 12s linear infinite reverse;pointer-events:none;}
nav::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(232,160,32,.6) 30%,rgba(0,232,204,.6) 70%,transparent 100%);background-size:200% 100%;animation:navLine 8s linear infinite;}
@keyframes navFlow{0%,100%{background-position:0% 0;}50%{background-position:100% 0;}}
@keyframes navLine{from{background-position:-100% 0;}to{background-position:200% 0;}}
nav.visible{transform:translateY(0);}
.nav-logo{font-family:'Syne',sans-serif;font-size:1.3rem;font-weight:800;letter-spacing:-.02em;position:relative;z-index:1;transition:opacity .4s;}
.nav-logo span{color:var(--amber);}
.nav-links{display:flex;gap:2rem;list-style:none;position:relative;z-index:1;}
.nav-links a{color:var(--muted);text-decoration:none;font-size:.85rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;transition:color .2s;position:relative;}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--amber);transition:width .35s cubic-bezier(.2,.7,.3,1);}
.nav-links a:hover{color:var(--text);}
.nav-links a:hover::after{width:100%;}
.nav-cta{position:relative;z-index:1;background:var(--amber);color:#000;border:none;padding:.6rem 1.4rem;font-family:'Outfit',sans-serif;font-weight:600;font-size:.85rem;cursor:none;letter-spacing:.03em;transition:transform .2s,box-shadow .2s;}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(232,160,32,.35);}

/* ── HERO ── */
#hero{min-height:100vh;display:flex;align-items:center;padding:8rem 3rem 4rem;position:relative;overflow:hidden;}
.hero-bg-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:60px 60px;opacity:.35;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 40%,transparent 100%);}
.hero-content{position:relative;max-width:900px;}
.hero-tag{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--amber);color:var(--amber);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.4rem .9rem;margin-bottom:2.5rem;opacity:0;transform:translateY(20px);transition:opacity .6s .2s,transform .6s .2s;}
.hero-tag.in{opacity:1;transform:translateY(0);}
.hero-tag::before{content:'';width:6px;height:6px;background:var(--amber);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.hero-h1{font-family:'Syne',sans-serif;font-size:clamp(3.5rem,8vw,7.5rem);font-weight:800;line-height:.92;letter-spacing:-.04em;margin-bottom:2rem;opacity:0;transform:translateY(40px);transition:opacity .8s .4s,transform .8s .4s;}
.hero-h1.in{opacity:1;transform:translateY(0);}
.hero-h1 .accent{color:var(--amber);}
.hero-h1 .stroke{-webkit-text-stroke:2px var(--text);color:transparent;}
.hero-sub{font-size:1.15rem;color:var(--muted);line-height:1.7;max-width:520px;margin-bottom:3rem;opacity:0;transform:translateY(20px);transition:opacity .6s .7s,transform .6s .7s;}
.hero-sub.in{opacity:1;transform:translateY(0);}
.hero-actions{display:flex;gap:1rem;align-items:center;opacity:0;transform:translateY(20px);transition:opacity .6s .9s,transform .6s .9s;}
.hero-actions.in{opacity:1;transform:translateY(0);}
.btn-primary{background:var(--amber);color:#000;border:none;padding:.9rem 2rem;font-family:'Outfit',sans-serif;font-weight:700;font-size:1rem;cursor:none;letter-spacing:.02em;transition:transform .2s,box-shadow .2s;}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(232,160,32,.4);}
.price-cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(232,160,32,.3);}
.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border);padding:.9rem 2rem;font-family:'Outfit',sans-serif;font-weight:500;font-size:1rem;cursor:none;transition:border-color .2s;}
.btn-ghost:hover{border-color:var(--text);}
.hero-badge{position:absolute;right:3rem;top:50%;width:160px;height:160px;animation:badgeFloat 9s ease-in-out infinite;opacity:0;transition:opacity .6s 1.2s;transform-origin:center center;}
.hero-badge.in{opacity:.7;}
@keyframes badgeFloat{
  0%  {transform:translateY(-50%) perspective(600px) rotateX(4deg)  rotateY(-8deg)  translateZ(0px);}
  20% {transform:translateY(-56%) perspective(600px) rotateX(-3deg) rotateY(10deg)  translateZ(12px);}
  45% {transform:translateY(-46%) perspective(600px) rotateX(6deg)  rotateY(4deg)   translateZ(6px);}
  70% {transform:translateY(-54%) perspective(600px) rotateX(-5deg) rotateY(-10deg) translateZ(10px);}
  100%{transform:translateY(-50%) perspective(600px) rotateX(4deg)  rotateY(-8deg)  translateZ(0px);}
}

/* ── SECTION ── */
section{padding:6rem 3rem;}
.section-label{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--cyan);letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.2rem;display:block;}
.section-h2{font-family:'Syne',sans-serif;font-size:clamp(2.2rem,4vw,3.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;margin-bottom:1.5rem;}
.section-sub{color:var(--muted);font-size:1.05rem;line-height:1.7;max-width:540px;}

/* ── XRAY – balanced grid, full container width ── */
#xray{background:var(--surface);position:relative;overflow:hidden;}
#xray::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%,rgba(232,160,32,.06) 0%,transparent 40%),radial-gradient(circle at 85% 70%,rgba(0,232,204,.06) 0%,transparent 40%);pointer-events:none;}
.container{max-width:1200px;margin:0 auto;position:relative;}
.xray-layout{
  display:grid;
  grid-template-columns:1fr auto;
  gap:5rem;
  align-items:start;
  position:relative;
}
.xray-text{min-width:0;max-width:600px;align-self:start;}
.xray-text .section-h2{margin-bottom:1.5rem;}
.xray-text .section-sub{max-width:none;}
.xray-phone-col{align-self:start;}
.xray-text p.section-sub{margin-bottom:1.2rem;}
.xray-bullets{display:flex;flex-direction:column;gap:1rem;margin:2rem 0 1.5rem;}
.xray-bullet{display:flex;align-items:flex-start;gap:1rem;opacity:0;transform:translateX(-20px);transition:opacity .6s,transform .6s;}
.xray-layout.in .xray-bullet:nth-child(1){transition-delay:.15s;}
.xray-layout.in .xray-bullet:nth-child(2){transition-delay:.3s;}
.xray-layout.in .xray-bullet:nth-child(3){transition-delay:.45s;}
.xray-layout.in .xray-bullet{opacity:1;transform:translateX(0);}
.xray-bul-icon{width:34px;height:34px;border:1.5px solid var(--amber);display:flex;align-items:center;justify-content:center;font-size:.9rem;color:var(--amber);flex-shrink:0;font-family:'JetBrains Mono',monospace;font-weight:600;background:rgba(232,160,32,.06);}
.xray-bul-text{font-size:.92rem;color:var(--text);line-height:1.55;}
.xray-bul-text b{color:var(--amber);font-weight:600;}
.xray-hint{margin-top:1.8rem;font-family:'JetBrains Mono',monospace;font-size:.78rem;color:var(--cyan);display:flex;align-items:center;gap:.5rem;}
.xray-hint::before{content:'';width:8px;height:8px;background:var(--cyan);border-radius:50%;animation:pulse 1.6s infinite;}
.xray-phone-col{display:flex;flex-direction:column;align-items:center;gap:.8rem;flex-shrink:0;position:relative;padding:0 2rem;align-self:start;}
/* floating stat cards around phone */
.xray-stat{position:absolute;background:rgba(20,20,20,.92);border:1px solid var(--border);padding:.6rem .9rem;font-family:'JetBrains Mono',monospace;font-size:.72rem;backdrop-filter:blur(8px);opacity:0;transition:opacity .6s,transform .6s;z-index:5;}
.xray-stat .stat-label{color:var(--muted);display:block;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.15rem;}
.xray-stat .stat-val{color:var(--amber);font-weight:700;font-size:.95rem;}
.xray-stat .stat-val.cyan{color:var(--cyan);}
.xray-stat-1{top:8%;left:-30px;transform:translateX(-30px);}
.xray-stat-2{top:42%;right:-50px;transform:translateX(30px);}
.xray-stat-3{bottom:14%;left:-40px;transform:translateX(-30px);}
.xray-layout.in .xray-stat{opacity:1;transform:translateX(0);}
.xray-layout.in .xray-stat-1{transition-delay:.6s;}
.xray-layout.in .xray-stat-2{transition-delay:.75s;}
.xray-layout.in .xray-stat-3{transition-delay:.9s;}
.xray-stat::before{content:'';position:absolute;left:-1px;top:-1px;bottom:-1px;width:2px;background:var(--amber);}
.xray-stat-2::before{background:var(--cyan);}
.xray-stat-glow{animation:statGlow 2.4s infinite;}
@keyframes statGlow{0%,100%{box-shadow:0 0 0 rgba(232,160,32,0);}50%{box-shadow:0 0 20px rgba(232,160,32,.25);}}
.xray-tag{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:3px 10px;border-radius:2px;}
.xray-tag-top{background:rgba(0,232,204,.15);color:var(--cyan);}
.xray-tag-bot{background:rgba(255,255,255,.08);color:var(--muted);}
/* Phone */
.xray-phone-wrap{
  position:relative;width:260px;height:520px;
  border-radius:34px;border:3px solid #333;background:#111;
  box-shadow:0 40px 100px rgba(0,0,0,.7),inset 0 0 0 1px #444,0 0 60px rgba(232,160,32,.08);
  overflow:hidden;cursor:ns-resize;user-select:none;
  transition:transform .4s cubic-bezier(.16,1,.3,1);
}
.xray-phone-wrap:hover{transform:translateY(-4px);}
.xray-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:80px;height:22px;background:#111;border-radius:0 0 14px 14px;z-index:20;}
.xray-site-v{position:absolute;inset:0;background:#fff;overflow:hidden;border-radius:31px;z-index:1;}
.xray-code-v{position:absolute;inset:0;background:#0d1117;padding:26px 12px 12px;overflow:hidden;border-radius:31px;z-index:2;clip-path:inset(0 0 100% 0);}
.xray-div-h{position:absolute;left:0;right:0;height:3px;background:var(--amber);z-index:10;cursor:ns-resize;transform:translateY(-50%);top:0;box-shadow:0 0 12px rgba(232,160,32,.6);}
.xray-div-h::after{content:'↕';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:28px;height:28px;background:var(--amber);border-radius:50%;color:#000;font-size:12px;display:flex;align-items:center;justify-content:center;line-height:28px;text-align:center;box-shadow:0 0 14px rgba(232,160,32,.7);}
.phone-inner{padding-top:26px;height:100%;}
.phone-nav{height:32px;background:#1a1a2e;display:flex;align-items:center;padding:0 12px;gap:5px;}
.phone-nav span{color:#fff;font-size:8px;font-weight:600;}
.phone-dots{display:flex;gap:4px;}
.phone-dot{width:6px;height:6px;border-radius:50%;}
.phone-hero{background:linear-gradient(135deg,#1a1a2e,#16213e);padding:16px 12px;display:flex;flex-direction:column;gap:7px;}
.phone-hero h3{color:#fff;font-size:13px;font-weight:800;line-height:1.2;}
.phone-hero p{color:rgba(255,255,255,.6);font-size:7.5px;line-height:1.5;}
.phone-cta-btn{background:var(--amber);color:#000;border:none;padding:5px 10px;font-size:8px;font-weight:700;width:fit-content;}
.phone-cards{padding:12px;display:flex;flex-direction:column;gap:5px;}
.phone-card{height:34px;background:#f5f5f5;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:7.5px;color:#999;}
.tok-tag{color:#ff7b72;}.tok-attr{color:#79c0ff;}.tok-val{color:#a5d6ff;}.tok-str{color:#a8ff78;}.tok-comment{color:#8b949e;}
.code-line{font-family:'JetBrains Mono',monospace;font-size:8.5px;line-height:1.75;white-space:nowrap;}
@media(max-width:920px){
  .xray-layout{grid-template-columns:1fr;gap:3rem;}
  .xray-phone-col{padding:0;}
  .xray-stat-1,.xray-stat-2,.xray-stat-3{display:none;}
}

/* ── HAMMER ── */
#hammer-section{background:var(--bg);text-align:center;}
#workbench{
  position:relative;width:560px;max-width:96vw;height:380px;
  margin:1.5rem auto 0;background:#1a1208;
  border:2px solid #3a2a0a;border-radius:6px;
  box-shadow:0 0 0 8px #0f0b03,0 40px 80px rgba(0,0,0,.7);
  overflow:visible;cursor:none;
}
.wb-surface{position:absolute;bottom:0;left:0;right:0;height:58px;background:#2d1f08;border-top:3px solid #4a3010;border-radius:0 0 4px 4px;}
#pieces-area{position:absolute;top:20px;left:0;right:0;bottom:58px;}
.code-piece{
  position:absolute;
  background:#1e2a1e;border:1px solid #2d4a2d;
  color:#a8ff78;font-family:'JetBrains Mono',monospace;
  font-size:10px;padding:5px 10px;border-radius:3px;
  transition:left .55s cubic-bezier(.16,1,.3,1),top .55s cubic-bezier(.16,1,.3,1),transform .55s;
  user-select:none;white-space:nowrap;
}
.hprog-wrap{width:300px;max-width:90vw;height:5px;background:#1a1a1a;border-radius:3px;margin:1.4rem auto .4rem;overflow:hidden;}
.hprog-bar{height:100%;background:var(--amber);border-radius:3px;width:0%;transition:width .45s cubic-bezier(.16,1,.3,1);}
#h-prompt{font-family:'JetBrains Mono',monospace;font-size:.85rem;color:var(--amber);animation:blink 1.5s infinite;min-height:1.4em;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
#h-stage{font-size:.75rem;color:var(--muted);font-family:'JetBrains Mono',monospace;margin:.25rem 0 0;min-height:1.2em;}
#h-result{position:absolute;inset:0;background:rgba(8,8,8,.96);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;opacity:0;pointer-events:none;transition:opacity .7s;border-radius:4px;}
#h-result.show{opacity:1;pointer-events:all;}
.mini-br{width:240px;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 16px 50px rgba(0,0,0,.5);}
.mini-br-bar{height:22px;background:#e8e8e8;display:flex;align-items:center;gap:4px;padding:0 8px;}
.mini-br-bar .d{width:7px;height:7px;border-radius:50%;}
.mini-br-body{height:80px;background:linear-gradient(135deg,#1a1a2e,#0a0a1a);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;}
.mini-br-body p{color:#fff;font-size:11px;font-weight:700;}
.mini-br-body span{color:var(--amber);font-size:9px;}
.sparkle{position:absolute;pointer-events:none;font-size:1.4rem;animation:sparkUp .8s ease-out forwards;}
@keyframes sparkUp{to{transform:translateY(-60px);opacity:0;}}

/* ── FEATURES ── */
#features{background:var(--surface);}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;margin-top:3rem;border:1.5px solid var(--border);}
.feature-card{padding:2.5rem 2rem;border:1.5px solid var(--border);background:var(--bg);position:relative;overflow:hidden;transition:background .3s;}
.feature-card:hover{background:#141414;}
.feature-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--amber);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1);}
.feature-card:hover::before{transform:scaleX(1);}
.feature-icon{font-size:2rem;margin-bottom:1.2rem;}
.feature-h3{font-family:'Syne',sans-serif;font-size:1.2rem;font-weight:700;margin-bottom:.7rem;letter-spacing:-.02em;}
.feature-p{color:var(--muted);font-size:.9rem;line-height:1.7;}
.training-badge{display:inline-block;margin-top:.8rem;background:rgba(0,232,204,.12);color:var(--cyan);border:1px solid rgba(0,232,204,.3);padding:.3rem .7rem;font-size:.75rem;font-weight:600;}

/* ── PRICE – Card design ── */
#preise{background:var(--bg);position:relative;overflow:hidden;}
#preise::before{content:'';position:absolute;top:20%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(232,160,32,.08) 0%,transparent 60%);pointer-events:none;animation:slowDrift 20s ease-in-out infinite;}
@keyframes slowDrift{0%,100%{transform:translate(0,0);}50%{transform:translate(-40px,30px);}}
.price-head{max-width:680px;margin-bottom:3.5rem;}
.price-layout{display:grid;grid-template-columns:1fr 380px;gap:3rem;align-items:start;}
.price-section-label{font-size:.72rem;color:var(--muted);margin-bottom:1.2rem;text-transform:uppercase;letter-spacing:.12em;font-family:'JetBrains Mono',monospace;display:flex;align-items:center;gap:.6rem;}
.price-section-label::before{content:'';width:24px;height:1px;background:var(--amber);}
/* Base packages — 3 column cards */
.base-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2.5rem;}
.price-card{
  position:relative;
  padding:1.6rem 1.3rem 1.5rem;
  border:1.5px solid var(--border);
  background:var(--surface);
  cursor:none;
  transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .25s,background .25s,box-shadow .3s;
  display:flex;flex-direction:column;
  gap:.4rem;
  user-select:none;
  overflow:hidden;
}
.price-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--amber),#ffd47a);
  transform:scaleX(0);transform-origin:left;
  transition:transform .4s cubic-bezier(.16,1,.3,1);
}
.price-card:hover{border-color:#444;transform:translateY(-3px);background:#181818;}
.price-card:hover::before{transform:scaleX(1);}
.price-card.active{border-color:var(--amber);background:rgba(232,160,32,.06);box-shadow:0 8px 30px rgba(232,160,32,.12);}
.price-card.active::before{transform:scaleX(1);}
.pc-icon{font-size:1.7rem;margin-bottom:.4rem;}
.pc-label{font-family:'Syne',sans-serif;font-size:1.05rem;font-weight:700;letter-spacing:-.01em;}
.pc-desc{color:var(--muted);font-size:.78rem;line-height:1.55;flex:1;}
.pc-price{font-family:'Syne',sans-serif;font-size:1.5rem;font-weight:800;color:var(--amber);letter-spacing:-.02em;margin-top:.4rem;}
.pc-check{
  position:absolute;top:1rem;right:1rem;
  width:24px;height:24px;border:1.5px solid var(--border);border-radius:3px;
  display:flex;align-items:center;justify-content:center;
  font-size:.7rem;color:transparent;
  transition:all .25s;background:transparent;
}
.price-card.active .pc-check{background:var(--amber);border-color:var(--amber);color:#000;}
/* Extras — 2 column cards */
.extra-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;}

/* ── WIDE EXTRA CARD (Partnerunternehmen) ── */
.extra-card-wide{
  grid-column:1 / -1;
  display:flex !important;
  align-items:center;
  gap:1.25rem;
  padding:1.25rem 1.5rem !important;
  background:linear-gradient(135deg,rgba(0,232,204,.04),rgba(232,160,32,.02)) !important;
  border-color:rgba(0,232,204,.18) !important;
  position:relative;
}
.extra-card-wide .ec-icon{font-size:2.2rem;flex-shrink:0;line-height:1;}
.extra-card-wide .ec-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem;}
.extra-card-wide .ec-label{font-size:1.05rem;font-weight:700;}
.extra-card-wide .ec-desc{font-size:.82rem;color:var(--muted);max-width:none;line-height:1.5;}
.extra-card-wide .partner-badge{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);border:1px solid rgba(0,232,204,.35);padding:4px 10px;white-space:nowrap;font-family:'JetBrains Mono',monospace;flex-shrink:0;background:rgba(0,232,204,.05);}
.extra-card-wide .ec-price{font-size:1rem !important;flex-shrink:0;}
.extra-card-wide .ec-check{flex-shrink:0;}
.extra-card-wide.active{border-color:var(--cyan) !important;background:linear-gradient(135deg,rgba(0,232,204,.08),rgba(232,160,32,.04)) !important;}
.extra-card-wide.active .ec-check{background:var(--cyan);border-color:var(--cyan);color:#000;}

@media(max-width:920px){
  .extra-card-wide{flex-wrap:wrap;padding:1rem !important;}
  .extra-card-wide .ec-info{flex:1 1 70%;}
  .extra-card-wide .partner-badge{order:5;flex:0 0 100%;text-align:center;margin-top:.5rem;}
}
.extra-card{
  display:flex;align-items:center;gap:.9rem;
  padding:.95rem 1.1rem;
  border:1px solid var(--border);
  background:var(--surface);
  cursor:none;
  transition:all .25s;
  user-select:none;
  position:relative;
}
.extra-card:hover{border-color:#3a3a3a;background:#181818;}
.extra-card.active{border-color:var(--amber);background:rgba(232,160,32,.06);}
.ec-icon{font-size:1.15rem;flex-shrink:0;}
.ec-info{flex:1;min-width:0;}
.ec-label{font-weight:600;font-size:.85rem;display:block;}
.ec-desc{color:var(--muted);font-size:.7rem;margin-top:.15rem;line-height:1.4;}
.ec-price{color:var(--amber);font-family:'JetBrains Mono',monospace;font-size:.78rem;flex-shrink:0;font-weight:600;}
.ec-check{width:18px;height:18px;border:1.5px solid var(--border);border-radius:3px;flex-shrink:0;transition:all .2s;display:flex;align-items:center;justify-content:center;font-size:.65rem;color:transparent;}
.extra-card.active .ec-check{background:var(--amber);border-color:var(--amber);color:#000;}
/* Price display — premium card */
.price-display{
  position:sticky;top:100px;
  border:1px solid var(--border);
  background:linear-gradient(160deg,#1a1308 0%,var(--surface) 60%);
  padding:2rem 1.8rem;
  position:sticky;overflow:hidden;
}
.price-display::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--amber) 0%,var(--cyan) 100%);
}
.price-display::after{
  content:'';position:absolute;top:-50%;right:-50%;width:200%;height:200%;
  background:radial-gradient(circle at center,rgba(232,160,32,.08) 0%,transparent 50%);
  pointer-events:none;
  animation:pdGlow 4s ease-in-out infinite;
}
@keyframes pdGlow{0%,100%{opacity:.6;}50%{opacity:1;}}
.pd-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;position:relative;z-index:1;}
.pd-label{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.15em;}
.pd-live{display:flex;align-items:center;gap:.4rem;font-family:'JetBrains Mono',monospace;font-size:.65rem;color:var(--cyan);}
.pd-live::before{content:'';width:6px;height:6px;background:var(--cyan);border-radius:50%;animation:pulse 1.5s infinite;}
.price-from{font-size:.78rem;color:var(--muted);position:relative;z-index:1;margin-bottom:.2rem;}
.price-total{
  font-family:'Syne',sans-serif;
  font-size:3.2rem;font-weight:800;
  letter-spacing:-.04em;
  background:linear-gradient(135deg,var(--amber) 0%,#ffd47a 70%,#fff5d6 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  line-height:1;white-space:nowrap;
  position:relative;z-index:1;
  filter:drop-shadow(0 2px 12px rgba(232,160,32,.3));
}
@keyframes pBump{0%{transform:scale(1.12) translateY(-3px);}100%{transform:scale(1) translateY(0);}}
.price-total.bump{animation:pBump .35s cubic-bezier(.34,1.56,.64,1);}
.price-netto{font-size:.7rem;color:var(--muted);font-family:'JetBrains Mono',monospace;margin-top:.4rem;position:relative;z-index:1;}
.price-breakdown{margin-top:1.3rem;border-top:1px solid var(--border);padding-top:1rem;display:flex;flex-direction:column;gap:.3rem;position:relative;z-index:1;}
.pb-row{display:flex;justify-content:space-between;font-size:.8rem;padding:.25rem 0;animation:bdSlide .25s ease-out;}
@keyframes bdSlide{from{opacity:0;transform:translateX(-8px);}to{opacity:1;transform:translateX(0);}}
.pb-row.total-row{border-top:1px solid var(--border);margin-top:.4rem;padding-top:.7rem;font-weight:700;}
.pb-label{color:var(--muted);}
.pb-val{font-family:'JetBrains Mono',monospace;color:var(--text);white-space:nowrap;}
.pb-row.total-row .pb-label,.pb-row.total-row .pb-val{color:var(--amber);}
.price-cta{width:100%;margin-top:1.5rem;position:relative;z-index:1;}
.price-note{font-size:.7rem;color:var(--muted);margin-top:.8rem;text-align:center;line-height:1.5;position:relative;z-index:1;}

/* ── PRICE SHORTCUT BUTTON ── */
.price-shortcut{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:2rem;font-size:.82rem;letter-spacing:.04em;border-color:rgba(232,160,32,.4);color:var(--amber);padding:.55rem 1.2rem;transition:all .3s;}
.price-shortcut:hover{border-color:var(--amber);background:rgba(232,160,32,.06);}
.price-shortcut em{font-style:italic;font-weight:700;}

/* ── ON-REQUEST EXTRA ── */
.ec-poa{font-size:.75rem;color:var(--cyan);font-weight:600;letter-spacing:.04em;white-space:nowrap;}
.extra-on-request.active{border-color:var(--cyan);background:rgba(0,232,204,.06);}
.extra-on-request.active .ec-check{background:var(--cyan);border-color:var(--cyan);color:#000;}
@media(max-width:920px){
  .price-layout{grid-template-columns:1fr;}
  .base-grid{grid-template-columns:1fr;}
  .extra-grid{grid-template-columns:1fr;}
  .price-display{position:static;}
}

/* ── PORTFOLIO ── */
#portfolio{background:var(--surface);position:relative;overflow:hidden;}
#portfolio::before{content:'';position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent 0%,var(--border) 50%,transparent 100%);}
#portfolio::after{content:'';position:absolute;bottom:-40%;left:-10%;width:600px;height:600px;background:radial-gradient(circle,rgba(0,232,204,.04) 0%,transparent 60%);pointer-events:none;animation:slowDrift 25s ease-in-out infinite;}
.portfolio-head{max-width:680px;margin-bottom:2rem;}
.portfolio-tabs{display:flex;gap:.6rem;margin-bottom:3rem;flex-wrap:wrap;}
.port-tab{
  padding:.55rem 1.1rem;
  border:1px solid var(--border);
  background:var(--bg);
  font-size:.78rem;
  color:var(--muted);
  cursor:none;
  transition:all .25s;
  font-family:'JetBrains Mono',monospace;
  letter-spacing:.05em;
  user-select:none;
}
.port-tab:hover{border-color:#444;color:var(--text);}
.port-tab.active{border-color:var(--amber);color:var(--amber);background:rgba(232,160,32,.06);}
.portfolio-layout{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:5rem;
  align-items:center;
  position:relative;
}
.portfolio-devices{display:flex;align-items:flex-end;gap:1.5rem;flex-shrink:0;position:relative;}
/* ambient backlight glow behind devices */
.portfolio-devices::before{
  content:'';position:absolute;left:50%;top:50%;
  width:130%;height:130%;
  background:radial-gradient(circle,rgba(232,160,32,.12) 0%,transparent 60%);
  transform:translate(-50%,-50%);pointer-events:none;z-index:0;
  filter:blur(20px);
  animation:portGlow 4s ease-in-out infinite;
}
@keyframes portGlow{0%,100%{opacity:.5;}50%{opacity:.9;}}
.mac-mock{width:340px;flex-shrink:0;position:relative;z-index:1;transition:transform .5s cubic-bezier(.16,1,.3,1);}
.mac-mock:hover{transform:translateY(-6px);}
.mac-screen{background:#1a1a1a;border-radius:10px 10px 0 0;border:2px solid #333;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.6),0 0 0 1px rgba(232,160,32,.05);}
.mac-bar{height:22px;background:#2a2a2a;display:flex;align-items:center;gap:5px;padding:0 8px;}
.mac-bar .d{width:8px;height:8px;border-radius:50%;}
.mac-content-wrap{height:190px;overflow:hidden;position:relative;}
.mac-base{height:12px;background:linear-gradient(#2a2a2a,#1a1a1a);}
.mac-stand{width:70px;height:28px;background:#222;margin:0 auto;border-radius:0 0 6px 6px;}
.iphone-mock{width:95px;flex-shrink:0;position:relative;z-index:1;transition:transform .5s cubic-bezier(.16,1,.3,1);}
.iphone-mock:hover{transform:translateY(-4px);}
.iphone-body{background:#1a1a1a;border-radius:18px;border:2px solid #333;overflow:hidden;padding:6px 4px;box-shadow:0 20px 40px rgba(0,0,0,.5);}
.iphone-notch{width:34px;height:8px;background:#111;border-radius:5px;margin:0 auto 3px;}
.iphone-content-wrap{height:140px;border-radius:10px;overflow:hidden;position:relative;}
/* info panel */
.portfolio-info{flex:1;min-width:0;overflow:visible;position:relative;}
.port-step-num{
  position:absolute;top:-1rem;right:0;
  font-family:'Syne',sans-serif;font-size:5rem;font-weight:800;
  color:var(--border);line-height:1;
  opacity:.5;
  transition:color .4s;
}
.port-logo{font-family:'Syne',sans-serif;font-size:1.9rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.4rem;line-height:1.1;}
.port-tag{color:var(--amber);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.2rem;display:inline-block;border:1px solid rgba(232,160,32,.3);padding:.3rem .8rem;background:rgba(232,160,32,.06);}
.port-desc{color:var(--muted);font-size:.92rem;line-height:1.7;margin-bottom:1.8rem;max-width:420px;}
.port-stats{display:flex;gap:2.5rem;}
.port-stats > div{position:relative;}
.port-stats > div::after{
  content:'';position:absolute;left:-1.25rem;top:5%;height:90%;width:1px;
  background:var(--border);
}
.port-stats > div:first-child::after{display:none;}
.ps-val{font-family:'Syne',sans-serif;font-size:1.9rem;font-weight:800;color:var(--cyan);letter-spacing:-.02em;line-height:1;}
.ps-lbl{font-size:.75rem;color:var(--muted);margin-top:.3rem;}
.port-nav{display:flex;gap:1rem;margin-top:2rem;align-items:center;}
.p-nav-btn{
  width:46px;height:46px;
  border:1px solid var(--border);background:transparent;
  color:var(--text);font-size:1.1rem;cursor:none;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;
  font-family:'JetBrains Mono',monospace;
}
.p-nav-btn:hover{border-color:var(--amber);color:var(--amber);background:rgba(232,160,32,.06);transform:translateY(-2px);}
.port-dots{display:flex;gap:.5rem;align-items:center;}
.port-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:all .35s cubic-bezier(.16,1,.3,1);cursor:none;}
.port-dot.active{background:var(--amber);width:24px;border-radius:4px;}
/* text transition - stronger animations */
.port-info-inner{transition:opacity .35s ease,transform .5s cubic-bezier(.16,1,.3,1),filter .35s;}
.port-info-inner.out{opacity:0;transform:scale(.97);filter:blur(2px);}
.port-info-inner.in-right{opacity:0;transform:scale(1.03);filter:blur(2px);}
.port-info-inner.in-left{opacity:0;transform:scale(1.03);filter:blur(2px);}
.mac-content-wrap{position:relative;}
.mac-content-wrap > div, .iphone-content-wrap > div{
  transition:opacity .25s,transform .35s cubic-bezier(.16,1,.3,1);
}
@media(max-width:920px){
  .portfolio-layout{grid-template-columns:1fr;gap:2.5rem;}
  .portfolio-devices{justify-content:center;}
}

/* ── WHY US ── */
#warum{background:var(--bg);}
.warum-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:3rem;}
.warum-card{padding:2rem;border:1px solid var(--border);position:relative;overflow:hidden;}
.warum-number{font-family:'Syne',sans-serif;font-size:4rem;font-weight:800;color:var(--border);position:absolute;top:1rem;right:1.5rem;line-height:1;transition:color .3s;}
.warum-card:hover .warum-number{color:rgba(232,160,32,.15);}
.warum-h3{font-family:'Syne',sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:.6rem;}
.warum-p{color:var(--muted);font-size:.88rem;line-height:1.7;max-width:300px;}

/* ── REVIEWS ── */
#reviews{background:var(--surface);overflow:hidden;}
.reviews-marquee{display:flex;gap:1.5rem;margin-top:3rem;animation:marquee 40s linear infinite;width:max-content;}
.reviews-marquee:hover{animation-play-state:paused;}
@keyframes marquee{to{transform:translateX(-50%);}}
.review-card{width:310px;padding:1.7rem;border:1px solid var(--border);background:var(--bg);flex-shrink:0;}
.review-stars{color:var(--amber);font-size:.9rem;margin-bottom:.8rem;}
.review-text{color:var(--text);font-size:.88rem;line-height:1.7;margin-bottom:1.2rem;font-style:italic;}
.review-author{display:flex;align-items:center;gap:.8rem;}
.review-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--amber),var(--cyan));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:#000;flex-shrink:0;}
.review-name{font-weight:600;font-size:.84rem;}
.review-role{color:var(--muted);font-size:.73rem;}

/* ── FAQ ── */
#faq{background:var(--bg);}
.faq-inner{max-width:780px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--border);}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:1.3rem 0 1.3rem 1.4rem;cursor:none;font-weight:600;font-size:1rem;transition:color .2s;}
.faq-q:hover{color:var(--amber);}
.faq-arrow{font-size:1.2rem;transition:transform .3s;color:var(--muted);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.faq-a p{color:var(--muted);font-size:.9rem;line-height:1.7;padding-bottom:1.3rem;padding-left:1.4rem;}
.faq-item.open .faq-a{max-height:200px;}
.faq-item.open .faq-arrow{transform:rotate(45deg);}

/* ── CONTACT ── */
#kontakt{background:var(--surface);}
.kontakt-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:3rem;}
.wa-block{padding:2rem;background:#0a1f0a;border:1px solid #1a4a1a;display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;}
.wa-icon{font-size:2.5rem;}
.wa-title{font-family:'Syne',sans-serif;font-size:1.3rem;font-weight:700;}
.wa-sub{color:var(--muted);font-size:.88rem;line-height:1.6;}
.btn-wa{display:inline-block;padding:.8rem 1.5rem;background:#25d366;color:#fff;font-family:'Outfit',sans-serif;font-weight:700;font-size:.9rem;text-decoration:none;cursor:none;transition:transform .2s,box-shadow .2s;}
.btn-wa:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(37,211,102,.35);}
.form-group{margin-bottom:1rem;}

/* ── TRANSFER BUTTON (Preisrechner → Formular) ── */
.bc-transfer-btn{
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  width:100%;
  padding:.75rem 1rem;
  margin-bottom:1.5rem;
  background:linear-gradient(90deg,rgba(232,160,32,.08),rgba(0,232,204,.08));
  border:1px dashed rgba(232,160,32,.4);
  color:var(--amber);
  font-family:inherit;
  font-size:.85rem;
  font-weight:600;
  letter-spacing:.02em;
  cursor:none;
  transition:all .3s;
  position:relative;
}
.bc-transfer-btn:hover{
  border-style:solid;
  border-color:var(--amber);
  background:linear-gradient(90deg,rgba(232,160,32,.15),rgba(0,232,204,.1));
  transform:translateY(-1px);
}
.bc-transfer-btn:active{transform:translateY(0);}
.kontakt-form{transition:box-shadow .5s;}
.form-group label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.05em;}
.form-group input,.form-group textarea,.form-group select{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);padding:.8rem 1rem;font-family:'Outfit',sans-serif;font-size:.95rem;outline:none;transition:border-color .2s;}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--amber);}
.form-group textarea{height:120px;resize:vertical;}
.form-group select option{background:#111;}

/* ── FOOTER ── */
footer{border-top:1px solid var(--border);padding:2rem 3rem;display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--muted);}
.footer-logo{font-family:'Syne',sans-serif;font-weight:800;font-size:1.1rem;}
.footer-logo span{color:var(--amber);}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .7s;}
.reveal.in{opacity:1;transform:translateY(0);}
.toast{position:fixed;bottom:2rem;right:2rem;background:var(--amber);color:#000;padding:1rem 1.5rem;font-weight:700;transform:translateY(100px);opacity:0;transition:all .4s;z-index:500;}
.toast.show{transform:translateY(0);opacity:1;}

/* ── SCROLL PROGRESS ── */
#scroll-progress{position:fixed;top:0;left:0;height:2px;width:0%;background:linear-gradient(90deg,var(--amber),var(--cyan));z-index:1000;transition:width .12s linear;box-shadow:0 0 12px rgba(232,160,32,.5);}
#scroll-progress::after{content:'';position:absolute;right:0;top:-1px;width:14px;height:4px;background:radial-gradient(circle at right,var(--cyan),transparent 70%);}

/* ── BACK TO TOP BUTTON ── */
#to-top{position:fixed;bottom:2rem;right:2rem;width:46px;height:46px;border:1px solid var(--border);background:rgba(17,17,17,.85);backdrop-filter:blur(8px);color:var(--amber);font-size:1.2rem;cursor:none;opacity:0;transform:translateY(20px) scale(.85);transition:all .4s cubic-bezier(.34,1.56,.64,1);z-index:90;display:flex;align-items:center;justify-content:center;}
#to-top.show{opacity:1;transform:translateY(0) scale(1);}
#to-top:hover{border-color:var(--amber);background:var(--amber);color:#000;transform:translateY(-3px) scale(1.05);}

/* ── SECTION HEADS (warum / reviews / kontakt) ── */
.warum-head,.reviews-head,.kontakt-head{max-width:720px;margin:0 auto 3rem;text-align:center;}
.warum-head .section-h2,.reviews-head .section-h2,.kontakt-head .section-h2{margin-top:.5rem;}
.warum-head .section-sub,.reviews-head .section-sub,.kontakt-head .section-sub{margin-top:1rem;margin-left:auto;margin-right:auto;}

/* ── WARUM CARDS – 3D HOVER ── */
.warum-card{transition:transform .5s cubic-bezier(.2,.7,.3,1),border-color .3s,background .3s;}
.warum-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(232,160,32,.05),transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none;}
.warum-card:hover{transform:translateY(-6px);border-color:rgba(232,160,32,.3);}
.warum-card:hover::before{opacity:1;}
.warum-card::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:linear-gradient(90deg,var(--amber),var(--cyan));transition:width .5s cubic-bezier(.2,.7,.3,1);}
.warum-card:hover::after{width:100%;}

/* ── FEATURE CARDS – HOVER ── */
.feature-card{transition:transform .5s cubic-bezier(.2,.7,.3,1),border-color .3s;position:relative;overflow:hidden;}
.feature-card::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(232,160,32,.08) 0%,transparent 40%);opacity:0;transition:opacity .5s;pointer-events:none;}
.feature-card:hover{transform:translateY(-4px);border-color:rgba(232,160,32,.3);}
.feature-card:hover::before{opacity:1;}
.feature-card .feature-icon{transition:transform .5s cubic-bezier(.34,1.56,.64,1);display:inline-block;}
.feature-card:hover .feature-icon{transform:scale(1.15) rotate(-5deg);}

/* ── REVIEW CARDS HOVER ── */
.review-card{transition:transform .4s,border-color .3s;}
.review-card:hover{transform:translateY(-4px) scale(1.02);border-color:rgba(232,160,32,.3);}

/* ── KONTAKT INFO BOX ── */
.kontakt-info{padding:1.5rem;border:1px solid var(--border);background:var(--bg);transition:border-color .3s,transform .4s;position:relative;overflow:hidden;}
.kontakt-info::before{content:'';position:absolute;left:0;top:0;width:3px;height:100%;background:linear-gradient(180deg,var(--amber),transparent);transform:scaleY(0);transform-origin:top;transition:transform .5s;}
.kontakt-info:hover{border-color:rgba(232,160,32,.3);transform:translateY(-2px);}
.kontakt-info:hover::before{transform:scaleY(1);}

/* ── KONTAKT FORM ── */
.kontakt-form{padding:2rem;border:1px solid var(--border);background:linear-gradient(180deg,rgba(17,17,17,.6),rgba(8,8,8,.3));}

/* ── FORM INPUTS GLOW ON FOCUS ── */
.form-group input,.form-group select,.form-group textarea{transition:border-color .3s,box-shadow .3s,background .3s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--amber);background:rgba(232,160,32,.04);box-shadow:0 0 0 3px rgba(232,160,32,.12),0 8px 24px -8px rgba(232,160,32,.3);}

/* ── BUTTON SHINE ── */
.btn-primary{position:relative;overflow:hidden;isolation:isolate;}
.btn-primary::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:left .6s cubic-bezier(.2,.7,.3,1);z-index:-1;}
.btn-primary:hover::before{left:100%;}

/* ── FAQ ANIMATION REFINED ── */
.faq-item{transition:border-color .3s,background .3s;}
.faq-item:hover{border-color:rgba(232,160,32,.25);background:rgba(232,160,32,.02);}
.faq-q{position:relative;}
.faq-q::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--amber);transform:scaleY(0);transform-origin:center;transition:transform .35s cubic-bezier(.2,.7,.3,1);}
.faq-item.open .faq-q::before{transform:scaleY(1);}
.faq-arrow{transition:transform .4s cubic-bezier(.34,1.56,.64,1),color .3s;display:inline-block;}
.faq-item.open .faq-arrow{transform:rotate(45deg);color:var(--amber);}

/* ── HAMMER SECTION HEAD ── */
#hammer-section .container{text-align:center;}

/* ── MARQUEE PERF ── */
.reviews-marquee{will-change:transform;}

/* ── REVEAL VARIANTS ── */
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .7s,transform .7s;}
.reveal-left.in{opacity:1;transform:translateX(0);}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .7s,transform .7s;}
.reveal-right.in{opacity:1;transform:translateX(0);}
.reveal-scale{opacity:0;transform:scale(.9);transition:opacity .7s,transform .7s cubic-bezier(.34,1.56,.64,1);}
.reveal-scale.in{opacity:1;transform:scale(1);}

/* stagger children inside .reveal */
.reveal.stagger.in > *{animation:staggerIn .7s cubic-bezier(.2,.7,.3,1) backwards;}
.reveal.stagger.in > *:nth-child(1){animation-delay:.05s;}
.reveal.stagger.in > *:nth-child(2){animation-delay:.15s;}
.reveal.stagger.in > *:nth-child(3){animation-delay:.25s;}
.reveal.stagger.in > *:nth-child(4){animation-delay:.35s;}
.reveal.stagger.in > *:nth-child(5){animation-delay:.45s;}
.reveal.stagger.in > *:nth-child(6){animation-delay:.55s;}
@keyframes staggerIn{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}

/* ── HERO H1 – ruhig, dezent ── */
.hero-h1 span.stroke,.hero-h1 span.accent{display:inline-block;}

/* ── SECTION DIVIDER GLOW ── */
section{position:relative;}
section + section::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:140px;height:1px;background:linear-gradient(90deg,transparent,rgba(232,160,32,.2),transparent);}

/* ── FLOATING DOT (live indicator pattern reused) ── */
@keyframes pulseDot{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(.8);}}

/* ── RESPONSIVE FORM PADDING ── */
@media(max-width:920px){.kontakt-form{padding:1.5rem;}}

/* ── REDUCED MOTION ── */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}}

/* ══════════════════════════════════════════════════════════
   MOBILE / TABLET (≤920px) — comprehensive
   ══════════════════════════════════════════════════════════ */
@media(max-width:920px){
  /* spacing */
  section{padding:4rem 1.5rem;}
  #hero{padding:6rem 1.5rem 3rem;min-height:auto;}
  nav{padding:.9rem 1.25rem;}
  footer{padding:3rem 1.5rem;text-align:center;flex-direction:column;gap:1.2rem;align-items:center;}
  footer > div{width:100%;}
  .footer-logo{font-size:1.5rem;}

  /* Werkbank wirklich zentrieren */
  #hammer-section{text-align:center;}
  #hammer-section .container{display:flex;flex-direction:column;align-items:center;}
  #workbench{margin-left:auto !important;margin-right:auto !important;}
  #hprog-wrap,#h-prompt,#h-stage{margin-left:auto;margin-right:auto;}

  /* nav: kill links, keep logo + cta */
  .nav-links{display:none;}
  .nav-cta{padding:.55rem 1.05rem;font-size:.78rem;}
  .nav-logo{font-size:1.15rem;}

  /* hero text full-width */
  .hero-content{max-width:100%;}
  .hero-h1{font-size:clamp(2.6rem,11vw,4.2rem);margin-bottom:1.5rem;}
  .hero-sub{font-size:1.02rem;max-width:100%;margin-bottom:2rem;}
  .hero-tag{margin-bottom:1.8rem;font-size:.7rem;}
  .hero-actions{flex-direction:column;align-items:stretch;width:100%;gap:.7rem;}
  .hero-actions .btn-primary,.hero-actions .btn-ghost{width:100%;text-align:center;padding:.95rem 1rem;font-size:.95rem;}

  /* hero badge: smaller, bottom-right, no parallax mess */
  .hero-badge{width:100px;height:100px;right:1rem;bottom:1.2rem;top:auto;animation:badgeFloatMobile 9s ease-in-out infinite;}
  .hero-badge.in{opacity:.5;}
  @keyframes badgeFloatMobile{
    0%  {transform:perspective(400px) rotateX(3deg) rotateY(-6deg) translateY(0px);}
    50% {transform:perspective(400px) rotateX(-4deg) rotateY(7deg) translateY(-6px);}
    100%{transform:perspective(400px) rotateX(3deg) rotateY(-6deg) translateY(0px);}
  }

  /* xray text full width */
  .xray-text{max-width:100%;}
  .xray-phone-wrap{width:240px;height:480px;}
  .xray-tag-bot{display:none;}
  .xray-stat-1,.xray-stat-2,.xray-stat-3{display:none;}

  /* hammer */
  #workbench{height:300px;}
  #h-prompt{font-size:.88rem;}

  /* features → 1 col */
  .features-grid{grid-template-columns:1fr;border:none;gap:1px;background:var(--border);}
  .feature-card{padding:1.8rem 1.4rem;}

  /* warum → 1 col */
  .warum-grid{grid-template-columns:1fr;}
  .warum-card{padding:1.6rem;}
  .warum-number{font-size:3rem;top:.7rem;right:1rem;}

  /* prices already 1 col via existing rule */
  .base-grid{grid-template-columns:1fr 1fr;}
  .price-card{padding:1.2rem 1rem;}
  .extra-card{padding:1rem .9rem;}
  .pc-price{font-size:1.3rem;}
  .price-section-label{margin-top:.5rem;}

  /* portfolio devices smaller */
  .mac-mock{width:260px;}
  .mac-content-wrap{height:150px;}
  .iphone-mock{width:80px;}
  .iphone-content-wrap{height:120px;}
  .port-step-num{font-size:3.5rem;top:-.5rem;}
  .port-logo{font-size:1.55rem;}
  .port-stats{gap:1.5rem;}
  .ps-val{font-size:1.55rem;}
  .p-nav-btn{width:42px;height:42px;}

  /* reviews */
  .review-card{width:280px;padding:1.4rem;}

  /* faq */
  .faq-q{font-size:1rem;padding:1.2rem 1rem 1.2rem 1.5rem;}
  .faq-a p{padding:0 1rem 1.2rem 1.5rem;font-size:.95rem;}

  /* kontakt → 1 col */
  .kontakt-grid{grid-template-columns:1fr;gap:2rem;}
  .wa-block{padding:1.5rem;}
  .kontakt-info{padding:1.25rem;}

  /* toast / floating ui */
  .toast{bottom:1rem;right:1rem;left:1rem;text-align:center;font-size:.92rem;padding:.85rem 1rem;}
  #to-top{bottom:1rem;right:1rem;left:auto;width:40px;height:40px;}

  /* intro logo: smaller so morph distance is sane */
  .il-text{font-size:clamp(2.4rem,12vw,4.5rem);}
  .il-sub{font-size:.62rem;letter-spacing:.35em;}

  /* section heads (warum, reviews, kontakt) */
  .warum-head,.reviews-head,.kontakt-head,.portfolio-head,.price-head,.features-head{margin-bottom:2rem;}

  /* tighter section h2 */
  .section-h2{font-size:clamp(1.9rem,7vw,2.6rem);}
}

/* ══════════════════════════════════════════════════════════
   PHONE (≤600px) — final compression
   ══════════════════════════════════════════════════════════ */
@media(max-width:600px){
  section{padding:3rem 1.1rem;}
  #hero{padding:5.5rem 1.1rem 2.5rem;}
  nav{padding:.8rem 1.1rem;}

  .hero-h1{font-size:clamp(2.2rem,11vw,3.4rem);}
  .hero-sub{font-size:.96rem;}
  .hero-badge{display:none;}

  .section-h2{font-size:clamp(1.7rem,7.5vw,2.2rem);}
  .section-sub{font-size:.96rem;}

  .xray-phone-wrap{width:220px;height:440px;}
  .xray-bul-icon{width:30px;height:30px;font-size:.78rem;}

  /* hide complex device row, show stacked */
  .portfolio-devices{flex-direction:column;align-items:center;gap:.5rem;}
  .iphone-mock{display:none;}
  .mac-mock{width:90%;max-width:300px;}
  .portfolio-tabs{gap:.4rem;}
  .port-tab{padding:.45rem .8rem;font-size:.7rem;}
  .port-step-num{font-size:2.8rem;}
  .port-logo{font-size:1.35rem;}
  .port-stats{gap:1rem;flex-wrap:wrap;}
  .port-stats > div::after{display:none;}

  /* reviews: thinner cards */
  .review-card{width:260px;padding:1.2rem;font-size:.9rem;}

  /* form */
  .kontakt-form{padding:1.1rem;}
  .form-group input,.form-group select,.form-group textarea{font-size:1rem;}

  /* footer */
  footer{padding:2rem 1rem;font-size:.85rem;}
  .footer-logo{font-size:1.6rem;}

  /* training badge wrap */
  .training-badge{display:inline-block;}
}

/* ══════════════════════════════════════════════════════════
   TOUCH DEVICES — kill custom cursor, hover effects
   ══════════════════════════════════════════════════════════ */
@media(hover:none) and (pointer:coarse){
  body,*{cursor:auto!important;}
  #cursor,#cursor-dot{display:none!important;}
  button,a,.btn-primary,.btn-ghost,.nav-cta,.port-tab,.p-nav-btn,.port-dot,.faq-q{cursor:pointer!important;}
  .xray-phone-wrap{cursor:ns-resize!important;}
  /* no magnetic / tilt on touch — gets stuck */
  .warum-card,.feature-card{transform:none!important;}
  /* hover-only states */
  .review-card:hover,.feature-card:hover,.warum-card:hover{transform:none!important;}
}
/* ═══════════════════════════════════════════════════════
   COOKIE BANNER – DSGVO
═══════════════════════════════════════════════════════ */
#cookie-wall{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(6px);z-index:9000;display:flex;align-items:flex-end;justify-content:center;padding:2rem;transition:opacity .4s;pointer-events:none;opacity:0;}
#cookie-wall.visible{opacity:1;pointer-events:all;}
.ck-box{background:#111;border:1px solid #222;max-width:560px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.6);}
.ck-main{padding:2rem;}
.ck-logo{margin-bottom:1.2rem;}
.ck-title{font-family:'Syne',sans-serif;font-size:1.25rem;font-weight:800;color:#f0ede8;margin-bottom:.8rem;}
.ck-text{color:#888;font-size:.88rem;line-height:1.6;margin-bottom:1.4rem;}
.ck-text a{color:#00e8cc;text-decoration:none;}
.ck-text a:hover{text-decoration:underline;}
.ck-btns{display:flex;gap:.75rem;flex-wrap:wrap;}
.ck-btn-accept{background:#e8a020;color:#000;border:none;padding:.7rem 1.4rem;font-weight:700;font-size:.88rem;cursor:pointer;transition:transform .2s;}
.ck-btn-accept:hover{transform:translateY(-2px);}
.ck-btn-reject{background:transparent;color:#888;border:1px solid #333;padding:.7rem 1.4rem;font-size:.88rem;cursor:pointer;transition:border-color .2s,color .2s;}
.ck-btn-reject:hover{border-color:#555;color:#f0ede8;}
.ck-footer{border-top:1px solid #1e1e1e;padding:.75rem 2rem;display:flex;gap:1.5rem;}
.ck-footer-link{font-size:.78rem;color:#555;text-decoration:none;transition:color .2s;}
.ck-footer-link:hover{color:#888;}
@media(max-width:600px){#cookie-wall{padding:1rem;align-items:flex-end;}.ck-main{padding:1.5rem;}}
