/* =========================================================
   livingmatch – Landingpage v2
   Farbwelt der App (Stone + Orange/Rose), Layout im Stil
   moderner Luxury-Sites: Extended-Display-Type, Pill-CTAs,
   Split-Text-Reveals, Sticky-Szenen.
   ========================================================= */
:root{
  --bg:#0c0a09;          /* stone-950 */
  --bg-2:#1c1917;        /* stone-900 */
  --bg-3:#292524;        /* stone-800 */
  --line:rgba(255,255,255,.09);
  --text:#fafaf9;
  --muted:#a8a29e;       /* stone-400 */
  --dim:#78716c;         /* stone-500 */
  --orange:#f97316;      /* orange-500 */
  --orange-2:#fb923c;    /* orange-400 */
  --rose:#f43f5e;        /* rose-500 */
  --amber:#fbbf24;
  --green:#34d399;       /* emerald-400 */
  --cream:#fff8ed;       /* Jesko-Creme */
  --grad:linear-gradient(100deg,#f97316 0%,#fb7185 55%,#f43f5e 100%);
  --display:"Unbounded","Arial Black",system-ui,sans-serif;
  --sans:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font:500 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
::selection{background:var(--orange);color:#1a0d05}

.grain{position:fixed;inset:-50%;z-index:100;pointer-events:none;opacity:.05;
  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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

.kicker{font:600 .72rem/1 var(--display);letter-spacing:.22em;text-transform:uppercase;color:var(--orange-2);margin-bottom:1.4rem}
.kicker.center{text-align:center}
.display{font:400 clamp(2rem,5.2vw,4.4rem)/1.04 var(--display);letter-spacing:-.03em}
.display.huge{font-size:clamp(2.6rem,8vw,7.5rem)}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- Pill-Buttons (Jesko-Stil: Pill + runder Punkt) ---------- */
.pill{display:inline-flex;align-items:center;gap:6px;padding:5px;border-radius:999px;background:rgba(249,115,22,.18);transition:transform .5s var(--ease),background .4s}
.pill span{padding:.85em 1.5em;border-radius:999px;background:var(--orange);color:#1a0d05;font:700 .95rem/1 var(--sans);letter-spacing:.01em;transition:background .4s}
.pill .pill-dot{width:2.6em;height:2.6em;display:grid;place-items:center;border-radius:50%;background:var(--orange);color:#1a0d05;font-style:normal;font-weight:800;transition:transform .5s var(--ease)}
.pill:hover{transform:translateY(-2px)}
.pill:hover .pill-dot{transform:rotate(45deg)}
.pill:hover span,.pill:hover .pill-dot{background:#fdba74}
.pill:focus-visible{outline:2px solid var(--orange-2);outline-offset:4px}
.pill-ghost{background:rgba(255,255,255,.08);backdrop-filter:blur(10px)}
.pill-ghost span,.pill-ghost .pill-dot{background:rgba(255,255,255,.1);color:var(--text)}
.pill-ghost:hover span,.pill-ghost:hover .pill-dot{background:rgba(255,255,255,.2)}
.pill-sm span{padding:.65em 1.1em;font-size:.82rem}
.pill-sm .pill-dot{width:2.1em;height:2.1em}
.pill-lg span{padding:1.1em 2em;font-size:1.05rem}
.pill-lg .pill-dot{width:3.1em;height:3.1em}

/* ---------- Nav ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:60;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1.1rem clamp(1rem,5vw,6.5rem);transition:background .5s,backdrop-filter .5s}
.nav.solid{background:rgba(12,10,9,.72);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-bottom:1px solid var(--line)}
.nav-left{display:flex;gap:2rem;font-size:.86rem;font-weight:700}
.nav-left a,.nav-link-quiet{opacity:.8;transition:opacity .3s}
.nav-left a:hover,.nav-link-quiet:hover{opacity:1}
.wordmark{display:inline-flex;align-items:center;gap:.6rem;font:600 1rem/1 var(--display);letter-spacing:.04em}
.wordmark b{font-weight:300}
.wordmark img{width:30px;height:auto;filter:drop-shadow(0 0 10px rgba(249,115,22,.45))}
.nav-right{display:flex;justify-content:flex-end;align-items:center;gap:1.4rem;font-size:.86rem;font-weight:700}
@media (max-width:900px){.nav{grid-template-columns:auto 1fr}.nav-left,.nav-link-quiet{display:none}.wordmark{justify-self:start}}

/* =========================================================
   HERO – Türen öffnen sich, Kamera reist in den Raum
   ========================================================= */
.hero{position:relative;height:440vh}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#050404}

.interior{position:absolute;inset:0;overflow:hidden}
.layer{position:absolute;inset:-6%;width:112%;height:112%;will-change:transform}
.warm-light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 45% 55% at 50% 58%,rgba(255,170,100,.55),transparent 70%);mix-blend-mode:screen;opacity:0}

/* Portal (Wand + Türflügel). Wand = riesiger box-shadow um die Öffnung */
.portal{position:absolute;left:50%;top:60%;width:min(30vw,38vh);height:min(52vh,70vw);transform:translate(-50%,-50%);will-change:transform;
  border-radius:999px 999px 6px 6px;box-shadow:0 0 0 250vmax #0d0b0a;perspective:1600px}
.portal::before{content:"";position:absolute;inset:-14px;border-radius:999px 999px 10px 10px;border:1px solid rgba(249,115,22,.4);box-shadow:0 0 60px rgba(249,115,22,.18),inset 0 0 30px rgba(249,115,22,.12);pointer-events:none}
.portal::after{content:"";position:absolute;inset:-32px;border-radius:999px 999px 14px 14px;border:1px solid rgba(255,255,255,.06);pointer-events:none}
.portal-glow{position:absolute;left:50%;bottom:-6vh;width:220%;height:12vh;transform:translateX(-50%);background:radial-gradient(ellipse at 50% 0,rgba(249,115,22,.35),transparent 70%);filter:blur(10px);opacity:.4;pointer-events:none}
.door{position:absolute;top:0;bottom:0;width:50%;transform-style:preserve-3d;backface-visibility:hidden;overflow:hidden;
  background:linear-gradient(90deg,#1b1512,#2a201b 50%,#1b1512);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),inset 0 0 50px rgba(0,0,0,.6)}
.door-l{left:0;transform-origin:left center;border-radius:999px 0 0 0}
.door-r{right:0;transform-origin:right center;border-radius:0 999px 0 0}
.flutes{position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 2px,transparent 2px 14px,rgba(0,0,0,.25) 14px 16px,transparent 16px 22px)}
.handle{position:absolute;top:48%;width:4px;height:26%;border-radius:4px;background:linear-gradient(180deg,#fdba74,#c2410c);box-shadow:0 0 18px rgba(249,115,22,.8)}
.door-l .handle{right:12%}.door-r .handle{left:12%}
.seam{position:absolute;left:50%;top:6%;bottom:0;width:2px;margin-left:-1px;background:linear-gradient(transparent,#ffd6a0 30%,#ffb46b 70%,transparent);box-shadow:0 0 22px 6px rgba(255,160,90,.55);opacity:.3}
.door-copy{position:absolute;inset:auto -120% 112% -120%;text-align:center;pointer-events:none}
.door-copy .kicker{margin-bottom:1rem}
.door-copy h1{font:400 clamp(1.9rem,min(4.4vw,6.4vh),4rem)/1.02 var(--display);letter-spacing:-.035em;color:var(--cream)}

/* Hotspots */
.hotspots{position:absolute;inset:0;pointer-events:none}
.hs{position:absolute;left:var(--x);top:var(--y);display:flex;align-items:center;gap:.8rem;opacity:0;transform:translateY(14px) scale(.96);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.hs.on{opacity:1;transform:none}
.hs i{position:relative;width:14px;height:14px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(249,115,22,.25)}
.hs i::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid rgba(249,115,22,.7);animation:ping 2s var(--ease) infinite}
@keyframes ping{from{transform:scale(.6);opacity:1}to{transform:scale(2.2);opacity:0}}
.hs div{padding:.7rem 1rem;border-radius:14px;background:rgba(12,10,9,.62);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.1);white-space:nowrap}
.hs b{display:block;font:600 .85rem/1.2 var(--display);letter-spacing:-.01em}
.hs small{color:var(--muted);font-size:.75rem}
.hs-left{flex-direction:row-reverse;transform-origin:right}
.hs-left{translate:-100% 0}

.hero-end::before{content:"";position:absolute;left:0;right:0;bottom:-9vh;height:78vh;z-index:-1;background:linear-gradient(transparent,rgba(12,10,9,.55) 40%,rgba(12,10,9,.85));pointer-events:none}
.hero-end .kicker{text-shadow:0 2px 16px rgba(0,0,0,.8)}
.hero-end{position:absolute;z-index:2;left:0;right:0;bottom:9vh;text-align:center;padding:0 1.5rem;opacity:0;pointer-events:none}
.hero-end.on{pointer-events:auto}
.hero-end .display{font-size:clamp(1.8rem,4.2vw,3.6rem);text-shadow:0 6px 40px rgba(0,0,0,.6)}
.hero-cta{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap;margin-top:2rem}

.scroll-cue{position:absolute;left:50%;bottom:4vh;transform:translateX(-50%);display:flex;align-items:center;gap:.8rem;font:600 .68rem/1 var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.scroll-cue span{width:1px;height:38px;background:linear-gradient(var(--orange),transparent);animation:cue 2s var(--ease) infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.hero-progress{position:absolute;left:clamp(1rem,5vw,6.5rem);right:clamp(1rem,5vw,6.5rem);bottom:0;height:2px;background:rgba(255,255,255,.06)}
.hero-progress i{display:block;height:100%;width:100%;transform-origin:left;transform:scaleX(0);background:var(--grad)}

/* =========================================================
   Sektionen
   ========================================================= */
section{position:relative}
.sec-head{max-width:1100px;margin:0 auto 4.5rem;padding:0 1.5rem;text-align:center}

/* Split-Text (Wort-für-Wort Reveal) */
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split .w>span{display:inline-block;transform:translateY(105%);transition:transform 1.1s var(--ease)}
.split.in .w>span{transform:none}
.statement .split .w>span{transform:none;color:#44403c;transition:color .3s}
.statement .split .w.lit>span{color:var(--text)}

.reveal{opacity:0;transform:translateY(40px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* Statement */
.statement{padding:clamp(7rem,16vw,13rem) clamp(1.5rem,8vw,10rem) clamp(5rem,10vw,8rem)}
.statement p.split{max-width:1180px;margin:0 auto;font:400 clamp(1.6rem,3.8vw,3.4rem)/1.18 var(--display);letter-spacing:-.03em;text-align:center}

/* Ticker */
.ticker{overflow:hidden;border-block:1px solid var(--line);padding:1.3rem 0;background:var(--bg)}
.ticker-track{display:flex;gap:2.4rem;width:max-content;animation:tick 38s linear infinite;font:400 clamp(1.2rem,2.2vw,1.8rem)/1 var(--display);letter-spacing:-.02em;white-space:nowrap}
.ticker-track em{font-style:normal;color:var(--orange)}
.ticker-track span:nth-child(4n+1){color:var(--muted)}
@keyframes tick{to{transform:translateX(-50%)}}

/* Pfeiler */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,3vw,3rem);max-width:1320px;margin:0 auto;padding:clamp(5rem,10vw,8rem) clamp(1.5rem,5vw,4rem)}
.pillars .rule{display:block;width:26px;height:2px;background:var(--orange);margin-bottom:1.6rem}
.pillars h3{font:500 1.1rem/1.25 var(--display);letter-spacing:-.02em;margin-bottom:.8rem}
.pillars p{color:var(--muted);font-size:.95rem}
@media (max-width:980px){.pillars{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.pillars{grid-template-columns:1fr}}

/* ---------- Funktion ---------- */
.how{padding:clamp(5rem,10vw,9rem) clamp(1.5rem,5vw,4rem);background:radial-gradient(ellipse 60% 50% at 70% 40%,rgba(249,115,22,.08),transparent 70%),var(--bg)}
.how-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,7rem)}
.steps{display:flex;flex-direction:column}
.step{display:grid;grid-template-columns:auto 1fr;gap:1.6rem;padding:clamp(2rem,6vh,4rem) 0;border-top:1px solid var(--line);opacity:.32;transition:opacity .6s var(--ease);cursor:pointer;min-height:50vh;align-content:center}
.step:last-child{border-bottom:1px solid var(--line)}
.step.active{opacity:1}
.step-no{font:300 .9rem/1 var(--display);color:var(--orange);padding-top:.4rem}
.step h3{font:500 clamp(1.3rem,2.3vw,1.9rem)/1.15 var(--display);letter-spacing:-.025em;margin-bottom:1rem}
.step p{color:var(--muted);max-width:30rem}

.phone-col{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center}
.phone{position:relative;z-index:1;width:min(320px,78vw);aspect-ratio:9/19.3;border-radius:52px;padding:11px;background:linear-gradient(145deg,#3a3431,#0f0d0c);box-shadow:0 60px 120px -40px rgba(0,0,0,.9),inset 0 0 0 1.5px rgba(255,255,255,.12),0 0 0 1px #000}
.island{position:absolute;top:22px;left:50%;width:31%;height:26px;margin-left:-15.5%;background:#000;border-radius:20px;z-index:3}
.screen{position:relative;height:100%;border-radius:42px;overflow:hidden;background:radial-gradient(circle at 100% 0,#2a1a3a,#0c0a09 60%)}
.phone-halo{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(249,115,22,.35),rgba(244,63,94,.15) 45%,transparent 70%);filter:blur(30px)}
.scr{position:absolute;inset:0;padding:62px 16px 20px;display:flex;flex-direction:column;gap:12px;opacity:0;transform:translateY(18px) scale(.98);transition:opacity .6s var(--ease),transform .7s var(--ease)}
.scr.active{opacity:1;transform:none}
.app-top{display:flex;align-items:center;gap:8px;font-size:.88rem}
.app-top img{width:22px}
.app-top .live{margin-left:auto;color:var(--green);font-size:.66rem;font-weight:800}
.app-top .count{margin-left:auto;font-size:.66rem;font-weight:800;padding:4px 8px;border-radius:99px;background:rgba(249,115,22,.18);color:var(--orange-2)}
.app-top .count.pro{background:var(--grad);color:#fff}
.chat{display:flex;flex-direction:column;gap:8px}
.b{max-width:84%;padding:9px 12px;border-radius:16px;font-size:.78rem;line-height:1.35;opacity:0;transform:translateY(8px)}
.scr.active .b{animation:bubble .5s var(--ease) forwards}
.scr.active .b:nth-child(2){animation-delay:.35s}.scr.active .b:nth-child(3){animation-delay:.7s}.scr.active .b:nth-child(4){animation-delay:1.05s}.scr.active .b:nth-child(5){animation-delay:1.5s}
@keyframes bubble{to{opacity:1;transform:none}}
.b.in{background:var(--bg-3);border-bottom-left-radius:4px}
.b.out{align-self:flex-end;background:var(--orange);color:#1a0d05;font-weight:700;border-bottom-right-radius:4px}
.b.ok{background:rgba(52,211,153,.12);color:var(--green);font-weight:700}
.voice{margin-top:auto;display:flex;align-items:center;gap:3px;padding:12px 14px;border-radius:18px;background:var(--bg-2);border:1px solid var(--line)}
.voice i{width:3px;height:14px;border-radius:2px;background:var(--orange);animation:vb 1s ease-in-out infinite}
.voice i:nth-child(2){animation-delay:.1s}.voice i:nth-child(3){animation-delay:.2s}.voice i:nth-child(4){animation-delay:.3s}.voice i:nth-child(5){animation-delay:.4s}.voice i:nth-child(6){animation-delay:.5s}.voice i:nth-child(7){animation-delay:.6s}
@keyframes vb{0%,100%{transform:scaleY(.4)}50%{transform:scaleY(1.4)}}
.voice span{margin-left:10px;font-size:.72rem;color:var(--muted)}
.stack{position:relative;flex:1}
.card{position:absolute;inset:0 0 8%;border-radius:22px;background:var(--bg-2);border:1px solid var(--line);overflow:hidden}
.card.c3{transform:translateY(24px) scale(.88);opacity:.4}
.card.c2{transform:translateY(12px) scale(.94);opacity:.7}
.scr.active .card.c1{animation:swipe 3.4s var(--ease) infinite .6s}
@keyframes swipe{0%,45%{transform:none}65%{transform:translateX(18px) rotate(4deg)}85%,100%{transform:none}}
.card-img{position:relative;height:58%}
.card-img svg{width:100%;height:100%}
.tag{position:absolute;left:10px;bottom:10px;font-size:.66rem;font-weight:800;padding:4px 8px;border-radius:8px;background:rgba(12,10,9,.7);backdrop-filter:blur(6px)}
.card-body{padding:12px 14px;display:flex;flex-direction:column;gap:9px}
.row{display:flex;align-items:center;justify-content:space-between;gap:6px}
.row b{font:600 1.25rem/1 var(--display);text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:3px;text-underline-offset:4px}
.small{font-size:.66rem;color:var(--muted)}
.chip{font-size:.64rem;font-weight:800;padding:4px 8px;border-radius:99px;background:var(--bg-3)}
.chip.green{background:rgba(52,211,153,.14);color:var(--green)}
.swipe-btns{display:flex;justify-content:center;gap:22px}
.swipe-btns span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--bg-2);border:1px solid var(--line);color:var(--muted);font-weight:800}
.swipe-btns .like{background:var(--grad);color:#fff;border:0;box-shadow:0 10px 30px -8px rgba(244,63,94,.7)}
.metric{padding:14px;border-radius:18px;background:var(--bg-2);border:1px solid var(--line);display:flex;flex-direction:column;gap:9px}
.metric small,.metric-grid small{font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}
.metric b{font:600 1.15rem/1 var(--display)}
.amp{display:flex;gap:8px}
.amp i{width:26px;height:26px;border-radius:50%;opacity:.2}
.amp .r{background:var(--rose)}.amp .y{background:var(--amber)}.amp .g{background:var(--green)}
.amp i.on{opacity:1;box-shadow:0 0 18px var(--green)}
.scr.active .amp i.on{animation:glow 1.8s ease-in-out infinite}
@keyframes glow{50%{box-shadow:0 0 4px var(--green)}}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.metric-grid div{padding:12px;border-radius:16px;background:var(--bg-2);border:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.metric-grid b{font:600 1.05rem/1 var(--display)}
.bar{height:8px;border-radius:99px;background:var(--bg-3);overflow:hidden}
.bar i{display:block;height:100%;background:var(--green);border-radius:99px;transform-origin:left;transform:scaleX(0);transition:transform 1.4s var(--ease) .3s}
.scr.active .bar i{transform:scaleX(1)}
.green-t{color:var(--green)}
.push{display:flex;align-items:center;gap:10px;padding:11px;border-radius:18px;background:rgba(41,37,36,.9);border:1px solid var(--line);transform:translateY(-120%);opacity:0}
.scr.active .push{animation:push .8s var(--ease) .2s forwards}
@keyframes push{to{transform:none;opacity:1}}
.push img{width:30px}
.push b{display:block;font-size:.76rem}
.push small{font-size:.66rem;color:var(--muted)}
.letter{padding:14px;border-radius:18px;background:var(--bg-2);border:1px solid var(--line)}
.letter small{font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;color:var(--orange-2);font-weight:800}
.letter p{font-size:.74rem;color:#d6d3d1;margin:.5rem 0;line-height:1.5}
.typing{display:flex;gap:4px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:typ 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes typ{0%,100%{opacity:.3}50%{opacity:1}}
.sent{margin-top:auto;text-align:center;padding:12px;border-radius:16px;background:rgba(52,211,153,.12);color:var(--green);font-weight:800;font-size:.78rem;opacity:0}
.scr.active .sent{animation:bubble .6s var(--ease) 1.4s forwards}
@media (max-width:900px){
  .how-grid{grid-template-columns:1fr}
  .phone-col{position:sticky;top:64px;height:auto;padding:1rem 0;z-index:2;order:-1}
  .phone{width:min(230px,58vw)}
  .step{min-height:0;padding:2rem 0}
}

/* ---------- Spezifikation ---------- */
.spec{padding:clamp(5rem,10vw,9rem) clamp(1.5rem,5vw,4rem);background:var(--cream);color:#312726}
.spec .kicker{color:#c2410c}
.spec-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.spec-left{position:sticky;top:18vh}
.spec-list div{display:grid;grid-template-columns:1fr 1.3fr;gap:1rem;padding:1.4rem 0;border-top:1px solid rgba(49,39,38,.14)}
.spec-list div:last-child{border-bottom:1px solid rgba(49,39,38,.14)}
.spec-list dt{font-weight:700;color:#7c6f6c;font-size:.92rem}
.spec-list dd{font-weight:600}
.spec-list b{font:600 1.05em/1 var(--display);color:#c2410c}
@media (max-width:820px){.spec-inner{grid-template-columns:1fr}.spec-left{position:static}.spec-list div{grid-template-columns:1fr}}

/* ---------- Vergleich ---------- */
.compare{padding:clamp(5rem,10vw,9rem) clamp(1rem,4vw,4rem)}
.cmp{max-width:1100px;margin:0 auto;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:linear-gradient(180deg,rgba(28,25,23,.8),rgba(12,10,9,.8))}
.cmp-row{display:grid;grid-template-columns:.7fr 1fr 1.15fr;border-top:1px solid var(--line)}
.cmp-row>span{padding:1.25rem 1.5rem;display:flex;align-items:center}
.cmp-head{border-top:0;font-weight:700;font-size:.85rem;color:var(--muted)}
.cmp-head .lm{font:600 1rem/1 var(--display);color:var(--text);letter-spacing:.04em}
.cmp-head .lm b{font-weight:300}
[role=rowheader]{font:500 .72rem/1.2 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.old{color:var(--dim);gap:.8rem}
.old::before{content:"";flex:none;width:18px;height:2px;background:#57534e}
.new{gap:.8rem;font-weight:700;background:linear-gradient(90deg,rgba(249,115,22,.1),rgba(244,63,94,.04))}
.new::before{content:"✓";flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;background:var(--orange);color:#1a0d05}
.cmp-row:hover .new{background:linear-gradient(90deg,rgba(249,115,22,.2),rgba(244,63,94,.08))}
@media (max-width:720px){
  .cmp-row{grid-template-columns:1fr 1fr}
  .cmp-row [role=rowheader]{grid-column:1/-1;padding-bottom:0}
  .cmp-head span:first-child{display:none}
  .cmp-row>span{padding:1rem;font-size:.88rem}
}

/* ---------- Match-Modus ---------- */
.matchmode{padding:clamp(5rem,10vw,9rem) clamp(1.5rem,5vw,4rem);overflow:hidden;background:radial-gradient(ellipse 50% 60% at 75% 50%,rgba(244,63,94,.14),transparent 70%),radial-gradient(ellipse 40% 50% at 20% 30%,rgba(249,115,22,.1),transparent 70%),var(--bg-2);border-block:1px solid var(--line)}
.mm-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.mm-copy>p{color:var(--muted);margin-top:1.6rem;max-width:34rem}
.ticks{margin-top:1.8rem;display:flex;flex-direction:column;gap:.8rem}
.ticks li{position:relative;padding-left:2rem}
.ticks li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:14px;border-radius:50%;background:var(--grad)}
.mm-copy .note{font-size:.85rem;color:var(--dim);border-left:2px solid var(--orange);padding-left:1rem}
.orbit{position:relative;width:min(460px,86vw);aspect-ratio:1;margin:0 auto}
.ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.08)}
.ring.r2{inset:16%}.ring.r3{inset:32%;border-color:rgba(249,115,22,.25)}
.ring.r1{animation:spin 60s linear infinite;border-style:dashed}
@keyframes spin{to{transform:rotate(360deg)}}
.beams{position:absolute;inset:0;width:100%;height:100%}
.beams line{stroke:url(#none);stroke:var(--orange);stroke-width:1.2;stroke-dasharray:4 6;opacity:.55;animation:dash 1.6s linear infinite}
@keyframes dash{to{stroke-dashoffset:-20}}
.node{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.8rem 1rem;border-radius:18px;background:rgba(12,10,9,.75);backdrop-filter:blur(10px);border:1px solid var(--line);transform:translate(-50%,-50%)}
.node b{font:600 1.1rem/1 var(--display)}
.node small{font-size:.7rem;color:var(--muted);white-space:nowrap}
.node.me{left:50%;top:50%;border-color:rgba(249,115,22,.5);box-shadow:0 0 60px rgba(249,115,22,.35)}
.node.me img{width:46px}
.o1{left:83%;top:23%;animation:bob 5s ease-in-out infinite}
.o2{left:17.5%;top:32.5%;animation:bob 6s ease-in-out infinite .6s}
.o3{left:75%;top:82.5%;animation:bob 5.5s ease-in-out infinite 1.2s}
.o3 b{color:var(--orange-2)}
@keyframes bob{50%{margin-top:-10px}}
@media (max-width:860px){.mm-inner{grid-template-columns:1fr}}

/* ---------- Pläne ---------- */
.plans{padding:clamp(5rem,10vw,9rem) clamp(1.5rem,5vw,4rem)}
.plan-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;gap:1.3rem;padding:2.2rem;border-radius:28px;background:var(--bg-2);border:1px solid var(--line);transition:transform .6s var(--ease),border-color .4s}
.plan:hover{transform:translateY(-6px);border-color:rgba(249,115,22,.35)}
.plan h3{font:500 1.3rem/1 var(--display)}
.price b{font:600 2.4rem/1 var(--display);letter-spacing:-.03em}
.price span{color:var(--dim);font-size:.9rem;margin-left:.4rem}
.plan ul{display:flex;flex-direction:column;gap:.7rem;margin-bottom:auto;font-size:.93rem;color:#d6d3d1}
.plan li{position:relative;padding-left:1.6rem}
.plan li::before{content:"✓";position:absolute;left:0;color:var(--orange);font-weight:800}
.plan li.off{color:var(--dim)}
.plan li.off::before{content:"–";color:var(--dim)}
.plan li strong{color:#fed7aa}
.plan .new-feat em{font-style:normal;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:3px 7px;border-radius:6px;background:var(--grad);color:#fff;margin-left:.3rem;vertical-align:1px}
.plan-pro{background:linear-gradient(180deg,rgba(249,115,22,.14),rgba(28,25,23,1) 45%);border-color:rgba(249,115,22,.5);box-shadow:0 40px 90px -40px rgba(249,115,22,.5)}
.badge{position:absolute;top:-12px;left:2.2rem;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;padding:6px 12px;border-radius:99px;background:var(--grad)}
.plan .pill{align-self:flex-start}
.plans-note{text-align:center;color:var(--dim);font-size:.82rem;margin-top:2rem}
@media (max-width:920px){.plan-grid{grid-template-columns:1fr;max-width:520px}}

/* ---------- FAQ ---------- */
.faq{padding:clamp(4rem,8vw,7rem) 1.5rem}
.faq-list{max-width:860px;margin:0 auto}
.faq details{border-top:1px solid var(--line);padding:1.5rem 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;font:500 clamp(1rem,1.6vw,1.2rem)/1.3 var(--display);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--orange);font-size:1.4rem;line-height:1;transition:transform .4s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--muted);margin-top:1rem;max-width:44rem}

/* ---------- Finale ---------- */
.final{padding:clamp(7rem,16vw,13rem) 1.5rem;text-align:center;overflow:hidden;display:flex;flex-direction:column;align-items:center}
.final-glow{position:absolute;left:50%;bottom:-40%;width:120vw;height:90%;transform:translateX(-50%);background:radial-gradient(ellipse at 50% 100%,rgba(249,115,22,.55),rgba(244,63,94,.25) 35%,transparent 65%);filter:blur(20px);pointer-events:none}
.final .display{position:relative;max-width:14ch}
.final-sub{position:relative;color:var(--muted);font-size:1.15rem;margin:1.4rem 0 2.4rem}
.final .pill{position:relative}

/* ---------- Footer ---------- */
.footer{padding:3rem clamp(1.5rem,5vw,6.5rem) 2rem;border-top:1px solid var(--line);font-size:.88rem}
.footer-top,.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.2rem}
.footer-top nav{display:flex;gap:1.8rem;flex-wrap:wrap}
.footer-top nav a{color:var(--muted);transition:color .3s}
.footer-top nav a:hover{color:var(--text)}
.footer-bottom{margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid var(--line);color:var(--dim)}
.powered{display:inline-flex;align-items:center;gap:.7rem;padding:.55rem 1rem;border-radius:99px;border:1px solid var(--line)}
.powered small{font-size:.62rem;letter-spacing:.2em;color:var(--dim)}
.powered b{font-size:.74rem;letter-spacing:.08em;color:var(--orange-2)}

/* ---------- Rechtstexte ---------- */
.legal{max-width:800px;margin:0 auto;padding:9rem 1.5rem 5rem}
.legal h1{font:400 clamp(2.2rem,5vw,3.4rem)/1.05 var(--display);letter-spacing:-.03em;margin-bottom:2.4rem}
.legal h2{font:500 1.15rem/1.3 var(--display);margin:2.6rem 0 .9rem}
.legal p,.legal li{color:#d6d3d1;margin-bottom:.8rem}
.legal ul{list-style:disc;padding-left:1.3rem}
.legal a{color:var(--orange-2)}
.legal .lcard{background:var(--bg-2);border:1px solid var(--line);border-radius:22px;padding:1.7rem;margin-bottom:1rem}
.legal .muted{color:var(--dim)}.legal .small{font-size:.85rem}
.page-legal .nav{background:rgba(12,10,9,.8);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}

/* ---------- Reduced Motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal,.split .w>span{opacity:1!important;transform:none!important}
}

.metric.obj span{font-size:.72rem;color:#d6d3d1}
.row b.plain{text-decoration:none;font-size:1rem}
.spec-h{font-size:clamp(1.9rem,3.6vw,3.2rem)}
@media (max-width:600px){.hs div{white-space:normal;max-width:44vw}.hs b{font-size:.75rem}}

html,body{overflow-x:clip}
.display{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.matchmode,.final{overflow:hidden}
@media (max-width:600px){.display{font-size:clamp(1.7rem,8.4vw,2.4rem)}.display.huge{font-size:clamp(2.2rem,11vw,3rem)}.statement p.split{font-size:1.45rem}}

@media (max-width:700px){
  .hs,.hs-left{left:6%!important;translate:none;flex-direction:row}
  .hs:nth-child(1){top:20%!important}.hs:nth-child(2){top:33%!important}.hs:nth-child(3){top:46%!important}.hs:nth-child(4){top:59%!important}
  .hs div{max-width:70vw}
  .phone-col{position:relative;top:auto;padding:0 0 1rem}
  .phone{width:min(240px,64vw);font-size:14px}
  .scr{padding:54px 12px 16px}
  .app-top b{font-size:.8rem;white-space:nowrap}
  .scroll-cue{white-space:nowrap;font-size:.6rem}
}

.metric-grid div{min-width:0}
.metric-grid small{overflow-wrap:anywhere}
@media (max-width:700px){
  .metric-grid b{font-size:.9rem}.metric b{font-size:1rem}
  .metric.obj .row{flex-wrap:wrap}.row b.plain{font-size:.85rem}
  [role=rowheader]{font-size:.62rem;letter-spacing:.12em}
}

/* ===== v4: helle Werbe-Fotografie, echte Haustuer ===== */
.stage{background:#f6efe6}
.photo{background-size:cover;background-position:50% 50%}
.interior{background:#f6efe6}
.warm-light{background:radial-gradient(ellipse 50% 60% at 50% 55%,rgba(255,214,150,.55),transparent 70%)}
/* Szene hat das Seitenverhaeltnis des Fotos (1920x1088) und deckt den Viewport ab -> %-Koordinaten = Fotokoordinaten */
.scene{position:absolute;left:50%;top:50%;width:max(100vw,calc(100svh*1920/1088));aspect-ratio:1920/1088;
  translate:-50% -50%;transform-origin:50.00% 54.32%;will-change:transform}
.facade-photo{position:absolute;inset:0;background:url(assets/generated/hero-facade.jpg) 0 0/100% 100%;}
.doorway{position:absolute;left:39.58%;top:23.25%;width:20.83%;height:62.13%;perspective:900px;
  background:url(assets/generated/hero-inside.jpg) 50% 50%/auto 140%;box-shadow:inset 0 0 40px rgba(255,220,170,.35)}
.leaf{position:absolute;top:0;bottom:0;width:50%;background-size:100% 100%;backface-visibility:hidden;will-change:transform;
  box-shadow:0 0 0 .5px rgba(0,0,0,.3)}
.leaf-l{left:0;transform-origin:left center;background-image:url(assets/generated/door-l.jpg)}
.leaf-r{right:0;transform-origin:right center;background-image:url(assets/generated/door-r.jpg)}
.sun-flare{position:absolute;left:30%;top:20%;width:40%;height:70%;opacity:0;pointer-events:none;
  background:radial-gradient(ellipse at 50% 60%,rgba(255,236,200,.75),transparent 60%);mix-blend-mode:screen}
.door-copy{position:absolute;left:50%;top:clamp(5.5rem,13vh,9rem);right:auto;width:min(92vw,900px);transform:translateX(-50%);text-align:center;pointer-events:none;z-index:3}
.door-copy .kicker{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.door-copy h1{color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.35)}
.door-sub{margin-top:1rem;color:#fff;font-size:clamp(1rem,1.4vw,1.2rem);font-weight:600;text-shadow:0 2px 16px rgba(0,0,0,.45)}
.stage::before{content:"";position:absolute;inset:0 0 auto;height:45vh;z-index:2;pointer-events:none;background:linear-gradient(rgba(20,40,70,.35),transparent)}
.scroll-cue{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5);z-index:3}
.hero-end::before{background:linear-gradient(transparent,rgba(12,10,9,.35) 45%,rgba(12,10,9,.7))}
.has-photo{position:relative;isolation:isolate}
.sec-photo{position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center}
.statement.has-photo{color:#fff}
.statement .sec-photo{opacity:1;background-position:50% 70%}
.statement .sec-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(12,10,9,.92),rgba(12,10,9,.45) 35%,rgba(12,10,9,.55) 70%,rgba(12,10,9,.95))}
.statement .split .w>span{color:rgba(255,255,255,.35)}
.final .sec-photo{opacity:.6;background-position:50% 60%;-webkit-mask:linear-gradient(transparent,#000 40%);mask:linear-gradient(transparent,#000 40%)}
.final .sec-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(12,10,9,.2),rgba(12,10,9,.55))}
.spec-photo{margin:2.4rem 0 0;border-radius:18px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(49,39,38,.45)}
.spec-photo img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.spec-photo:hover img{transform:scale(1.04)}
.mm-visual{position:relative;border-radius:24px;overflow:hidden}
.mm-visual::before{content:"";position:absolute;inset:0;z-index:0;background:var(--mm-img) center/cover;opacity:.55;-webkit-mask:radial-gradient(ellipse at center,#000 45%,transparent 75%);mask:radial-gradient(ellipse at center,#000 45%,transparent 75%)}
.mm-visual .orbit{position:relative;z-index:1}
@media (max-width:900px){.spec-left{position:static}}
@media (max-width:700px){.scene{transform-origin:50.00% 54.32%}}

/* ===== i18n Sprachumschalter ===== */
.lm-lang{position:fixed;right:clamp(.75rem,2vw,1.5rem);bottom:clamp(.75rem,2vw,1.5rem);z-index:1000}
.lm-lang select{appearance:none;-webkit-appearance:none;font:600 .85rem/1 Manrope,system-ui,sans-serif;color:#312726;
  background:rgba(255,255,255,.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23312726' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right .8rem center;
  border:1px solid rgba(49,39,38,.18);border-radius:999px;padding:.6rem 2.1rem .6rem .95rem;cursor:pointer;
  box-shadow:0 8px 24px -10px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.lm-lang select:focus-visible{outline:2px solid #c9a36a;outline-offset:2px}
.lm-legal-note{font-size:.85rem;padding:.7rem 1rem;margin:0 0 1.5rem;border-left:3px solid #c9a36a;background:rgba(201,163,106,.12);border-radius:6px}
@media (max-width:700px){.lm-lang select{font-size:.8rem;padding:.5rem 1.9rem .5rem .8rem}}
