*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#080808;
  --bg2:#0f0f0f;
  --bg3:#151515;
  --tone-a:#0b0b0b;
  --tone-b:#101010;
  --tone-c:#141414;
  --tone-d:#0d0d0d;
  --fg:#f0ede6;
  --muted:rgba(240,237,230,0.38);
  --border:rgba(240,237,230,0.08);
  --accent:#d9b36a;
  --accent-strong:#e8c47f;
  --accent-soft:rgba(217,179,106,0.22);
  --accent-glow:rgba(217,179,106,0.35);
  --accent-blue:#6db7ff;
  --accent-blue-soft:rgba(109,183,255,0.22);
  --accent-emerald:#62d7a7;
  --accent-emerald-soft:rgba(98,215,167,0.2);
  --accent-violet:#b38cff;
  --accent-violet-soft:rgba(179,140,255,0.2);
  --serif:'Instrument Serif',serif;
  --sans:'Geist',sans-serif;
  --content-max:1200px;
}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(240,237,230,.05), transparent 60%),
    radial-gradient(900px 500px at 100% 30%, rgba(240,237,230,.035), transparent 65%),
    var(--bg);
  color:var(--fg);
  overflow-x:hidden;
  cursor:none;
}
body.no-custom-cursor{cursor:auto}
body.no-custom-cursor a,body.no-custom-cursor button{cursor:pointer}
body.no-custom-cursor #cur,body.no-custom-cursor #cur-r{display:none!important}
body.nav-open{overflow:hidden}
a,button{cursor:none;text-decoration:none;color:inherit}
button{transform:translate3d(0,0,0);transition:transform .28s cubic-bezier(.16,1,.3,1)}

/* global motion helpers */
:where(section,#stats,.marquee-wrap){scroll-margin-top:100px}
/* snap intentionally disabled for calmer reading flow */

/* clear section separation */
section{
  position:relative;
}
section::before{
  content:'';
  position:absolute;
  top:0;
  left:5vw;
  right:5vw;
  height:1px;
  background:linear-gradient(90deg, transparent 0%, rgba(240,237,230,.18) 16%, rgba(217,179,106,.26) 50%, rgba(240,237,230,.18) 84%, transparent 100%);
  pointer-events:none;
}

/* global readability + overlap safety */
*{word-break:normal;overflow-wrap:break-word}
h1,h2,h3,p{max-width:100%}
h1,h2,h3{text-wrap:balance;hyphens:auto}
p{text-wrap:pretty}

/* shared content width rhythm */
.hero-content,
.core-top,.core-grid,
.port-top,.port-grid,
.svc-top,.svc-list,
.proc-top,.proc-grid,
.testi-top,.testi-grid,
.why-top,.why-grid,
.price-top,.pc-grid,
.about-grid,.contact-grid{
  max-width:var(--content-max);
  margin-left:auto;
  margin-right:auto;
}

/* Landingpage as focused entry page with enough proof */
body.home #process,
body.home #about,
body.home #contact{
  display:none;
}

/* consistent heading rhythm */
.port-title,.svc-title,.proc-title,.testi-title,.price-title,.why-title,.contact-title,.core-title,.offer-title{
  line-height:.95;
  letter-spacing:-.035em;
}
.port-top,.svc-top,.proc-top,.testi-top,.price-top,.why-top,.core-top{
  margin-bottom:3rem;
}

/* CTA rhythm consistency */
.hero-actions,.cta-btns{gap:1rem}
.btn-light,.btn-outline,.nav-cta,.pc-btn,.f-sub{
  min-height:44px;
  padding-top:.95rem;
  padding-bottom:.95rem;
}

/* top progress line */
#scroll-progress{
  position:fixed;top:0;left:0;height:2px;width:0%;
  background:linear-gradient(90deg,var(--fg),rgba(240,237,230,.5));
  z-index:1200;pointer-events:none;
  box-shadow:0 0 16px rgba(240,237,230,.3);
}

/* intro overlay */
#intro-overlay{
  position:fixed;inset:0;background:var(--bg);z-index:1300;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .7s ease,visibility .7s ease;
}
#intro-overlay.hide{opacity:0;visibility:hidden}
.intro-brand{
  font-family:var(--serif);font-size:clamp(2rem,5vw,4.5rem);letter-spacing:-.03em;
  animation:introBrand 1.2s cubic-bezier(.16,1,.3,1) both;
}
@keyframes introBrand{
  0%{opacity:0;transform:translateY(20px) scale(.98)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}

/* ── CURSOR ── */
#cur{position:fixed;width:8px;height:8px;background:var(--fg);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s;mix-blend-mode:difference}
#cur-r{position:fixed;width:32px;height:32px;border:1px solid rgba(240,237,230,.25);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .16s,height .16s,opacity .16s}
.cx #cur{width:48px;height:48px}
.cx #cur-r{opacity:0}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  display:flex;justify-content:space-between;align-items:center;
  padding:1.75rem 5vw;
  transition:background .4s,border-color .4s;
  border-bottom:1px solid transparent;
}
nav.s{background:rgba(8,8,8,.88);backdrop-filter:blur(20px);border-color:var(--border)}
.logo{font-family:var(--serif);font-size:1rem;letter-spacing:.01em;color:var(--fg)}
.logo em{font-style:italic;color:var(--muted)}
.nav-cluster{margin-left:auto;display:flex;align-items:center;gap:1.25rem}
.nav-r{display:flex;align-items:center;gap:2.5rem}
.nav-toggle{
  display:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;
  width:44px;height:44px;padding:0;border:1px solid var(--border);border-radius:2px;
  background:rgba(240,237,230,.04);color:var(--fg);flex-shrink:0;
}
.nav-toggle-bar{display:block;width:22px;height:2px;background:var(--fg);border-radius:1px;transition:transform .25s ease,opacity .25s ease}
nav.nav-open .nav-toggle-bar:nth-child(1){transform:translateY(8px) rotate(45deg)}
nav.nav-open .nav-toggle-bar:nth-child(2){opacity:0}
nav.nav-open .nav-toggle-bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);transition:color .2s}
.nav-links a:hover,.nav-links a.on{color:var(--fg)}
.nav-cta{
  display:flex;align-items:center;gap:.5rem;
  font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent-strong);border:1px solid var(--accent-soft);padding:.55rem 1.3rem;background:rgba(217,179,106,.04);
  transition:all .25s;
}
.nav-cta:hover{
  background:var(--accent);
  color:#16120a;
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(217,179,106,.12),0 10px 24px rgba(217,179,106,.2);
}
.f-logo a{color:inherit;text-decoration:none}
.f-logo a:hover{color:var(--accent-strong)}

/* ── HERO ── */
#hero{
  min-height:100svh;position:relative;overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:8.5rem 5vw 5rem;
  border-bottom:1px solid rgba(240,237,230,.12);
}
.hero-video-bg{
  position:absolute;inset:0;
  background:linear-gradient(135deg,#111 0%,#181818 50%,#0d0d0d 100%);
  overflow:hidden;
}
.hero-bg-image{
  position:absolute;
  inset:-4%;
  width:108%;
  height:108%;
  object-fit:cover;
  object-position:center center;
  transform:translate3d(0,0,0) scale(1.02);
  will-change:transform,opacity,filter;
  filter:saturate(.95) contrast(1.03) brightness(.72);
  animation:heroSlowZoom 26s ease-in-out infinite alternate,heroDrift 34s ease-in-out infinite alternate;
}
/* Animated gradient orbs */
.hero-orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.06;animation:orbFloat 14s ease-in-out infinite}
.hero-orb-1{width:600px;height:600px;background:#fff;top:-100px;left:-100px;animation-delay:0s}
.hero-orb-2{width:400px;height:400px;background:#fff;bottom:-50px;right:10%;animation-delay:4s;opacity:.06}
.hero-orb-3{width:300px;height:300px;background:#ccc;top:40%;left:60%;animation-delay:8s;opacity:.07}
@keyframes orbFloat{0%,100%{transform:translate(0,0)}33%{transform:translate(30px,-20px)}66%{transform:translate(-20px,30px)}}

.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(8,8,8,.46) 0%,rgba(8,8,8,.62) 45%,rgba(8,8,8,.9) 100%)}
.hero-top{position:absolute;top:8rem;left:5vw;right:5vw;display:flex;justify-content:space-between;align-items:flex-start}
.hero-eyebrow{
  font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);border:1px solid var(--border);padding:.4rem 1rem;
  opacity:0;animation:fadeUp .6s ease .3s forwards;
  max-width:min(92vw,760px);
  line-height:1.45;
}
.hero-scroll-hint{
  font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);
  display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;
  opacity:0;animation:fadeUp .6s ease .5s forwards;
}
.hero-scroll-line{width:1px;height:40px;background:linear-gradient(var(--fg),transparent);align-self:flex-end;animation:scrollAnim 2s ease-in-out infinite}
@keyframes scrollAnim{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

.hero-content{position:relative;z-index:2}
.hero-h1{
  font-family:var(--serif);
  font-size:clamp(3.2rem,8.2vw,8.8rem);
  line-height:.92;letter-spacing:-.035em;
  margin-bottom:2rem;
  max-width:1100px;
}
.hero-h1 .ln{display:block;overflow:hidden}
.hero-h1 .ln span{display:inline-block;animation:wordUp 1.1s cubic-bezier(.16,1,.3,1) both}
.hero-h1 .l1 span{animation-delay:.5s}
.hero-h1 .l2 span{animation-delay:.65s}
.hero-h1 .l3 span{animation-delay:.8s}
.hero-h1 em{font-style:italic;color:var(--muted)}
.hero-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:1.4rem}
.hero-desc{
  max-width:680px;font-size:1rem;line-height:1.72;
  color:var(--muted);font-weight:300;
  opacity:0;animation:fadeUp .7s ease 1.1s forwards;
}
.hero-desc strong{color:var(--fg);font-weight:400}
.hero-actions{display:flex;gap:1rem;align-items:center;opacity:0;animation:fadeUp .7s ease 1.3s forwards}
.hero-trustline{
  margin-top:1.35rem;
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(240,237,230,.86);
  opacity:0;
  animation:fadeUp .7s ease 1.45s forwards;
  line-height:1.55;
}
.hero-badges{
  margin-top:1rem;
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
  opacity:0;
  animation:fadeUp .7s ease 1.55s forwards;
}
.hero-badges span{
  border:1px solid rgba(217,179,106,.28);
  background:rgba(217,179,106,.08);
  padding:.42rem .8rem;
  font-size:.62rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(240,237,230,.9);
  line-height:1.35;
}
.btn-light{
  background:var(--accent);color:#16120a;border:1px solid var(--accent);
  padding:1.05rem 2.5rem;font-family:var(--sans);
  font-size:.82rem;letter-spacing:.04em;
  position:relative;overflow:hidden;
}
.btn-light::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.16);transform:translateX(-101%);transition:transform .4s cubic-bezier(.16,1,.3,1)}
.btn-light:hover::after{transform:translateX(0)}
.btn-outline{
  background:rgba(217,179,106,.04);color:var(--fg);
  border:1px solid rgba(217,179,106,.34);
  padding:1.05rem 2rem;font-family:var(--sans);
  font-size:.82rem;letter-spacing:.04em;
  transition:all .25s;
}
.btn-outline:hover{
  border-color:var(--accent);
  color:var(--accent-strong);
  box-shadow:0 0 0 2px rgba(217,179,106,.12) inset;
}
.btn-light:hover,.btn-outline:hover,.nav-cta:hover,.pc-btn:hover,.f-sub:hover{transform:translateY(-2px)}

/* ── MARQUEE ── */
.marquee-wrap{border-top:1px solid rgba(240,237,230,.13);border-bottom:1px solid rgba(240,237,230,.13);padding:1.1rem 0;overflow:hidden;background:linear-gradient(90deg,rgba(240,237,230,.04),rgba(240,237,230,.015))}
.marquee-track{display:flex;gap:5rem;white-space:nowrap;animation:marquee 24s linear infinite}
@keyframes marquee{to{transform:translateX(-50%)}}
.m-item{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:2rem}
.m-item::after{content:'✦';font-size:.5rem;opacity:.3}
.marquee-wrap:hover .marquee-track{animation-duration:14s}

/* ── CORE SERVICES HUB ── */
#core-services{border-top:1px solid var(--border);padding:7.8rem 5vw;background:linear-gradient(to bottom, rgba(240,237,230,.03), transparent 70%), var(--tone-a)}
#core-services::after{
  content:'';
  position:absolute;inset:0;
  background:radial-gradient(700px 260px at 15% 0%, var(--accent-blue-soft), transparent 65%);
  pointer-events:none;
}
.core-top{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:3rem}
.core-title{font-family:var(--serif);font-size:clamp(2.4rem,5vw,5.2rem);letter-spacing:-.035em;line-height:.95}
.core-title em{font-style:italic;color:var(--muted)}
.core-intro{max-width:420px;margin-left:auto;font-size:.92rem;line-height:1.8;color:var(--muted)}
.core-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.core-card{background:var(--bg2);padding:2.4rem;display:flex;flex-direction:column;min-height:320px;transition:background .3s,transform .3s}
.core-card:hover{background:rgba(240,237,230,.03);transform:translateY(-4px)}
.core-kicker{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.core-card:nth-child(1) .core-kicker{color:var(--accent-blue)}
.core-card:nth-child(2) .core-kicker{color:var(--accent-emerald)}
.core-card:nth-child(3) .core-kicker{color:var(--accent-violet)}
.core-card h3{font-family:var(--serif);font-size:2rem;letter-spacing:-.03em;line-height:1;margin-bottom:1rem}
.core-card p{font-size:.84rem;line-height:1.75;color:var(--muted);margin-bottom:1.4rem;max-width:44ch}
.core-price{margin-top:auto;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg);margin-bottom:.9rem}
.core-link{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);transition:color .2s}
.core-link:hover{color:var(--accent-strong)}

/* ── SERVICE SUBPAGE LAYOUT ── */
.service-hero{padding:10rem 5vw 5rem;border-top:1px solid var(--border)}
.service-kicker{font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.service-title{font-family:var(--serif);font-size:clamp(3rem,7vw,8rem);letter-spacing:-.04em;line-height:.9;margin-bottom:1.5rem}
.service-title em{font-style:italic;color:var(--muted)}
.service-lead{max-width:760px;font-size:1rem;line-height:1.85;color:var(--muted)}
.service-meta{display:flex;gap:2rem;flex-wrap:wrap;margin-top:2rem}
.service-meta span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.service-lead-add{margin-top:1.15rem;max-width:760px;font-size:.95rem;line-height:1.82;color:var(--muted)}

/* Unterseiten: zusätzlicher Fließtext + Bildplatzhalter */
section.subsection{border-top:1px solid var(--border);padding:6rem 5vw}
.subsection-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,5rem);align-items:center;max-width:var(--content-max);margin:0 auto}
.subsection-split.rev .subsection-body{order:2}
.subsection-split.rev .subsection-visual{order:1}
.subsection-split--solo{grid-template-columns:1fr;max-width:48rem}
.subsection-split--solo .subsection-body{max-width:none}
.subsection-body{max-width:46rem}
.subsection-kicker{font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.subsection-title{font-family:var(--serif);font-size:clamp(1.85rem,4vw,3rem);letter-spacing:-.03em;line-height:1.08;margin-bottom:1.2rem}
.subsection-title em{font-style:italic;color:var(--muted)}
.subsection-p{font-size:.9rem;line-height:1.82;color:var(--muted);margin-bottom:1rem}
.subsection-p strong{color:var(--fg);font-weight:500}
.subsection-visual{margin:0}
.img-placeholder{
  position:relative;width:100%;aspect-ratio:4/3;min-height:240px;
  background:var(--bg2);border:1px dashed rgba(240,237,230,.12);
  border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;
  color:var(--muted);text-align:center;padding:2rem 1.25rem;
}
.img-placeholder::after{
  content:'';
  position:absolute;inset:0;border-radius:3px;pointer-events:none;
  background:linear-gradient(160deg,rgba(109,183,255,.06),transparent 42%,rgba(217,179,106,.05));
}
.img-placeholder > span{position:relative;z-index:1;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.img-ph-hint{position:relative;z-index:1;font-size:.62rem;letter-spacing:.04em;text-transform:none;line-height:1.45;opacity:.7;max-width:30ch}

.subsection-img-frame{
  border-radius:3px;overflow:hidden;border:1px solid var(--border);
  background:var(--bg2);box-shadow:0 20px 48px rgba(0,0,0,.35);
}
.subsection-img{display:block;width:100%;height:auto;vertical-align:middle}

.price-jump{margin-top:1.75rem;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.price-jump a{color:var(--muted);border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.price-jump a:hover{color:var(--accent-strong);border-bottom-color:var(--accent-soft)}
.offer-section{border-top:1px solid var(--border);padding:6rem 5vw}
.offer-top{margin-bottom:2.25rem}
.offer-intro{max-width:560px;font-size:.9rem;line-height:1.75;color:var(--muted);margin-top:1rem}
.offer-deeplink{margin-top:2rem}
.price-hub-offer{padding-top:5.5rem}
.preise-kombi-section{background:linear-gradient(to bottom, rgba(98,215,167,.04), transparent), var(--tone-b)}

/* Kombi-Pakete (Preise) */
.bundle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border)}
.bundle-card{
  background:var(--bg2);
  padding:2.4rem 2.2rem 2.6rem;
  position:relative;
  border-top:2px solid transparent;
  transition:background .25s,transform .25s,box-shadow .25s;
}
.bundle-card:hover{background:rgba(240,237,230,.03);transform:translateY(-3px);box-shadow:0 14px 28px rgba(0,0,0,.26)}
.bundle-card.bundle-hot{background:rgba(240,237,230,.05)}
.bundle-badge{
  position:absolute;top:0;left:2.2rem;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.28rem .85rem;transform:translateY(-50%);
  background:linear-gradient(90deg,var(--accent),var(--accent-strong));color:#18120b;
}
.bundle-kicker{display:block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.9rem}
.bundle-title{font-family:var(--serif);font-size:clamp(1.5rem,2.8vw,2rem);letter-spacing:-.03em;line-height:1.12;margin-bottom:.75rem}
.bundle-title em{font-style:italic;color:var(--muted)}
.bundle-stack{font-size:.78rem;line-height:1.55;color:var(--muted);margin-bottom:1.25rem;max-width:46ch}
.bundle-stack em{font-style:italic;color:var(--fg);opacity:.92}
.bundle-ink-once{color:var(--accent-blue);font-weight:500}
.bundle-ink-monthly{color:var(--accent-emerald);font-weight:500}
.bundle-stack-plus{color:var(--muted);font-weight:400;opacity:.45}
.bundle-pricing-block{margin:0 0 1.15rem;padding-bottom:1rem;border-bottom:1px solid rgba(240,237,230,.06)}
.bundle-p-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem 1rem;font-size:.84rem;line-height:1.35;margin-bottom:.2rem}
.bundle-p-row-total{margin-top:.55rem;padding-top:.65rem;border-top:1px solid rgba(240,237,230,.1)}
.bundle-p-label{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);flex:1;min-width:8rem;padding-top:.35rem}
.bundle-p-value-wrap{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem .45rem;max-width:min(100%,20rem);text-align:right}
.bundle-p-value{font-family:var(--serif);font-size:1.28rem;letter-spacing:-.02em;line-height:1.15}
.bundle-p-row-total .bundle-p-value{font-size:1.42rem}
.bundle-p-value-accent{color:var(--accent-strong)}
.bundle-tag{display:inline-flex;align-items:center;font-size:.58rem;font-weight:500;letter-spacing:.05em;line-height:1;padding:.24rem .5rem;border-radius:999px;white-space:nowrap}
.bundle-tag-emerald{background:rgba(98,215,167,.14);color:var(--accent-emerald);border:1px solid rgba(98,215,167,.34);box-shadow:0 0 12px rgba(98,215,167,.08)}
.bundle-tag-gold{background:rgba(217,179,106,.12);color:var(--accent-strong);border:1px solid rgba(217,179,106,.38);box-shadow:0 0 14px rgba(217,179,106,.06)}
.bundle-tag-blue{background:rgba(109,183,255,.12);color:var(--accent-blue);border:1px solid rgba(109,183,255,.32);box-shadow:0 0 12px rgba(109,183,255,.07)}
.bundle-p-note{font-size:.72rem;line-height:1.5;color:var(--muted);margin:0 0 .55rem;grid-column:1/-1}
.bundle-was{text-decoration:line-through;text-decoration-color:rgba(240,237,230,.22);opacity:.5}
.bundle-note-sep{opacity:.32;margin:0 .25rem;font-weight:300}
.bundle-laufzeit{font-size:.75rem;line-height:1.55;color:var(--muted);margin-bottom:1.05rem;max-width:48ch;padding:.55rem .75rem;border-radius:6px;background:rgba(240,237,230,.03);border:1px solid rgba(240,237,230,.06)}
.bundle-card ul{list-style:none;margin-bottom:1.5rem}
.bundle-card li{font-size:.82rem;line-height:1.55;color:rgba(240,237,230,.78);padding:.5rem 0 .5rem 1rem;border-bottom:1px solid rgba(240,237,230,.06);position:relative}
.bundle-card li::before{content:'';position:absolute;left:.1rem;top:.78rem;width:5px;height:5px;border-radius:50%;opacity:.9}
.bundle-card:nth-child(1) li::before{background:var(--accent-blue);box-shadow:0 0 8px rgba(109,183,255,.35)}
.bundle-card:nth-child(2) li::before{background:var(--accent-strong);box-shadow:0 0 8px rgba(232,196,127,.25)}
.bundle-card:nth-child(3) li::before{background:var(--accent-emerald);box-shadow:0 0 8px rgba(98,215,167,.3)}
.bundle-card .pc-btn{margin-top:.25rem}
.bundle-footnote{max-width:720px;font-size:.78rem;line-height:1.6;color:var(--muted);margin-top:2rem}
.bundle-card:nth-child(1){border-top-color:var(--accent-blue)}
.bundle-card:nth-child(1) .bundle-kicker{color:var(--accent-blue)}
.bundle-card:nth-child(2){border-top-color:var(--accent)}
.bundle-card:nth-child(2) .bundle-kicker{color:var(--accent-strong)}
.bundle-card:nth-child(3){border-top-color:var(--accent-emerald)}
.bundle-card:nth-child(3) .bundle-kicker{color:var(--accent-emerald)}

/* Digital Starter Band */
.starter-band{
  display:grid;grid-template-columns:1fr minmax(200px,280px);gap:2.5rem;align-items:center;
  padding:2.75rem 2.5rem;margin-bottom:3.5rem;
  background:var(--bg2);border:1px solid var(--border);
  border-top:2px solid var(--accent-blue);
}
.starter-band-kicker{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-blue);margin-bottom:.65rem}
.starter-band-title{font-family:var(--serif);font-size:clamp(1.85rem,4vw,2.75rem);letter-spacing:-.03em;line-height:1;margin-bottom:1rem}
.starter-band-title em{font-style:italic;color:var(--muted)}
.starter-band-lead{font-size:.88rem;line-height:1.75;color:var(--muted);margin-bottom:1.25rem;max-width:52ch}
.starter-band-list{list-style:none}
.starter-band-list li{font-size:.82rem;line-height:1.55;color:var(--muted);padding:.4rem 0 .4rem 1rem;position:relative;border-bottom:1px solid rgba(240,237,230,.05)}
.starter-band-list li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent-blue);opacity:.85}
.starter-band-aside{text-align:right;display:flex;flex-direction:column;align-items:stretch;gap:.85rem}
.starter-band-price{font-family:var(--serif);font-size:clamp(2rem,4vw,2.85rem);letter-spacing:-.04em;color:var(--accent-blue)}
.starter-band-note{font-size:.72rem;line-height:1.5;color:var(--muted)}
.offer-title{font-family:var(--serif);font-size:clamp(2.2rem,5vw,4.8rem);letter-spacing:-.035em;line-height:.95}
.offer-title em{font-style:italic;color:var(--muted)}
.offer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border)}
.offer-card{
  background:var(--bg2);
  padding:2.2rem;
  transition:background .25s,transform .25s,border-color .25s,box-shadow .25s;
  border-top:2px solid transparent;
}
.offer-card:hover{background:rgba(240,237,230,.03);transform:translateY(-3px)}
.offer-card.hot{background:rgba(240,237,230,.05)}
.offer-card:nth-child(1){border-top-color:var(--accent-blue)}
.offer-card:nth-child(1) .offer-plan{color:var(--accent-blue)}
.offer-card:nth-child(2){border-top-color:var(--accent)}
.offer-card:nth-child(2) .offer-plan{color:var(--accent-strong)}
.offer-card:nth-child(3){border-top-color:var(--accent-emerald)}
.offer-card:nth-child(3) .offer-plan{color:var(--accent-emerald)}
.offer-card:nth-child(4){border-top-color:var(--accent-violet)}
.offer-card:nth-child(4) .offer-plan{color:var(--accent-violet)}
.offer-card:hover{box-shadow:0 14px 28px rgba(0,0,0,.26)}
.offer-plan{display:block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:1.4rem}
.offer-price{font-family:var(--serif);font-size:2.2rem;letter-spacing:-.03em;margin-bottom:1.1rem}
.offer-card ul{list-style:none}
.offer-card li{font-size:.82rem;line-height:1.6;color:var(--muted);padding:.5rem 0;border-bottom:1px solid rgba(240,237,230,.06)}
.mini-process{border-top:1px solid var(--border);padding:6rem 5vw}
.mini-process-grid{margin-top:1.8rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border)}
.mini-process-grid>div{background:var(--bg2);padding:1.6rem}
.mini-process-grid strong{font-family:var(--serif);font-size:2.2rem;color:rgba(240,237,230,.3)}
.mini-process-grid p{font-size:.82rem;color:var(--muted);margin-top:.6rem}
.faq{border-top:1px solid var(--border);padding:6rem 5vw}
.faq-list{margin-top:1.6rem;border-top:1px solid var(--border)}
.faq-list details{border-bottom:1px solid var(--border);padding:1rem 0}
.faq-list summary{list-style:none;cursor:pointer;font-size:.88rem}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list p{color:var(--muted);font-size:.84rem;line-height:1.7;padding-top:.5rem}
.cta-simple{border-top:1px solid var(--border);padding:6rem 5vw;text-align:center}
.cta-simple .btn-light{margin-top:1.5rem;display:inline-block}

/* ── PORTFOLIO ── */
#portfolio{border-top:1px solid rgba(240,237,230,.12);padding:7.8rem 5vw;background:linear-gradient(to bottom, rgba(255,255,255,.02), transparent 60%), var(--tone-b)}
#portfolio::after{
  content:'';
  position:absolute;inset:0;
  background:radial-gradient(650px 250px at 85% 0%, var(--accent-violet-soft), transparent 64%);
  pointer-events:none;
}
.port-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem}
.port-title{font-family:var(--serif);font-size:clamp(2.5rem,5vw,5.5rem);letter-spacing:-.035em;line-height:.95}
.port-title em{font-style:italic;color:var(--muted)}
.port-link{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:.5rem;transition:color .2s}
.port-link:hover{color:var(--accent-strong)}
.port-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border)}
.port-item{
  background:var(--bg2);
  position:relative;overflow:hidden;
  aspect-ratio:4/3;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:2.5rem;
  transition:background .4s, transform .45s cubic-bezier(.16,1,.3,1), box-shadow .45s cubic-bezier(.16,1,.3,1);
  transform-style:preserve-3d;
}
.port-item:hover{box-shadow:0 18px 40px rgba(0,0,0,.35)}
/* removed permanent float motion for cleaner scrolling */
.port-item.big{grid-column:span 2;aspect-ratio:16/7}
.port-item-bg{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;object-position:top center;
  display:block;
  transition:transform .7s cubic-bezier(.16,1,.3,1);
  pointer-events:none;
}
.port-item:hover .port-item-bg{transform:scale(1.04)}
.port-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,8,8,.9) 0%,rgba(8,8,8,.3) 50%,transparent 100%);transition:opacity .4s}
.port-item:hover .port-overlay{opacity:.7}
.port-tags{display:flex;gap:.5rem;margin-bottom:.75rem;position:relative;z-index:2}
.port-tag{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(240,237,230,.2);padding:.25rem .7rem;color:var(--muted)}
.port-item:nth-child(1) .port-tag{border-color:var(--accent-blue-soft);color:var(--accent-blue)}
.port-item:nth-child(2) .port-tag{border-color:var(--accent-emerald-soft);color:var(--accent-emerald)}
.port-item:nth-child(3) .port-tag{border-color:var(--accent-violet-soft);color:var(--accent-violet)}
.port-item:nth-child(4) .port-tag{border-color:var(--accent-blue-soft);color:var(--accent-blue)}
.port-item:nth-child(5) .port-tag{border-color:var(--accent-emerald-soft);color:var(--accent-emerald)}
.port-name{font-family:var(--serif);font-size:clamp(1.35rem,2.4vw,2.2rem);letter-spacing:-.025em;position:relative;z-index:2;line-height:1.06;max-width:20ch}
.port-desc{
  margin-top:.75rem;
  font-size:.8rem;
  line-height:1.7;
  color:rgba(240,237,230,.78);
  position:relative;
  z-index:2;
  max-width:560px;
}
.port-ref{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-right:.35rem}
.port-benefit{
  margin-top:.45rem;
  font-size:.72rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--accent-strong);
  position:relative;
  z-index:2;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .28s ease, transform .28s ease;
}
.port-item:hover .port-benefit{
  opacity:1;
  transform:translateY(0);
}
.port-arrow{
  position:absolute;top:2rem;right:2rem;z-index:2;
  font-size:1.2rem;color:var(--muted);
  transform:rotate(-45deg);transition:all .35s;
}
.port-item:hover .port-arrow{transform:rotate(0);color:var(--fg)}

/* placeholder gradients for portfolio items */
.pg1{background:linear-gradient(135deg,#1a1a1a,#0d0d0d)}
.pg2{background:linear-gradient(135deg,#141414,#1c1c1c)}
.pg3{background:linear-gradient(135deg,#111,#1a1a1a)}
.pg4{background:linear-gradient(135deg,#181818,#0e0e0e)}
.pg5{background:linear-gradient(135deg,#151515,#1d1d1d)}

/* ── SERVICES ── */
#services{border-top:1px solid rgba(240,237,230,.12);padding:8.3rem 5vw;background:linear-gradient(to bottom, transparent, rgba(240,237,230,.02) 100%), var(--tone-a)}
#services::after{
  content:'';
  position:absolute;inset:0;
  background:radial-gradient(680px 260px at 20% 0%, var(--accent-emerald-soft), transparent 66%);
  pointer-events:none;
}
.svc-top{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:5rem}
.svc-title{font-family:var(--serif);font-size:clamp(2.5rem,5vw,5.5rem);letter-spacing:-.035em;line-height:.95}
.svc-title em{font-style:italic;color:var(--muted)}
.svc-intro{font-size:.95rem;line-height:1.8;color:var(--muted);font-weight:300;max-width:380px;margin-left:auto}
.svc-list{display:flex;flex-direction:column;border-top:1px solid var(--border)}
.svc-row{
  display:grid;grid-template-columns:60px 1fr auto;
  align-items:center;gap:2rem;
  padding:2.5rem 0;
  border-bottom:1px solid var(--border);
  transition:padding .3s;
  position:relative;overflow:hidden;
}
.svc-row::after{content:'';position:absolute;inset:0;background:rgba(240,237,230,.03);opacity:0;transition:opacity .3s}
.svc-row:hover::after{opacity:1}
.svc-row:hover{padding-left:1.5rem}
.svc-row::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);
  transform:scaleY(0);transform-origin:bottom;transition:transform .4s cubic-bezier(.16,1,.3,1);
}
.svc-row:hover::before{transform:scaleY(1)}
.svc-n{font-family:var(--serif);font-size:2rem;color:rgba(240,237,230,.08);letter-spacing:-.03em;line-height:1}
.svc-info{}
.svc-name{font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,2.2rem);letter-spacing:-.025em;margin-bottom:.5rem}
.svc-desc{font-size:.82rem;line-height:1.7;color:var(--muted);font-weight:300;max-width:500px}
.svc-price{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}

/* ── STATS ── */
#stats{border-top:1px solid rgba(240,237,230,.13);border-bottom:1px solid rgba(240,237,230,.13);display:grid;grid-template-columns:repeat(4,1fr);background:linear-gradient(90deg, rgba(240,237,230,.03), rgba(240,237,230,.015))}
.stat{
  padding:5rem 0;text-align:center;border-right:1px solid var(--border);
  position:relative;overflow:hidden;transition:background .4s;
}
.stat:last-child{border-right:none}
.stat:hover{background:rgba(240,237,230,.03)}
.stat-n{font-family:var(--serif);font-size:4.5rem;letter-spacing:-.05em;line-height:1;margin-bottom:.4rem}
.stat-l{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}

/* ── PROCESS ── */
#process{border-top:1px solid rgba(240,237,230,.12);padding:8.3rem 5vw;background:var(--tone-d)}
.proc-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:5rem}
.proc-title{font-family:var(--serif);font-size:clamp(2.5rem,5vw,5.5rem);letter-spacing:-.035em;line-height:.95}
.proc-title em{font-style:italic;color:var(--muted)}
.proc-desc{font-size:.9rem;line-height:1.75;color:var(--muted);font-weight:300;max-width:340px;text-align:right}
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border)}
.proc-item{
  background:var(--bg);padding:3rem 2rem;
  transition:background .35s,color .35s;position:relative;overflow:hidden;
}
.proc-item:hover{background:var(--fg);color:var(--bg)}
.proc-item{transform:translateY(0);transition:transform .35s cubic-bezier(.16,1,.3,1),background .35s,color .35s}
.proc-item:hover{transform:translateY(-5px)}
.proc-item:hover .proc-n{color:rgba(8,8,8,.08)}
.proc-item:hover .proc-text{color:rgba(8,8,8,.5)}
.proc-n{font-family:var(--serif);font-size:5rem;color:rgba(240,237,230,.05);letter-spacing:-.05em;line-height:1;margin-bottom:1.5rem;transition:color .35s}
.proc-name{font-family:var(--serif);font-size:1.2rem;letter-spacing:-.02em;margin-bottom:.75rem;line-height:1.15}
.proc-text{font-size:.8rem;line-height:1.75;color:var(--muted);font-weight:300;transition:color .35s}

/* ── TESTIMONIALS ── */
#testimonials{border-top:1px solid rgba(240,237,230,.12);padding:8.3rem 5vw;background:linear-gradient(to bottom, rgba(240,237,230,.02), transparent 65%), var(--tone-b)}
#testimonials::after{
  content:'';
  position:absolute;inset:0;
  background:radial-gradient(740px 270px at 50% 0%, rgba(109,183,255,.14), transparent 68%);
  pointer-events:none;
}
.testi-top{margin-bottom:4rem}
.testi-title{font-family:var(--serif);font-size:clamp(2.5rem,5vw,5.5rem);letter-spacing:-.035em;line-height:.95}
.testi-title em{font-style:italic;color:var(--muted)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.testi{background:var(--bg2);padding:3rem 2.5rem;transition:background .3s}
.testi:hover{background:rgba(240,237,230,.03)}
.testi{transform:translateY(0);transition:background .3s,transform .3s cubic-bezier(.16,1,.3,1)}
.testi:hover{transform:translateY(-4px)}
.testi-quote{font-family:var(--serif);font-style:italic;font-size:1.05rem;line-height:1.65;color:rgba(240,237,230,.65);margin-bottom:2.5rem}
.testi-div{height:1px;background:var(--border);margin-bottom:1.5rem}
.testi-author{display:flex;align-items:center;gap:1rem}
.testi-av{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:.85rem;color:var(--muted);flex-shrink:0}
.testi-name{font-size:.88rem;color:var(--fg);margin-bottom:.15rem}
.testi-role{font-size:.68rem;letter-spacing:.05em;color:var(--muted)}

/* ── WHY US ── */
#why-us{border-top:1px solid rgba(240,237,230,.12);padding:8.3rem 5vw;background:var(--tone-a)}
.why-top{margin-bottom:2rem}
.why-title{font-family:var(--serif);font-size:clamp(2.4rem,5vw,5rem);letter-spacing:-.035em;line-height:.95}
.why-title em{font-style:italic;color:var(--muted)}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.why-item{background:var(--bg2);padding:2.2rem;transition:transform .28s cubic-bezier(.16,1,.3,1),background .28s}
.why-item:hover{transform:translateY(-4px);background:rgba(240,237,230,.03)}
.why-item h3{font-family:var(--serif);font-size:1.45rem;letter-spacing:-.02em;line-height:1.16;margin-bottom:.85rem}
.why-item:nth-child(1) h3{color:var(--accent-blue)}
.why-item:nth-child(2) h3{color:var(--accent-emerald)}
.why-item:nth-child(3) h3{color:var(--accent-violet)}
.why-item p{font-size:.84rem;line-height:1.75;color:var(--muted)}

/* ── PRICING ── */
#pricing,#preise-web{border-top:1px solid rgba(240,237,230,.12);padding:8.3rem 5vw;background:linear-gradient(to bottom, transparent, rgba(240,237,230,.02)), var(--tone-c)}
#pricing::after,#preise-web::after{
  content:'';
  position:absolute;inset:0;
  background:radial-gradient(620px 240px at 80% 0%, rgba(98,215,167,.13), transparent 66%);
  pointer-events:none;
}
.price-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:4rem}
.price-title{font-family:var(--serif);font-size:clamp(2.5rem,5vw,5.5rem);letter-spacing:-.035em;line-height:.95}
.price-title em{font-style:italic;color:var(--muted)}
.price-note{font-size:.82rem;color:var(--muted);line-height:1.7;text-align:right}
.pc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border)}
.pc{
  padding:3.5rem 2.75rem;
  border-right:1px solid var(--border);
  position:relative;
  transition:background .3s,transform .3s,border-color .3s,box-shadow .3s;
  border-top:2px solid transparent;
}
.pc:last-child{border-right:none}
.pc:hover{background:rgba(240,237,230,.02);transform:translateY(-4px);box-shadow:0 16px 32px rgba(0,0,0,.24)}
.pc.hot{background:rgba(240,237,230,.05)}
.pc-badge{position:absolute;top:-1px;left:2.75rem;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;background:var(--fg);color:var(--bg);padding:.28rem .85rem;transform:translateY(-50%)}
.pc-badge{background:linear-gradient(90deg,var(--accent),var(--accent-strong));color:#18120b}
.pc-plan{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:2.5rem}
.pc-amount{font-family:var(--serif);font-size:4rem;letter-spacing:-.05em;line-height:1;margin-bottom:.3rem}
.pc-per{font-size:.75rem;color:var(--muted);margin-bottom:2.5rem}
.pc-div{height:1px;background:var(--border);margin-bottom:2rem}
.pc ul{list-style:none;margin-bottom:2.5rem}
.pc ul li{font-size:.82rem;line-height:1;color:var(--muted);padding:.65rem 0;border-bottom:1px solid rgba(240,237,230,.05);display:flex;align-items:center;gap:.75rem;font-weight:300}
.pc ul li::before{content:'';width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.4;flex-shrink:0}
.pc-btn{width:100%;padding:.95rem;border:none;font-family:var(--sans);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;transition:all .25s}
.pc-out{background:transparent;color:var(--fg);border:1px solid rgba(217,179,106,.35)}
.pc-out:hover{background:var(--accent);color:#16120a;border-color:var(--accent)}
.pc-in{background:var(--accent);color:#16120a;border:1px solid var(--accent)}
.pc-in:hover{opacity:.85}

/* Pricing color psychology: trust -> premium -> growth -> innovation */
.pc:nth-child(1){border-top-color:var(--accent-blue)}
.pc:nth-child(1) .pc-plan,.pc:nth-child(1) .pc-amount{color:var(--accent-blue)}
.pc:nth-child(1) .pc-btn{border-color:var(--accent-blue-soft)}
.pc:nth-child(1) .pc-btn:hover{background:var(--accent-blue);color:#08131e;border-color:var(--accent-blue)}

.pc:nth-child(2){border-top-color:var(--accent)}
.pc:nth-child(2) .pc-plan,.pc:nth-child(2) .pc-amount{color:var(--accent-strong)}

.pc:nth-child(3){border-top-color:var(--accent-emerald)}
.pc:nth-child(3) .pc-plan,.pc:nth-child(3) .pc-amount{color:var(--accent-emerald)}
.pc:nth-child(3) .pc-btn{border-color:var(--accent-emerald-soft)}
.pc:nth-child(3) .pc-btn:hover{background:var(--accent-emerald);color:#081a13;border-color:var(--accent-emerald)}

.pc:nth-child(4){border-top-color:var(--accent-violet)}
.pc:nth-child(4) .pc-plan,.pc:nth-child(4) .pc-amount{color:var(--accent-violet)}
.pc:nth-child(4) .pc-btn{border-color:var(--accent-violet-soft)}
.pc:nth-child(4) .pc-btn:hover{background:var(--accent-violet);color:#120d1e;border-color:var(--accent-violet)}

/* ── CTA ── */
#cta{
  border-top:1px solid rgba(240,237,230,.15);
  padding:10.5rem 5vw;text-align:center;
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#121212 0%,#191919 50%,#101010 100%);
}
.cta-orb{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none}
.cta-orb-1{width:500px;height:500px;background:rgba(255,255,255,.04);top:50%;left:50%;transform:translate(-50%,-50%)}
.cta-tag{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem}
.cta-title{font-family:var(--serif);font-size:clamp(3.5rem,8vw,9rem);letter-spacing:-.04em;line-height:.9;margin-bottom:3.5rem}
.cta-title em{font-style:italic;color:var(--muted)}
.cta-btns{display:flex;align-items:center;justify-content:center;gap:1.25rem}

/* ── ABOUT ── */
#about{border-top:1px solid rgba(240,237,230,.13);padding:10.5rem 5vw;background:var(--tone-d)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}
.about-img{
  position:sticky;top:8rem;
  width:100%;aspect-ratio:3/4;
  background:var(--bg2);border:1px solid var(--border);
  overflow:hidden;display:flex;align-items:flex-end;padding:2.5rem;
  position:sticky;top:8rem;
}
.about-img-bg{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-size:16rem;color:rgba(240,237,230,.03);
  letter-spacing:-.05em;user-select:none;line-height:1;
}
.about-img-info{position:relative;z-index:1}
.about-img-name{font-size:1rem;color:rgba(240,237,230,.7);margin-bottom:.2rem}
.about-img-role{font-size:.68rem;letter-spacing:.06em;color:var(--muted)}
.about-tag{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:1.2rem;display:flex;align-items:center;gap:.75rem}
.about-tag::before{content:'';width:18px;height:1px;background:var(--border)}
.about-title{font-family:var(--serif);font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.03em;line-height:1;margin-bottom:3rem}
.about-title em{font-style:italic;color:var(--muted)}
.about-paras{display:flex;flex-direction:column;gap:1.5rem}
.about-p{font-size:.95rem;line-height:1.9;color:var(--muted);font-weight:300}
.about-p strong{color:var(--fg);font-weight:400}
.about-stats{display:flex;gap:4rem;margin-top:3.5rem;padding-top:3.5rem;border-top:1px solid var(--border)}
.astat-n{font-family:var(--serif);font-size:3.5rem;letter-spacing:-.04em;line-height:1;margin-bottom:.35rem}
.astat-l{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* ── CONTACT ── */
#contact{border-top:1px solid rgba(240,237,230,.13);padding:8.3rem 5vw;background:linear-gradient(to bottom, rgba(255,255,255,.015), transparent), var(--tone-b)}
.contact-top{margin-bottom:5rem}
.contact-tag{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:1.2rem;display:flex;align-items:center;gap:.75rem}
.contact-tag::before{content:'';width:18px;height:1px;background:var(--border)}
.contact-title{font-family:var(--serif);font-size:clamp(3rem,7vw,8rem);letter-spacing:-.04em;line-height:.9}
.contact-title em{font-style:italic;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.c-rows{display:flex;flex-direction:column}
.c-row{display:flex;justify-content:space-between;align-items:baseline;padding:1.4rem 0;border-bottom:1px solid var(--border)}
.c-row:first-child{border-top:1px solid var(--border)}
.c-row{transition:padding-left .25s ease, color .25s ease}
.c-row:hover{padding-left:.45rem}
.c-lbl{font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.c-val{font-size:.88rem;color:var(--fg)}
.c-val a{color:var(--accent-strong);text-decoration:none;border-bottom:1px solid var(--accent-soft)}
.c-val a:hover{color:var(--fg);border-color:var(--fg)}
.c-promise{margin-top:3rem;padding:2.5rem;border:1px solid var(--border);background:rgba(240,237,230,.02)}
.c-promise-title{font-family:var(--serif);font-size:1.4rem;letter-spacing:-.02em;margin-bottom:.75rem}
.c-promise-desc{font-size:.82rem;line-height:1.75;color:var(--muted);font-weight:300}
.form-g{margin-bottom:1rem}
.f-lbl{display:block;font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.f-in,.f-ta,.f-sel{width:100%;padding:.85rem 0;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--fg);font-family:var(--sans);font-size:.9rem;font-weight:300;outline:none;transition:border-color .2s;border-radius:0}
.f-in:focus,.f-ta:focus,.f-sel:focus{border-color:rgba(240,237,230,.5)}
.f-in::placeholder,.f-ta::placeholder{color:rgba(240,237,230,.18)}
.f-ta{height:110px;resize:none}
.f-sel{appearance:none;color:var(--muted)}
.f-sel option{background:#111;color:var(--fg)}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.f-sub{width:100%;padding:1.1rem;margin-top:1.5rem;background:var(--fg);color:var(--bg);border:none;font-family:var(--sans);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;transition:opacity .2s}
.f-sub{
  background:var(--accent);
  color:#16120a;
  border:1px solid var(--accent);
  box-shadow:0 6px 18px rgba(217,179,106,.18);
}
.f-sub:hover{opacity:.95}
.f-honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-form{max-width:100%}
.form-success{
  max-width:var(--content-max);margin:0 auto 2rem;padding:1.25rem 1.5rem;border:1px solid var(--accent-soft);
  background:rgba(217,179,106,.08);font-size:.88rem;line-height:1.55;color:rgba(240,237,230,.92);
}
.form-success strong{color:var(--accent-strong)}
.form-success[hidden]{display:none!important}

/* Legal pages */
.legal-page.service-hero{padding-bottom:3rem}
.legal-body{max-width:720px;margin:0 auto;padding:0 5vw 6rem;font-size:.9rem;line-height:1.75;color:var(--muted)}
.legal-body h2{margin-top:2.5rem;margin-bottom:.85rem;font-family:var(--serif);font-size:1.35rem;color:var(--fg);font-weight:400;letter-spacing:-.02em}
.legal-body h2:first-of-type{margin-top:0}
.legal-body p{margin-bottom:1rem}
.legal-body a{color:var(--accent-strong);text-decoration:underline;text-underline-offset:.15em}
.legal-body a:hover{color:var(--fg)}

/* ── FOOTER ── */
footer{border-top:1px solid var(--border);padding:2.5rem 5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem}
.f-logo{font-family:var(--serif);font-size:1rem;color:var(--fg)}
.f-logo em{font-style:italic;color:var(--muted)}
.f-links{display:flex;gap:2rem}
.f-links a{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);transition:color .2s}
.f-links a:hover{color:var(--fg)}
.f-copy{font-size:.65rem;color:var(--muted);text-align:right}

/* ── REVEAL ── */
.r{opacity:0;transform:translateY(14px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
.r.on{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}

/* subtle looping motion for depth */
.hero-orb-1,.hero-orb-2,.hero-orb-3{will-change:transform}
.port-item-bg,.hero-content,.hero-bg-image{will-change:transform}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* ── RESPONSIVE ── */
@media (max-width:1100px){
  .nav-r{gap:1.2rem}
  .nav-links{gap:.75rem}
  .nav-links a{font-size:.64rem;letter-spacing:.08em}
  .hero-bottom,.core-top,.svc-top,.proc-top,.price-top,.contact-grid,.about-grid{grid-template-columns:1fr;display:grid}
  .hero-bottom{display:flex;flex-direction:column;align-items:flex-start}
  .core-grid,.testi-grid{grid-template-columns:1fr}
  .offer-grid,.pc-grid{grid-template-columns:1fr 1fr}
  .bundle-grid{grid-template-columns:1fr}
  .starter-band{grid-template-columns:1fr;gap:2rem}
  .starter-band-aside{text-align:left;align-items:stretch}
  .why-grid{grid-template-columns:1fr}
  .proc-grid{grid-template-columns:1fr 1fr}
  #stats{grid-template-columns:1fr 1fr}
  .service-meta{gap:1rem}
  .mini-process-grid{grid-template-columns:1fr 1fr}
  .price-top,.proc-top,.svc-top,.core-top{gap:1.5rem}
  .subsection-split{grid-template-columns:1fr}
  .subsection-split.rev .subsection-body,.subsection-split.rev .subsection-visual{order:unset}
}

@media (max-width:760px){
  body{cursor:auto}
  #cur,#cur-r{display:none}
  nav{padding:1rem 5vw}
  .nav-toggle{display:flex;z-index:600;position:relative}
  .nav-r{
    position:fixed;inset:0;top:0;left:0;right:0;bottom:0;
    flex-direction:column;justify-content:center;align-items:center;gap:2rem;
    background:rgba(8,8,8,.97);backdrop-filter:blur(16px);
    padding:5rem 2rem 2rem;opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .3s ease,visibility .3s ease;z-index:550;
  }
  nav.nav-open .nav-r{opacity:1;visibility:visible;pointer-events:auto}
  .nav-links{flex-direction:column;align-items:center;gap:1.35rem}
  .nav-links a{font-size:.78rem}
  .nav-cta{width:min(280px,100%);justify-content:center;text-align:center}
  .hero-top{top:6rem}
  .hero-eyebrow{font-size:.58rem;letter-spacing:.11em;padding:.36rem .62rem;max-width:92vw}
  .hero-h1{font-size:clamp(2.6rem,13vw,4.6rem);line-height:.96}
  .hero-bg-image{
    inset:-6%;
    width:112%;
    height:112%;
    animation:heroSlowZoomMobile 30s ease-in-out infinite alternate,heroDriftMobile 40s ease-in-out infinite alternate;
  }
  .hero-actions{flex-direction:column;align-items:flex-start;gap:.7rem}
  .cta-btns{flex-direction:column;align-items:stretch;gap:.7rem}
  .btn-light,.btn-outline,.pc-btn,.f-sub{width:100%}
  .hero-badges span{font-size:.58rem}
  .hero-trustline{font-size:.64rem;line-height:1.6}
  section::before{left:0;right:0;background:linear-gradient(90deg, transparent 0%, rgba(240,237,230,.16) 10%, rgba(240,237,230,.16) 90%, transparent 100%)}
  #core-services,#portfolio,#services,#process,#testimonials,#pricing,#preise-web,#about,#contact,.offer-section,.subsection,.mini-process,.faq,.cta-simple,.service-hero{padding:5.6rem 5vw}
  #stats{grid-template-columns:1fr}
  .proc-grid,.mini-process-grid,.offer-grid,.pc-grid{grid-template-columns:1fr}
  .service-title{font-size:clamp(2.2rem,12vw,4rem)}
  .port-name{font-size:clamp(1.2rem,7vw,1.7rem)}
  .core-card h3,.why-item h3,.svc-name{font-size:clamp(1.25rem,7.2vw,1.65rem)}
  .proc-name{font-size:1.05rem}
  .contact-title{font-size:clamp(2.2rem,12vw,3.7rem);line-height:.96}
  .about-title,.offer-title,.price-title,.testi-title,.why-title{font-size:clamp(1.9rem,9.2vw,3rem)}
  .hero-desc,.core-intro,.svc-intro,.proc-desc,.price-note,.about-p,.c-promise-desc,.testi-quote{font-size:.92rem;line-height:1.62}
  footer{grid-template-columns:1fr;text-align:center}
  .f-links{justify-content:center}
  .f-copy{text-align:center}
}

/* ── KEYFRAMES ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes wordUp{from{transform:translateY(110%);opacity:0}to{transform:none;opacity:1}}
@keyframes heroSlowZoom{
  0%{transform:translate3d(0,0,0) scale(1.02)}
  100%{transform:translate3d(0,0,0) scale(1.08)}
}
@keyframes heroDrift{
  0%{transform:translate3d(-.6%,-.4%,0) scale(1.03)}
  50%{transform:translate3d(.2%,.1%,0) scale(1.055)}
  100%{transform:translate3d(.8%,.5%,0) scale(1.08)}
}
@keyframes heroSlowZoomMobile{
  0%{transform:translate3d(0,0,0) scale(1.01)}
  100%{transform:translate3d(0,0,0) scale(1.05)}
}
@keyframes heroDriftMobile{
  0%{transform:translate3d(-.35%,-.2%,0) scale(1.02)}
  100%{transform:translate3d(.45%,.28%,0) scale(1.05)}
}

/* ── THEME TOGGLE (Hell / Dunkel) ── */
.theme-toggle{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;padding:0;flex-shrink:0;
  border:1px solid var(--border);border-radius:2px;
  background:rgba(240,237,230,.04);color:var(--fg);
  transition:background .2s,border-color .2s,color .2s;
}
.theme-toggle:hover{background:rgba(240,237,230,.09)}
.theme-toggle:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}
.theme-ic{display:flex;align-items:center;justify-content:center;line-height:0}
.theme-ic svg{display:block}
html[data-theme="light"] .theme-ic-sun{display:none}
html:not([data-theme="light"]) .theme-ic-moon{display:none}

/* Hellmodus: Variablen + sichtbare Flächen */
html[data-theme="light"]{
  color-scheme:light;
  --bg:#f4f1ea;
  --bg2:#fffcf7;
  --bg3:#ebe6dc;
  --tone-a:#faf7f0;
  --tone-b:#f3efe6;
  --tone-c:#ece7de;
  --tone-d:#efe9df;
  --fg:#16120f;
  --muted:rgba(22,18,15,0.52);
  --border:rgba(22,18,15,0.11);
  --accent:#b8922e;
  --accent-strong:#9a7a26;
  --accent-soft:rgba(184,146,46,0.28);
  --accent-glow:rgba(184,146,46,0.22);
  --accent-blue:#1e6bb8;
  --accent-blue-soft:rgba(30,107,184,0.2);
  --accent-emerald:#0a8f64;
  --accent-emerald-soft:rgba(10,143,100,0.18);
  --accent-violet:#5c3dad;
  --accent-violet-soft:rgba(92,61,173,0.18);
}
html[data-theme="light"] body{
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(217,179,106,.14), transparent 58%),
    radial-gradient(900px 500px at 100% 30%, rgba(30,107,184,.07), transparent 62%),
    var(--bg);
}
html[data-theme="light"] section::before{
  background:linear-gradient(90deg, transparent 0%, rgba(22,18,15,.07) 16%, rgba(217,179,106,.24) 50%, rgba(22,18,15,.07) 84%, transparent 100%);
}
html[data-theme="light"] nav.s{
  background:rgba(255,252,247,.94);
  border-color:var(--border);
}
html[data-theme="light"] .nav-toggle{background:rgba(22,18,15,.04)}
html[data-theme="light"] .theme-toggle{background:rgba(22,18,15,.05)}
html[data-theme="light"] .theme-toggle:hover{background:rgba(22,18,15,.1)}
html[data-theme="light"] #scroll-progress{
  background:linear-gradient(90deg,var(--fg),rgba(22,18,15,.45));
  box-shadow:0 0 16px rgba(22,18,15,.12);
}
html[data-theme="light"] #cur{mix-blend-mode:normal;background:var(--fg)}
html[data-theme="light"] #cur-r{border-color:rgba(22,18,15,.22)}
html[data-theme="light"] .hero-video-bg{
  background:linear-gradient(135deg,#e8e4dc 0%,#f2ede4 50%,#e5e0d6 100%);
}
html[data-theme="light"] .hero-overlay{
  background:linear-gradient(to bottom,rgba(244,241,234,.45) 0%,rgba(240,236,228,.72) 45%,rgba(232,227,218,.94) 100%);
}
html[data-theme="light"] .hero-bg-image{
  filter:saturate(.88) contrast(.98) brightness(.95);
}
html[data-theme="light"] #hero{border-bottom-color:rgba(22,18,15,.1)}
html[data-theme="light"] #pricing,
html[data-theme="light"] #preise-web{
  border-top-color:rgba(22,18,15,.1);
  background:linear-gradient(to bottom, transparent, rgba(22,18,15,.02)), var(--tone-c);
}
html[data-theme="light"] #pricing::after,
html[data-theme="light"] #preise-web::after{
  background:radial-gradient(620px 240px at 80% 0%, rgba(10,143,100,.1), transparent 66%);
}
html[data-theme="light"] .pc:hover{box-shadow:0 16px 32px rgba(22,18,15,.12)}
html[data-theme="light"] .pc ul li{border-bottom-color:rgba(22,18,15,.1)}
html[data-theme="light"] #cta{
  border-top-color:rgba(22,18,15,.1);
  background:linear-gradient(135deg,#ebe6dc 0%,#f0ebe3 50%,#e5e0d6 100%);
}
html[data-theme="light"] .cta-orb-1{background:rgba(22,18,15,.04)}
html[data-theme="light"] #about{border-top-color:rgba(22,18,15,.1)}
html[data-theme="light"] .about-img-bg{color:rgba(22,18,15,.06)}
html[data-theme="light"] .about-img-name{color:rgba(22,18,15,.75)}
html[data-theme="light"] #contact{
  border-top-color:rgba(22,18,15,.1);
  background:linear-gradient(to bottom, rgba(22,18,15,.03), transparent), var(--tone-b);
}
html[data-theme="light"] .f-in:focus,
html[data-theme="light"] .f-ta:focus,
html[data-theme="light"] .f-sel:focus{border-color:rgba(22,18,15,.35)}
html[data-theme="light"] .f-in::placeholder,
html[data-theme="light"] .f-ta::placeholder{color:rgba(22,18,15,.28)}
html[data-theme="light"] .f-sel option{background:#fff;color:var(--fg)}
html[data-theme="light"] .form-success{
  background:rgba(184,146,46,.1);
  color:rgba(22,18,15,.88);
  border-color:var(--accent-soft);
}
html[data-theme="light"] .preise-kombi-section{
  background:linear-gradient(to bottom, rgba(10,143,100,.05), transparent), var(--tone-b);
}
html[data-theme="light"] .bundle-was{text-decoration-color:rgba(22,18,15,.22)}
html[data-theme="light"] .img-placeholder::after{
  background:linear-gradient(160deg,rgba(30,107,184,.07),transparent 42%,rgba(217,179,106,.06));
}
html[data-theme="light"] .subsection-img-frame{
  box-shadow:0 16px 40px rgba(22,18,15,.12);
}
html[data-theme="light"] #why-us{border-top-color:rgba(22,18,15,.1)}
html[data-theme="light"] #stats{
  border-top-color:rgba(22,18,15,.1);
  border-bottom-color:rgba(22,18,15,.1);
  background:linear-gradient(90deg, rgba(22,18,15,.04), rgba(22,18,15,.02));
}
html[data-theme="light"] .testi-quote{color:rgba(22,18,15,.72)}
html[data-theme="light"] .testi:hover{background:rgba(22,18,15,.04)}
html[data-theme="light"] .port-overlay{
  background:linear-gradient(to top,rgba(22,18,15,.88) 0%,rgba(22,18,15,.32) 55%,transparent 100%);
}
html[data-theme="light"] .proc-item:hover .proc-n{color:rgba(22,18,15,.1)}
html[data-theme="light"] .proc-item:hover .proc-text{color:rgba(22,18,15,.48)}

@media (max-width:760px){
  html[data-theme="light"] .nav-r{
    background:rgba(252,249,243,.98);
  }
  html[data-theme="light"] section::before{
    background:linear-gradient(90deg, transparent 0%, rgba(22,18,15,.1) 10%, rgba(22,18,15,.1) 90%, transparent 100%);
  }
}
