/* webdesign.nexaplex.de – Startseite. Schriften lokal (IBM Plex, Instrument Serif; Lizenzen in assets/fonts). */
@font-face{font-family:'Instrument Serif';src:url(fonts/instrument-serif-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url(fonts/instrument-serif-latin-400-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url(fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url(fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url(fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url(fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}

:root{
  --bg:#0c0b09;--bg2:#12100d;--card:#171511;--line:#2a2620;--line2:#3a352d;
  --text:#f3eee5;--muted:#a39d92;--gold:#d4ad62;--gold-hi:#e6c37f;
  --paper:#f3eee4;--paper2:#fbf8f2;--ink:#191714;--pmuted:#5f5a51;--pline:#dcd3c3;--pgold:#94702f;
  --display:'Instrument Serif',Georgia,'Times New Roman',serif;
  --sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
::selection{background:var(--gold);color:var(--ink)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:4px}
.skip{position:absolute;left:16px;top:-100px;z-index:200;background:var(--gold);color:var(--ink);padding:10px 16px;border-radius:999px}
.skip:focus{top:12px}
.wrap{max-width:1360px;margin:0 auto;padding:0 32px;position:relative}
.hidden{display:none!important}

/* Kopfzeile */
header{position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:1px solid transparent;transition:background .35s,border-color .35s,backdrop-filter .35s}
header.solid{background:rgba(12,11,9,.8);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border-color:var(--line)}
.nav{max-width:1360px;margin:0 auto;padding:20px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:inline-flex;align-items:center;font:600 16px/1 var(--sans);letter-spacing:.22em;white-space:nowrap}
.logo .x{color:var(--gold)}
.logo small{font:500 10px/1 var(--mono);letter-spacing:.26em;color:var(--muted);margin-left:14px;padding-left:14px;border-left:1px solid var(--line2)}
.links{display:flex;align-items:center;gap:32px}
.links>a:not(.btn){font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);transition:color .2s}
.links>a:not(.btn):hover{color:var(--text)}
.menu{display:none;background:none;border:1px solid var(--line2);border-radius:999px;padding:9px 16px;font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text)}

/* Schaltflächen */
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 12px 12px 22px;border-radius:999px;border:1px solid var(--gold);background:var(--gold);color:#17120a;font:500 14.5px/1 var(--sans);white-space:nowrap;transition:background .25s,border-color .25s,color .25s,transform .25s}
.btn span{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:50%;background:#17120a;color:var(--gold);font-size:13px;line-height:1;transition:transform .35s var(--ease)}
.btn:hover{background:var(--gold-hi);border-color:var(--gold-hi)}
.btn:hover span{transform:rotate(45deg)}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--line2)}
.btn.ghost span{background:var(--text);color:var(--bg)}
.btn.ghost:hover{border-color:var(--text);background:rgba(243,238,229,.04)}
.btn.small{padding:9px 9px 9px 18px;font-size:13.5px}
.btn.small span{width:24px;height:24px}
.btn:disabled{opacity:.6;cursor:wait}

/* Typo */
.eyebrow{display:inline-flex;align-items:center;gap:14px;font:500 11px/1.4 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.eyebrow::before{content:'';width:28px;height:1px;background:currentColor}
h1{font:400 clamp(60px,10.4vw,160px)/.9 var(--display);letter-spacing:-.02em;margin-top:28px}
h1 .ln{display:block;overflow:hidden;padding:0 .12em .06em 0;margin-bottom:-.06em}
h1 .ln>span{display:inline-block}
h1 em,h2 em{font-style:italic;color:var(--gold)}
h2{font:400 clamp(44px,6.2vw,96px)/.95 var(--display);letter-spacing:-.015em;margin-top:24px}

/* Hero */
.hero{position:relative;padding:160px 0 0;overflow:hidden;isolation:isolate}
.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(700px circle at var(--mx,72%) var(--my,22%),rgba(212,173,98,.14),transparent 62%)}
.hero::after{content:'';position:absolute;inset:0;z-index:-2;opacity:.5;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:88px 88px;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 20%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 80% 60% at 50% 20%,#000 10%,transparent 75%)}
.hero-top{display:grid;grid-template-columns:1.4fr .6fr;gap:60px;align-items:end}
.hero-side p{color:#c9c3b8;font-size:17px;line-height:1.7;max-width:420px}
.hero-side p strong{color:var(--text);font-weight:500}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

/* Bühne mit Live-Vorschau */
.stage{margin-top:96px}
.tabs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-bottom:34px}
.tab{position:relative;background:none;border:0;padding:20px 20px 0 0;text-align:left;color:var(--muted);transition:color .3s}
.tab::before{content:'';position:absolute;top:-1px;left:0;right:20px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left}
.tab:hover{color:var(--text)}
.tab.on{color:var(--text)}
.tab.on::before{animation:progress var(--dur,8s) linear forwards}
.stage.manual .tab.on::before{animation:none;transform:scaleX(1)}
.tab small{display:block;font:500 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);opacity:.7}
.tab.on small{opacity:1}
.tab b{display:block;font:400 28px/1.1 var(--display);margin-top:10px;overflow-wrap:anywhere}
.tab em{display:block;font:500 10.5px/1.4 var(--mono);font-style:normal;letter-spacing:.16em;text-transform:uppercase;margin-top:6px}
@keyframes progress{to{transform:scaleX(1)}}
.screens{position:relative;padding-right:13%}
.screens iframe{transition:opacity .35s ease}
.screens.switching iframe{opacity:0}
.device{position:relative;background:#1a1814;border:1px solid var(--line2);border-radius:14px;overflow:hidden;box-shadow:0 70px 120px -40px rgba(0,0,0,.9),0 40px 90px -50px rgba(212,173,98,.35)}
.bar{display:flex;align-items:center;gap:7px;height:38px;padding:0 16px;background:#1d1a16;border-bottom:1px solid #2c2822}
.bar i{width:10px;height:10px;border-radius:50%;background:#3b362e}
.bar .url{flex:0 1 360px;margin-left:16px;height:22px;padding:0 12px;border-radius:6px;background:#12100d;font:500 11px/22px var(--mono);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.view{position:relative;overflow:hidden;background:#0f0e0c}
.view iframe{position:absolute;top:0;left:0;width:1440px;height:900px;border:0;transform-origin:0 0;pointer-events:none}
.screens .device .view{aspect-ratio:16/9.4}
.phone{position:absolute;right:0;bottom:-48px;width:22%;max-width:280px;padding:9px;border-radius:40px;background:#1b1915;border:1px solid var(--line2);box-shadow:0 60px 100px -30px rgba(0,0,0,.9),inset 0 0 0 1px rgba(255,255,255,.03)}
.phone::before{content:'';position:absolute;z-index:2;top:17px;left:50%;width:30%;height:17px;border-radius:12px;background:var(--bg);transform:translateX(-50%)}
.phone .view{aspect-ratio:9/19.3;border-radius:31px}
.phone .view iframe{width:390px}
.stage-cap{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:30px;padding-right:26%;font:500 11px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.stage-cap .live{display:inline-flex;align-items:center;gap:10px}
.stage-cap .live::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(212,173,98,.6);animation:pulse 2.2s infinite}
.stage-cap a{color:var(--text);border-bottom:1px solid var(--line2);padding-bottom:3px;transition:border-color .2s}
.stage-cap a:hover{border-color:var(--gold)}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(212,173,98,0)}100%{box-shadow:0 0 0 0 rgba(212,173,98,0)}}

.facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:110px;border-top:1px solid var(--line)}
.fact{padding:28px 24px 0 0}
.fact+.fact{padding-left:24px;border-left:1px solid var(--line)}
.fact b{display:block;font:400 clamp(40px,4.4vw,60px)/1 var(--display);font-weight:400}
.fact b small{font-size:.45em;color:var(--muted);margin-right:6px}
.fact span{display:block;margin-top:12px;font:500 10.5px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* Laufband */
.marquee{margin-top:110px;padding:28px 0;border-block:1px solid var(--line);overflow:hidden;white-space:nowrap}
.track{display:flex;width:max-content;animation:marquee 46s linear infinite}
.set{display:flex;align-items:center;gap:52px;padding-right:52px}
.set span{font:400 clamp(26px,2.6vw,36px)/1 var(--display)}
.set i{font-style:normal;color:var(--gold);font-size:18px}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Abschnitte */
.section{padding:150px 0}
.head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:80px}
.head p{justify-self:end;max-width:440px;color:var(--muted);font-size:17px}
.note{max-width:820px;margin-top:70px;font-size:13.5px;color:var(--muted)}

/* Musterprojekte */
.work{display:grid;grid-template-columns:1fr 1fr;gap:90px 44px}
.project:nth-child(even){margin-top:140px}
.project>a{display:block}
.project .device{transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.project>a:hover .device,.project>a:focus-visible .device{transform:translateY(-10px);box-shadow:0 80px 120px -40px rgba(0,0,0,.95),0 50px 100px -50px rgba(212,173,98,.5)}
.project .view{aspect-ratio:16/11}
.project .open{position:absolute;right:18px;bottom:18px;z-index:2;display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:rgba(12,11,9,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line2);font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text);transform:translateY(8px);opacity:0;transition:opacity .35s,transform .35s var(--ease)}
.project>a:hover .open,.project>a:focus-visible .open{opacity:1;transform:none}
.project .hint{position:absolute;left:18px;bottom:18px;z-index:2;font:500 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text);background:rgba(12,11,9,.7);padding:8px 12px;border-radius:999px;opacity:0;transition:opacity .35s}
.project>a:hover .hint{opacity:1}
.meta{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:28px}
.meta .no{font:500 11px/1 var(--mono);letter-spacing:.16em;color:var(--gold)}
.meta h3{font:400 clamp(34px,3.2vw,44px)/1 var(--display);margin-top:12px}
.meta p{margin-top:10px;color:var(--muted);font-size:15.5px}
.tag{flex-shrink:0;padding:8px 14px;border:1px solid var(--line2);border-radius:999px;font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* Heller Block: Leistungen + Pakete */
.light{background:var(--paper);color:var(--ink);position:relative;z-index:1}
.light .eyebrow{color:var(--pgold)}
.light h2 em{color:var(--pgold)}
.light .head p,.light .note{color:var(--pmuted)}
.light .btn{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.light .btn span{background:var(--gold);color:var(--ink)}
.light .btn:hover{background:#34302a;border-color:#34302a}
.light .btn.ghost{background:transparent;color:var(--ink);border-color:#c4baa8}
.light .btn.ghost span{background:var(--ink);color:var(--paper)}
.light .btn.ghost:hover{border-color:var(--ink);background:rgba(25,23,20,.03)}
.benefits{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--pline)}
.benefit{padding:44px 40px 0}
.benefit:first-child{padding-left:0}
.benefit+.benefit{border-left:1px solid var(--pline)}
.benefit .n{font:italic 400 72px/1 var(--display);color:var(--pgold)}
.benefit small{display:block;margin-top:26px;font:500 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--pmuted)}
.benefit h3{font:500 23px/1.3 var(--sans);letter-spacing:-.015em;margin:14px 0 16px}
.benefit p{color:var(--pmuted);font-size:15.5px}
.packages-sec{padding-top:40px}
.packages{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.package{display:flex;flex-direction:column;padding:38px 34px 34px;background:var(--paper2);border:1px solid var(--pline);border-radius:22px;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.package:hover{transform:translateY(-6px);box-shadow:0 40px 70px -40px rgba(60,40,10,.35)}
.package.featured{position:relative;overflow:hidden;background:var(--bg);color:var(--text);border-color:var(--bg);box-shadow:0 40px 80px -40px rgba(12,11,9,.6)}
.package.featured::before{content:'';position:absolute;top:-40%;right:-30%;width:90%;height:80%;background:radial-gradient(circle,rgba(212,173,98,.22),transparent 65%);pointer-events:none}
.package .label{font:500 10.5px/1.5 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--pgold)}
.package.featured .label{color:var(--gold)}
.package h3{font:400 38px/1.05 var(--display);margin:18px 0 12px}
.package>p{min-height:72px;color:var(--pmuted);font-size:15px}
.package.featured>p{color:var(--muted)}
.price{display:flex;align-items:baseline;gap:10px;margin:28px 0 30px;font:400 84px/1 var(--display);letter-spacing:-.02em}
.price small{font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--pmuted)}
.package.featured .price small{color:var(--muted)}
.price.text{font-size:48px;padding:18px 0 17px}
.package ul{list-style:none;margin:0 0 32px;padding:0;border-top:1px solid var(--pline)}
.package.featured ul{border-color:var(--line2)}
.package li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--pline);font-size:14.5px}
.package.featured li{border-color:var(--line2)}
.package li::before{content:'';flex-shrink:0;width:16px;height:16px;margin-top:3px;border-radius:50%;background:var(--pgold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.3 2.3 4.7-5' fill='none' stroke='%23fbf8f2' stroke-width='1.6'/%3E%3C/svg%3E") center/16px no-repeat}
.package.featured li::before{background-color:var(--gold)}
.package .btn{margin-top:auto}
.light .package.featured .btn{background:var(--gold);border-color:var(--gold);color:#17120a}
.light .package.featured .btn span{background:#17120a;color:var(--gold)}
.light .package.featured .btn:hover{background:var(--gold-hi);border-color:var(--gold-hi)}

/* Ablauf */
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:90px}
.rail{position:absolute;top:28px;left:28px;right:12%;height:1px;background:var(--line)}
.rail i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-hi));transform:scaleX(var(--p,0));transform-origin:left}
.step .dot{position:relative;z-index:1;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:1px solid var(--line2);background:var(--bg);font:500 12px/1 var(--mono);color:var(--muted);transition:border-color .5s,color .5s,background .5s,box-shadow .5s}
.step.lit .dot{border-color:var(--gold);color:var(--gold);background:#19150e;box-shadow:0 0 30px -6px rgba(212,173,98,.5)}
.step small{display:block;margin-top:32px;font:500 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.step h3{font:400 32px/1.08 var(--display);margin:16px 0 14px}
.step p{color:var(--muted);font-size:15.5px}

/* Über mich */
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:110px;align-items:center}
.card{position:relative;aspect-ratio:4/5;display:flex;flex-direction:column;justify-content:space-between;padding:40px;overflow:hidden;border:1px solid var(--line2);border-radius:26px;background:radial-gradient(circle at 30% 18%,#2b2419,#13110d 62%)}
.card .ring{position:absolute;top:44%;left:50%;width:76%;aspect-ratio:1;transform:translate(-50%,-50%)}
.card .ring svg{width:100%;height:100%;animation:spin 46s linear infinite}
.card .ring text{font:500 10.5px var(--mono);letter-spacing:.32em;fill:var(--muted)}
.card .mono{position:absolute;top:44%;left:50%;transform:translate(-50%,-55%);font:italic 400 clamp(96px,11vw,170px)/1 var(--display);color:var(--gold);letter-spacing:-.04em}
.card h3{font:400 34px/1.1 var(--display)}
.card p{margin-top:6px;font:500 10.5px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
@keyframes spin{to{transform:rotate(360deg)}}
figure.card{margin:0}
.card.photo{padding:0;justify-content:flex-end;background:#13110d}
.card.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;transition:transform 1.4s var(--ease)}
.card.photo:hover img{transform:scale(1.03)}
.card.photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,11,9,0) 45%,rgba(12,11,9,.55) 68%,rgba(12,11,9,.95) 100%),radial-gradient(ellipse at 50% 30%,transparent 55%,rgba(12,11,9,.45));pointer-events:none}
.card.photo .ring{top:22px;left:auto;right:22px;width:128px;transform:none;z-index:2;border-radius:50%;background:rgba(12,11,9,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(212,173,98,.35)}
.card.photo .ring text{font-size:19px;letter-spacing:.3em;fill:var(--text)}
.card.photo .ring i{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;color:var(--gold);font-size:22px}
.card.photo figcaption{position:relative;z-index:2;padding:40px}
.card.photo figcaption h3{margin-top:18px}
.person{display:flex;align-items:center;gap:16px;margin-top:34px}
.person img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--paper2);box-shadow:0 0 0 1px var(--pline),0 10px 24px -10px rgba(60,40,10,.5)}
.person p{font-size:14.5px;line-height:1.5;color:var(--pmuted)}
.person strong{color:var(--ink);font-weight:500}
.about-copy p{max-width:560px;margin-top:24px;color:var(--muted);font-size:17px}
.about-copy h2+p{margin-top:36px}
.signature{margin-top:40px;font:italic 400 36px/1.2 var(--display);color:var(--gold)}

/* FAQ */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:110px;padding-top:0}
.faq-list{border-bottom:1px solid var(--line)}
details{border-top:1px solid var(--line)}
summary{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:28px 0;list-style:none;cursor:pointer;font:400 clamp(22px,2vw,28px)/1.25 var(--display);transition:color .2s}
summary::-webkit-details-marker{display:none}
summary:hover{color:var(--gold-hi)}
summary::after{content:'';flex-shrink:0;width:34px;height:34px;border:1px solid var(--line2);border-radius:50%;background:linear-gradient(var(--gold),var(--gold)) center/12px 1px no-repeat,linear-gradient(var(--gold),var(--gold)) center/1px 12px no-repeat;transition:transform .35s var(--ease),border-color .3s}
details[open] summary::after{transform:rotate(45deg);border-color:var(--gold)}
details p{padding:0 70px 30px 0;margin-top:-6px;color:var(--muted);font-size:16px}

/* Anfrage */
.contact-sec{border-radius:36px 36px 0 0}
.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}
.contact-copy>p{max-width:400px;margin-top:30px;color:var(--pmuted);font-size:17px}
.contact-trust{list-style:none;margin:40px 0 0;padding:0;border-top:1px solid var(--pline)}
.contact-trust li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--pline);font-size:15px;color:var(--ink)}
.contact-trust li::before{content:'✦';color:var(--pgold)}
.direct{margin-top:34px;font-size:15px;color:var(--pmuted)}
.direct a{color:var(--ink);border-bottom:1px solid var(--pgold)}
.form{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:26px 24px;padding:44px;background:var(--paper2);border:1px solid var(--pline);border-radius:26px;box-shadow:0 50px 90px -60px rgba(60,40,10,.4)}
.full{grid-column:1/-1}
label{display:grid;gap:6px;font:500 10.5px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--pmuted)}
input,select,textarea{width:100%;padding:10px 0 11px;background:transparent;border:0;border-bottom:1px solid #c9bfad;border-radius:0;color:var(--ink);font:400 16.5px/1.4 var(--sans);letter-spacing:0;text-transform:none;transition:border-color .25s,box-shadow .25s}
input::placeholder,textarea::placeholder{color:#a69d8e}
input:focus,select:focus,textarea:focus{outline:none;border-bottom-color:var(--pgold);box-shadow:0 1px 0 var(--pgold)}
select{-webkit-appearance:none;appearance:none;padding-right:28px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2394702f' stroke-width='1.5'/%3E%3C/svg%3E") right 4px center/12px no-repeat}
textarea{min-height:150px;resize:vertical}
input[type=checkbox]{width:18px;height:18px;margin:2px 0 0;padding:0;flex-shrink:0;accent-color:var(--ink)}
.check{display:flex;gap:12px;align-items:flex-start;font:400 13.5px/1.55 var(--sans);letter-spacing:0;text-transform:none;color:var(--pmuted)}
.check a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;opacity:0}
.form .btn.full{padding:16px 16px 16px 28px;font-size:16px}
.form .btn.full span{width:34px;height:34px}
.form-note{font-size:12.5px;color:var(--pmuted)}
.status{padding:16px 18px;border-radius:14px;background:#efe7d6;border:1px solid #d9c9a6;font-size:15px;color:var(--ink)}

/* Fuß */
.foot{position:relative;padding:130px 0 40px;overflow:hidden}
.foot::before{content:'';position:absolute;left:50%;bottom:-30%;width:1200px;height:700px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(212,173,98,.12),transparent 65%);pointer-events:none}
.foot-cta{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.foot-cta p{font:400 clamp(40px,5vw,76px)/1 var(--display);max-width:760px}
.foot-cta p em{font-style:italic;color:var(--gold)}
.word{margin:110px 0 50px;text-align:center;white-space:nowrap;font:600 clamp(40px,14.6vw,224px)/.8 var(--sans);letter-spacing:.04em;color:transparent;-webkit-text-stroke:1px #3d372e;user-select:none}
.word span{-webkit-text-stroke-color:rgba(212,173,98,.55)}
.foot-bottom{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:26px;border-top:1px solid var(--line);font:500 10.5px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.foot-bottom nav{display:flex;gap:26px;flex-wrap:wrap}
.foot-bottom a:hover{color:var(--text)}

/* Bewegung (nur mit JavaScript, sonst ist alles sofort sichtbar) */
.js .rv{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
.js h1 .ln>span{transform:translateY(108%);transition:transform 1.1s var(--ease)}
.js h1 .ln:nth-child(2)>span{transition-delay:.12s}
.js.ready h1 .ln>span{transform:none}

@media(max-width:1100px){
  .hero-top{grid-template-columns:1fr;gap:34px}
  .head{grid-template-columns:1fr;gap:28px}
  .head p{justify-self:start}
  .about{gap:60px}
  .faq{grid-template-columns:1fr;gap:50px}
  .contact{grid-template-columns:1fr;gap:56px}
  .packages{grid-template-columns:1fr;max-width:620px}
  .package>p{min-height:0}
  .benefit{padding:40px 28px 0}
}
@media(max-width:860px){
  .menu{display:block}
  .links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 24px;background:rgba(12,11,9,.97);border-bottom:1px solid var(--line)}
  .links.open{display:flex}
  .links>a:not(.btn){padding:18px 0;border-bottom:1px solid var(--line);font-size:12px}
  .links .btn{margin-top:20px}
  header:has(.links.open){background:rgba(12,11,9,.97);border-color:var(--line)}
  .tabs{grid-template-columns:1fr 1fr;row-gap:22px}
  .tab b{font-size:24px}
  .work{grid-template-columns:1fr;gap:80px}
  .project:nth-child(even){margin-top:0}
  .benefits{grid-template-columns:1fr}
  .benefit,.benefit:first-child{padding:36px 0}
  .benefit+.benefit{border-left:0;border-top:1px solid var(--pline)}
  .steps{grid-template-columns:1fr;gap:44px;padding-left:84px}
  .rail{top:0;bottom:0;left:28px;right:auto;width:1px;height:auto}
  .rail i{width:100%;height:100%;background:linear-gradient(var(--gold),var(--gold-hi));transform:scaleY(var(--p,0));transform-origin:top}
  .step{position:relative}
  .step .dot{position:absolute;left:-84px;top:-6px}
  .step small{margin-top:10px}
  .about{grid-template-columns:1fr}
  .card{max-width:480px;width:100%}
  .facts{grid-template-columns:1fr 1fr}
  .fact:nth-child(3){padding-left:0;border-left:0}
  .fact:nth-child(n+3){margin-top:28px}
  .foot-cta{flex-direction:column;align-items:flex-start}
}
@media(max-width:560px){
  .wrap{padding:0 20px}
  .nav{padding:16px 20px}
  .logo{font-size:15px}
  .logo small{display:none}
  .hero{padding-top:124px}
  h1{font-size:clamp(46px,15vw,84px)}
  h2{font-size:clamp(38px,12vw,56px)}
  .hero-side p{font-size:16px}
  .hero-actions .btn{flex:1 1 100%}
  .stage{margin-top:64px}
  .tab{padding-right:12px}
  .tab b{font-size:22px}
  .tab em{display:none}
  .screens{padding-right:0;padding-bottom:30px}
  .device{border-radius:10px}
  .bar{height:28px;padding:0 10px;gap:5px}
  .bar i{width:7px;height:7px}
  .bar .url{height:18px;line-height:18px;font-size:9.5px;margin-left:8px}
  .phone{width:30%;right:-6px;bottom:0;padding:5px;border-radius:22px}
  .phone::before{top:10px;height:9px}
  .phone .view{border-radius:17px}
  .stage-cap{padding-right:0;flex-direction:column;align-items:flex-start;gap:12px}
  .facts{margin-top:80px}
  .fact,.fact+.fact{padding:22px 12px 0 0}
  .fact+.fact{padding-left:14px}
  .fact:nth-child(3){padding-left:0}
  .marquee{margin-top:80px;padding:20px 0}
  .section{padding:100px 0}
  .head{margin-bottom:56px}
  .project .open{opacity:1;transform:none;right:12px;bottom:12px;padding:8px 12px;font-size:10px}
  .project .hint{display:none}
  .meta{flex-direction:column;align-items:flex-start;gap:16px}
  .package{padding:30px 24px 26px}
  .package .btn{white-space:normal;text-align:left}
  .price{font-size:72px}
  .price.text{font-size:42px}
  .card{padding:30px}
  .card.photo{padding:0}
  .card.photo figcaption{padding:26px}
  .card.photo .ring{width:96px;top:16px;right:16px}
  details p{padding-right:0}
  .form{grid-template-columns:1fr;padding:28px 22px;gap:24px}
  .full{grid-column:auto}
  .form .btn.full{white-space:normal;text-align:left}
  .contact-sec{border-radius:24px 24px 0 0}
  .foot{padding-top:100px}
  .word{margin:80px 0 36px}
  .foot-bottom{flex-direction:column}
}
@media(hover:none){
  .project .open{opacity:1;transform:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .rv,.js h1 .ln>span{opacity:1;transform:none}
  .tab.on::before{transform:scaleX(1)}
}
