:root{
  --bg:#07090d;--bg2:#0d1117;--bg3:#141a22;--line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.16);
  --text:#f4efe6;--muted:#9ba4ae;--gold:#d6b270;--gold2:#f3dcaa;--gold-d:#a8854a;
  --plan:#7fb2ff;--build:#f0b35a;--ready:#5fd39a;
  --fs-xs:max(12px,.75rem);--r:18px;--r-lg:28px;--wrap:1240px;--gut:clamp(16px,4vw,40px);
  --ease:cubic-bezier(.2,.7,.2,1);
  --ff:'Manrope','X Noto','X My','Noto Sans Thai',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--serif:'Cormorant Garamond','X Noto','X My','Noto Sans Thai',Georgia,serif;
  --sys:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; /* Systemschrift ohne eigene Web-Schriften: für Sprachnamen + Währungssymbole in Menüs (sonst lädt jede Seite ~280 KB Arabisch/Myanmar/Thai/Hebräisch/Kyrillisch) */
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
/* Sprachnamen in der eigenen Schrift (العربية, မြန်မာ, ไทย, עברית, Русский, Română) + Währungssymbole (د.إ, ت, ₽, ₺, ₪, ₩) nur in Systemschrift – Web-Schriften laden so nur auf Seiten dieser Sprache (17.10.) */
.langdd-l a,.lsw-g span,.ftr-lang-g span,.curdd i,.cur-sym{font-family:var(--sys)}.langdd-l a b{font-family:var(--ff)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 var(--ff);-webkit-font-smoothing:antialiased}
/* Seitlich nie verschiebbar (17.10., iPhone: Wischen in Karussells schob die ganze Seite): clip auf html UND body – kein Scroll-Container (sticky bleibt),
   iOS kann die Seite nicht mehr seitlich ziehen. Ohne clip-Unterstützung (iOS < 16) bleibt html{overflow-x:hidden}. Scroll-Sperren daher auf html (siehe .nav-open). */
@supports (overflow:clip){html,body{overflow-x:clip}}
/* Touch-Geräte: waagrechtes Überscrollen der Seite aus (kein Gummiband/Mitziehen, keine Zurück-Wisch-Navigation, wenn eine Wisch-Reihe am Ende ist –
   ein contain an der Reihe greift nicht, wenn die Geste schon am Rand beginnt; getestet). Desktop-Trackpads behalten ihre Wisch-Gesten. iOS-Rand-Wischen (System) bleibt. */
@media (hover:none) and (pointer:coarse){html{overscroll-behavior-x:none}}
/* Alle waagrechten Wisch-Reihen: am Ende NICHT an die Seite weitergeben (kein seitliches Mitziehen/Gummiband, keine Zurück-Geste in Chrome) */
:where(.team-row,.gal,.gal-tabs,.pnav-in,.grid-swipe,.chips,.vgal,.gd-tw,.bp-gal,.refs-row,.acards,.vb-days,.icards,.news,.bp-vids,.rv,.mkx-quick,.mkf-row,.mk-rail,.mk-bph-row,.mkv-th,.mk-gal,.mk-cmp-scroll,.mk-sc-wrap,.mb-snav-in,.mb-gal,.mb-grid,.mb-pjs,.mbd-areas,.mm-nav-in,.sx-bc-strip,.sx-ut-row,.cmp-scroll,.pev-track){overscroll-behavior-x:contain}
:where(.team-row,.gal,.vgal,.bp-gal,.refs-row,.acards,.icards,.news,.mkf-row,.mk-rail,.mk-bph-row,.mk-gal,.mb-gal,.mb-grid,.mb-pjs) img{-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
svg{width:1.15em;height:1.15em;flex:none}
::selection{background:var(--gold);color:#111}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.muted{color:var(--muted)}.small{font-size:.85rem}
.serif{font-family:var(--serif);font-style:italic;font-weight:500}
.kicker{font-size:var(--fs-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:700;margin:0 0 .9rem}
.h1{font-size:clamp(2.7rem,8.4vw,6.6rem);line-height:.95;letter-spacing:-.035em;font-weight:800;margin:0 0 1.2rem}
.h1 em,.h2 em{font-family:var(--serif);font-weight:500;color:var(--gold2);letter-spacing:-.01em}
.h2{font-size:clamp(2rem,4.8vw,3.6rem);line-height:1.02;letter-spacing:-.03em;font-weight:800;margin:0 0 .8rem}
.h3{font-size:clamp(1.3rem,2.4vw,1.7rem);letter-spacing:-.02em;font-weight:700;margin:0 0 1.2rem}
.lead{font-size:clamp(1.05rem,1.6vw,1.3rem);color:#d9d4cb;max-width:40rem;margin:0 0 2rem}
.big{font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.5;margin:0 0 2rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.55rem;border-radius:999px;padding:.8rem 1.35rem;font-weight:700;font-size:.95rem;border:1px solid transparent;cursor:pointer;transition:transform .25s var(--ease),background .25s,border-color .25s,box-shadow .25s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-lg{padding:1rem 1.7rem;font-size:1rem}.btn-sm{padding:.55rem 1rem;font-size:.85rem}
.btn-gold{background:linear-gradient(135deg,var(--gold2),var(--gold) 55%,var(--gold-d));color:#16120a;box-shadow:0 10px 30px -10px rgba(214,178,112,.55)}
.btn-ghost{border-color:var(--line2);background:rgba(255,255,255,.04);backdrop-filter:blur(8px)}
.btn-ghost:hover{border-color:var(--gold)}
.btns{display:flex;flex-wrap:wrap;gap:.7rem}

/* Header */
.hdr{position:fixed;inset:0 0 auto;z-index:50;transition:background .3s,border-color .3s,backdrop-filter .3s;border-bottom:1px solid transparent}
.hdr.solid{background:rgba(7,9,13,.78);backdrop-filter:blur(16px) saturate(1.4);border-color:var(--line)}
.hdr-in{display:flex;align-items:center;gap:1.5rem;height:74px}
.brand{display:flex;align-items:center;gap:.65rem;font-weight:800;letter-spacing:.14em;font-size:.95rem}
.logo-mark{width:34px;height:34px;color:var(--gold)}
.nav{display:flex;align-items:center;gap:1.8rem;margin-left:auto;font-weight:600;font-size:.93rem}
.nav-in{display:contents} /* Desktop: Links stehen direkt in der Leiste; Handy/Tablet: eigener Scroll-Bereich unter dem Kopf (siehe max-width:1100px) */
.nav-in>a{opacity:.85;transition:opacity .2s,color .2s}.nav-in>a:hover{opacity:1;color:var(--gold2)}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line2);border-radius:50%;background:rgba(255,255,255,.04);cursor:pointer;position:relative}
.burger span{position:absolute;left:13px;right:13px;height:2px;background:var(--text);transition:transform .3s var(--ease),top .3s}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.nav-open .burger span:first-child{top:21px;transform:rotate(45deg)}.nav-open .burger span:last-child{top:21px;transform:rotate(-45deg)}

/* Hero */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:120px 0 2rem;overflow:hidden}
.hero-media,.hero-slide{position:absolute;inset:0}
.hero-slide{opacity:0;transition:opacity 1.6s ease}
.hero-slide.on{opacity:1}
.hero-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 9s linear}
.hero-slide.on img{transform:scale(1)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,13,.55) 0%,rgba(7,9,13,.15) 35%,rgba(7,9,13,.7) 72%,var(--bg) 100%),radial-gradient(ellipse at 20% 80%,rgba(7,9,13,.6),transparent 60%)}
.hero-slide picture{display:contents}
/* Name des Projekts im Titelbild (Link) */
.hero-cap{position:absolute;z-index:3;right:max(1.2rem,calc((100vw - 1160px) / 2));bottom:clamp(11rem,26vh,15rem);display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border-radius:99px;background:rgba(7,9,13,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(214,178,112,.4);color:var(--text);font-size:.8rem;font-weight:700;text-decoration:none;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .8s .5s,transform .8s .5s,visibility 0s 1.3s}
.hero-cap svg{width:14px;height:14px;color:var(--gold2)}
.hero-slide.on .hero-cap{opacity:1;visibility:visible;transform:none;transition:opacity .8s .5s,transform .8s .5s,visibility 0s}
[dir=rtl] .hero-cap{right:auto;left:max(1.2rem,calc((100vw - 1160px) / 2))}[dir=rtl] .hero-cap svg{transform:scaleX(-1)}
/* Handy: Titelbild oben in voller Breite (ganzes Gebäude sichtbar, scharf), Text darunter statt über einem stark gezoomten Ausschnitt */
@media (max-width:640px){
  .hero{min-height:0;justify-content:flex-start;padding:0 0 1.6rem}
  .hero-media{position:relative;inset:auto;flex:none;height:calc(64px + 76vw);overflow:hidden}
  .hero .hero-shade{bottom:auto;height:calc(64px + 76vw);background:linear-gradient(180deg,rgba(7,9,13,.62) 0%,rgba(7,9,13,.08) 26%,rgba(7,9,13,0) 58%,var(--bg) 100%)}
  .hero-slide img{object-position:var(--mpos,50% 50%);transform:scale(1.05);transition-duration:7s}
  .hero-in{margin-top:-1.4rem}
  .hero-cap{top:calc(64px + .7rem);bottom:auto;right:16px;font-size:var(--fs-xs);padding:.38rem .75rem}
  [dir=rtl] .hero-cap{right:auto;left:16px}
}
.hero-in{position:relative;width:100%}
.hero .h1{max-width:12ch;text-shadow:0 4px 40px rgba(0,0,0,.35)}
.stats{position:relative;width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:3.5rem;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;backdrop-filter:blur(14px)}
.stats.wrap{padding:0;width:calc(100% - 2 * var(--gut));max-width:calc(var(--wrap) - 2 * var(--gut))}
.stats>div{background:rgba(10,13,18,.62);padding:1.1rem 1.3rem}
.stats strong{display:block;font-size:clamp(1.3rem,2.6vw,2rem);font-weight:800;letter-spacing:-.02em;color:var(--gold2)}
.stats span{font-size:.82rem;color:var(--muted)}
/* Startbild-Kennzahlen (heroFacts): Zellen sind Links, Werte sofort da; Glas-Kante; 4. Zelle = Showroom live (.stand-live in site.js) */
.stats>a{display:block;background:linear-gradient(180deg,rgba(18,22,30,.66),rgba(10,13,18,.62));padding:1.1rem 1.3rem;transition:background .25s}
.stats>a:hover{background:linear-gradient(180deg,rgba(30,34,42,.7),rgba(16,19,26,.66))}
.hfacts{box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.hfacts .fx{display:block;font-style:normal;font-size:var(--fs-xs);line-height:1.35;color:#c4bdb0}
.hf-live .stand-live{display:block;margin:0}
.hf-live .sl-status{display:flex;width:auto;padding:0;border:0;background:none;gap:.5rem;min-height:clamp(1.95rem,3.9vw,3.2rem);font-size:clamp(.95rem,1.5vw,1.15rem);font-weight:800;color:var(--text)}
.hf-live .sl-status i{width:9px;height:9px}
.hf-live .stand-live.is-open .sl-status{color:#bff0d6}
/* „Pattaya jetzt“-Chip im Startbild (/x/api/wx): Höhe reserviert (kein Springen), unsichtbar bis Daten da sind, Antippen = Details-Fenster */
.hwx-w{position:relative;z-index:4;display:flex;height:2.15rem;margin:0 0 1.1rem}
.hwx{display:inline-flex;align-items:center;gap:.6rem;max-width:100%;height:100%;padding:0 .9rem 0 .75rem;border-radius:99px;border:1px solid rgba(214,178,112,.3);background:linear-gradient(135deg,rgba(243,220,170,.1),rgba(7,9,13,.55) 60%);-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 30px -14px rgba(0,0,0,.6);color:var(--text);font-size:.8rem;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(5px);transition:opacity .8s var(--ease),transform .8s var(--ease),visibility 0s .8s,border-color .3s}
.hwx.on{opacity:1;visibility:visible;transform:none;transition:opacity .8s var(--ease),transform .8s var(--ease),visibility 0s,border-color .3s}
.hwx:hover,.hwx[aria-expanded=true]{border-color:rgba(214,178,112,.65)}
.hwx:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.hwx-c{display:inline-flex;align-items:center;gap:.38rem;flex:none}
.hwx-c[hidden],.hwx-pop [hidden]{display:none}
.hwx-c+.hwx-c{padding-inline-start:.6rem;border-inline-start:1px solid rgba(255,255,255,.14)}
.hwx svg{width:16px;height:16px;color:var(--gold)}
.hwx-ic{display:inline-flex}.hwx-ic svg{width:18px;height:18px;color:var(--gold2)}
.hwx-ic .ray{transform-origin:12px 12px;animation:hwxr 30s linear infinite}
@keyframes hwxr{to{transform:rotate(360deg)}}
.hwx b{font-weight:800;color:var(--gold2);font-variant-numeric:tabular-nums}
.hwx-l{color:rgba(244,239,230,.8)}
.hwx-sm{display:none}
.hwx-hm{flex:0 1 auto;min-width:0}
.hwx-n{min-width:0;max-width:14em;overflow:hidden;text-overflow:ellipsis;color:rgba(244,239,230,.8)}
.hwx-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--ready);animation:hwxd 2.4s ease-out infinite}
@keyframes hwxd{0%{box-shadow:0 0 0 0 rgba(95,211,154,.55)}70%,100%{box-shadow:0 0 0 7px rgba(95,211,154,0)}}
.hwx-pop{position:absolute;top:calc(100% + .5rem);inset-inline-start:0;width:max-content;min-width:15rem;max-width:min(23rem,calc(100vw - 2 * var(--gut)));padding:.85rem 1rem .75rem;border-radius:14px;border:1px solid rgba(214,178,112,.3);background:linear-gradient(160deg,#151a22,#0b0e13 70%);box-shadow:0 20px 50px -12px rgba(0,0,0,.75);font-size:.84rem;line-height:1.5;animation:fopen .25s var(--ease)}
.hwx-pop p{margin:0}.hwx-pop p+p{margin-top:.25rem}
.hwx-pop b{color:var(--gold2);font-weight:700}
.hwx-pop small{display:block;margin-top:.6rem;color:var(--muted);font-size:var(--fs-xs)}
.hwx-pop a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
@media (max-width:640px){
  .hwx-w{height:2rem;margin:0 0 .9rem}
  .hwx{gap:.4rem;padding:0 .7rem;font-size:.75rem}
  .hwx.hm-on .hwx-ss{display:none} /* mit „Bei Ihnen“: Sonnenuntergang nur im Details-Fenster */
  .hwx-c{gap:.3rem}.hwx-c+.hwx-c{padding-inline-start:.4rem}
  .hwx svg{width:15px;height:15px}.hwx-ic svg{width:17px;height:17px}
  .hwx-lg,.hwx-hd{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
  .hwx-sm{display:inline}
  .hwx-n{max-width:none}
}
@media (prefers-reduced-motion:reduce){.hwx,.hwx.on{transform:none;transition:none}.hwx-dot,.hwx-ic .ray,.hwx-pop{animation:none}}

/* Marquee */
.marquee{overflow:hidden;border-block:1px solid var(--line);padding:1.3rem 0;background:var(--bg2)}
.marquee>div{display:flex;align-items:center;width:max-content;animation:mq 70s linear infinite}
.marquee:hover>div{animation-play-state:paused}
.marquee span,.marquee i{margin-right:2.2rem}
.marquee span{font-size:clamp(1.1rem,2.4vw,1.8rem);font-weight:700;letter-spacing:-.015em;color:var(--text);white-space:nowrap}
.marquee span:nth-of-type(even){color:var(--gold2)}
.marquee i{color:var(--gold);font-style:normal}
@keyframes fopen{from{opacity:0;transform:translateY(-6px)}}
@keyframes mq{to{transform:translateX(-33.333%)}}

/* Sections */
.sec{padding:clamp(3.5rem,8vw,6.5rem) 0}
.sec-tight{padding:clamp(2rem,4vw,3rem) 0}
.sec-alt{background:linear-gradient(180deg,var(--bg2),var(--bg))}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:2.6rem}
.sec-head .muted{margin:0;max-width:34rem}
.page-top{padding-top:140px}

/* Filters + Cards */
.fpanel{display:grid;gap:.9rem}
.ftoggle{display:none}
.freset[hidden],.fcnt[hidden]{display:none!important}
.filterbar{display:grid;gap:.9rem;margin:-1rem 0 2.2rem;padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:var(--r);background:var(--bg2)}
.fgroup{display:flex;align-items:center;gap:1rem;min-width:0}
.flabel{flex:0 0 7rem;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.chips{display:flex;gap:.5rem;flex-wrap:wrap;min-width:0}
.fresult{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:.9rem;font-size:.9rem;color:var(--muted)}
.fresult b{color:var(--text)}
.freset{background:none;border:0;color:var(--gold);font-weight:700;cursor:pointer;padding:.2rem 0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.chip{border:1px solid var(--line2);background:transparent;border-radius:999px;padding:.55rem 1rem;font-weight:600;font-size:.88rem;cursor:pointer;transition:all .25s}
.chip b{opacity:.55;margin-left:.2rem;font-weight:700}
.chip.on{background:var(--text);color:var(--bg);border-color:var(--text)}
.chip.zero:not(.on){opacity:.4}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.card{border-radius:var(--r-lg);background:var(--bg2);border:1px solid var(--line);overflow:hidden;transition:transform .4s var(--ease),border-color .3s,box-shadow .4s}
.card:hover{transform:translateY(-6px);border-color:rgba(214,178,112,.45);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.card[hidden]{display:none}
.card-link{display:flex;flex-direction:column;height:100%}
.card-img{position:relative;aspect-ratio:4/3.1;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.card:hover .card-img img{transform:scale(1.07)}
.card-tags{position:absolute;top:1rem;left:1rem;display:flex;gap:.4rem;flex-wrap:wrap}
.phero .card-tags{position:static;margin:1rem 0}
.pill{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--fs-xs);font-weight:700;padding:.35rem .75rem;border-radius:999px;background:rgba(7,9,13,.72);backdrop-filter:blur(10px);border:1px solid var(--line2)}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.pill-planning{color:var(--plan)}.pill-construction{color:var(--build)}.pill-ready{color:var(--ready)}
.pill-star{color:var(--gold2)}.pill-star::before{display:none}
.card-body{padding:1.3rem 1.4rem 1.4rem;display:flex;flex-direction:column;flex:1}
.card-area{display:flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.82rem;margin:0 0 .35rem}
.card h3{font-size:1.45rem;letter-spacing:-.02em;margin:0 0 .2rem;font-weight:800}
.card-tag{font-family:var(--serif);font-style:italic;color:var(--gold2);font-size:1.15rem;margin:0 0 1.2rem;line-height:1.3}
.card-meta{display:grid;grid-template-columns:1.4fr 1fr .7fr;gap:.6rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:auto}
.card-meta small,.keybar small{display:block;color:var(--muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em}
.card-meta strong{font-size:.98rem}
.fx{display:block;font-size:.76rem;color:var(--muted)}
.card-go{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.1rem;font-weight:700;font-size:.9rem;color:var(--gold)}
.card:hover .card-go svg{transform:translateX(4px)}.card-go svg{transition:transform .3s}
/* Karten-Symbole als CSS-Maske statt Inline-SVG (card() in build.mjs, 29.10.2026: −9 DOM-Knoten je Karte) – gleiche Linien, Farbe über background */
.ci::before,.ci-go::after{content:"";flex:none;width:1.15em;height:1.15em;background:currentColor;-webkit-mask:var(--ci) center/contain no-repeat;mask:var(--ci) center/contain no-repeat}
.ci-pin{--ci:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6.2 7-12a7 7 0 1 0-14 0c0 5.8 7 12 7 12Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")}.ci-bed{--ci:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 18V6M2 14h20v4M22 18v-4a3 3 0 0 0-3-3H10v3M6 11.5a1.5 1.5 0 1 0 0-.01'/%3E%3C/svg%3E")}.ci-bld{--ci:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V4h10v17M14 9h6v12M2 21h20M7 7h2M7 11h2M7 15h2M11 7h0M17 13h0M17 17h0'/%3E%3C/svg%3E")}.ci-go{--ci:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.card-units.ci::before{width:15px;height:15px;background:var(--gold)}
.ci-go::after{transition:transform .3s}.card:hover .ci-go::after{transform:translateX(4px)}[dir=rtl] .ci-go::after{transform:scaleX(-1)}[dir=rtl] .card:hover .ci-go::after{transform:scaleX(-1) translateX(4px)}
.empty{padding:2rem;border:1px dashed var(--line2);border-radius:var(--r);text-align:center;color:var(--muted)}
.empty p{margin:0 0 1rem}
.empty[hidden]{display:none}

/* Map */
.map{height:clamp(380px,60vh,620px);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--bg3);isolation:isolate} /* isolate: Leaflet-Knöpfe (z-index 1000) bleiben unter Kopf + Sprungleiste */
.map-sm{height:clamp(300px,45vh,440px)}
@media (max-width:640px){.map{height:360px}.map-sm{height:300px}}
.leaflet-container{background:var(--bg3)!important;font-family:var(--ff)!important}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--bg2)!important;color:var(--text)!important;border:1px solid var(--line2)}
.leaflet-popup-content{margin:0!important;width:220px!important}
.mp img{width:100%;height:110px;object-fit:cover;border-radius:12px 12px 0 0}
.mp div{padding:.7rem .9rem}.mp b{display:block;font-size:1rem}.mp span{color:var(--muted);font-size:.8rem}
.mp a{color:var(--gold)!important;font-weight:700;display:inline-block;margin-top:.3rem}
.mp .mp-approx{display:block;margin-top:.2rem;color:var(--gold2);font-size:var(--fs-xs);font-weight:600}
.pin{width:22px;height:22px;border-radius:50%;background:var(--gold);border:4px solid rgba(7,9,13,.85);box-shadow:0 0 0 6px rgba(214,178,112,.3);animation:pulse 2.4s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 12px rgba(214,178,112,0)}}
.leaflet-control-attribution{background:rgba(7,9,13,.7)!important;color:#888!important}.leaflet-control-attribution a{color:#aaa!important}

/* Infrastruktur */
.infra{padding-bottom:clamp(3.5rem,8vw,6.5rem);background:linear-gradient(180deg,var(--bg),var(--bg2) 55%,var(--bg))}
/* Infrastruktur-Kopf (17.10.): freigestellter Zug auf Schwarz, fährt beim Scrollen ein (site.js: --e Ankunft 0→1, --v Tempo 0→1, --sh Lichtreflex 0→1).
   Alles nur transform/opacity; ohne JS / weniger Bewegung steht der Zug (Standardwerte). Bühne clippt seitlich (Zug kommt von links herein). */
.ihero{position:relative;padding:clamp(4.5rem,9vw,7rem) 0 clamp(1.5rem,3vw,2.5rem);overflow:clip;background:radial-gradient(70% 55% at 62% 62%,rgba(58,104,190,.13),transparent 70%),radial-gradient(40% 30% at 85% 70%,rgba(214,178,112,.06),transparent 70%)}
.ihero-in{position:relative;width:100%}
.ihero .h2{max-width:16ch;font-size:clamp(2.3rem,5.6vw,4.6rem)}
.ihero .lead{max-width:36rem}
.itrain-stage{--tw:min(1200px,94vw);position:relative;height:calc(var(--tw) * .3243);margin:clamp(1.4rem,4vw,3rem) auto 0;width:100%;overflow-x:clip;overflow-y:visible;pointer-events:none} /* nur seitlich clippen: Zug kommt schräg von oben links */
/* Fahrt entlang der Gleisrichtung (Aufstandslinie steigt nach links um 5,37 % → y = 0,2395 · x in Box-%), dazu leichtes Heranwachsen (Tiefe) um die Spitze */
.itrain{--e:1;--v:0;--sh:.5;position:absolute;left:calc(50% - var(--tw) / 2);top:0;width:var(--tw);aspect-ratio:1400/314;transform:translate3d(calc((1 - var(--e)) * -118%),calc((1 - var(--e)) * -28.3%),0) scale(calc(.9 + var(--e) * .1));transform-origin:100% 97%;will-change:transform}
.itrain img{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.itrain picture{position:absolute;inset:0}
.itrain-gh{opacity:calc(var(--v) * .34);transform:translate3d(calc(var(--v) * -3.5%),calc(var(--v) * -.84%),0)}
.itrain-gh.g2{opacity:calc(var(--v) * .16);transform:translate3d(calc(var(--v) * -8%),calc(var(--v) * -1.9%),0)}
/* Speed-Linien hinter dem Heck (links), parallel zum Gleis (3,07°), nur während der Fahrt; Fahrtwind = weicher Lichtschweif */
.itrain-fx{position:absolute;left:-75%;width:78%;top:46%;height:32%;opacity:var(--v);transform:rotate(3.07deg) scaleX(calc(.3 + var(--v) * .7));transform-origin:100% 75%}
.itrain-fx::before{content:"";position:absolute;right:0;top:30%;width:70%;height:55%;border-radius:50%;background:radial-gradient(farthest-side at 100% 50%,rgba(170,205,255,.22),transparent)}
.itrain-fx i{position:absolute;right:0;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(190,215,255,.7) 72%,#fff)}
.itrain-fx i:nth-child(1){top:4%;width:62%;height:1px}.itrain-fx i:nth-child(2){top:22%;width:96%}.itrain-fx i:nth-child(3){top:40%;width:74%;background:linear-gradient(90deg,transparent,rgba(214,178,112,.6) 72%,#fff3d6)}
.itrain-fx i:nth-child(4){top:58%;width:100%;height:1px}.itrain-fx i:nth-child(5){top:74%;width:80%}.itrain-fx i:nth-child(6){top:92%;width:55%;height:1px}
/* Gleis-Lichtlinie entlang der Aufstandslinie: fährt mit dem Zug, liegt aber auf ihrer eigenen Richtung → wirkt still */
.itrain-rail{position:absolute;left:-150%;width:320%;top:calc(73% + 3px);height:1px;transform:rotate(3.07deg);transform-origin:46.875% 50%;background:linear-gradient(90deg,transparent 2%,rgba(120,170,255,.18) 30%,rgba(150,195,255,.45) 46.9%,rgba(243,220,170,.55) 78%,rgba(243,220,170,.15) 86%,transparent 96%);box-shadow:0 0 10px rgba(110,160,255,.35)}
/* Lichtreflex: heller Streifen, nur auf dem Zug sichtbar (Maske = Zug-Alpha), wandert mit dem Scrollen */
.itrain-sh{position:absolute;inset:0;overflow:hidden;-webkit-mask:url(../img/infra/train-cut-s.webp) 0 0/100% 100% no-repeat;mask:url(../img/infra/train-cut-s.webp) 0 0/100% 100% no-repeat}
.itrain-sh i{position:absolute;top:-20%;bottom:-20%;left:0;width:34%;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.08) 38%,rgba(255,255,255,.42) 50%,rgba(255,255,255,.08) 62%,transparent 80%);transform:translate3d(calc(var(--sh) * 400% - 120%),0,0) skewX(-14deg)}
/* Stirnlicht an der Spitze – geht an, wenn der Zug steht */
.itrain-hl{position:absolute;right:-1.5%;top:62%;width:14%;aspect-ratio:2/1;border-radius:50%;background:radial-gradient(closest-side,rgba(225,240,255,.75),rgba(120,180,255,.25) 45%,transparent);opacity:clamp(0,(var(--e) - .88) * 8.5,.9);transform:translate(0,-50%)}
/* Spiegelung am Boden: an der Aufstandslinie (y = 73 % + 5,4 % · x) gespiegelt, nach unten ausgeblendet */
.itrain-rf{transform-origin:0 73%;transform:matrix(1,.1075,0,-1,0,0);opacity:.2;-webkit-mask-image:linear-gradient(to top,#000 0%,rgba(0,0,0,.25) 22%,transparent 46%);mask-image:linear-gradient(to top,#000 0%,rgba(0,0,0,.25) 22%,transparent 46%)}
.itrain::after{content:"";position:absolute;left:4%;right:2%;top:80%;height:26%;border-radius:50%;background:radial-gradient(closest-side,rgba(110,160,255,.16),transparent);transform:skewY(3deg)}
.ihero-st{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.8rem 2rem;margin-top:clamp(.4rem,1.6vw,1rem)}
.istats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;max-width:820px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);border-radius:var(--r);overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.istats>div{background:linear-gradient(180deg,rgba(18,22,30,.92),rgba(10,13,18,.92));padding:1rem 1.1rem}
.istats strong{display:block;font-size:clamp(1.2rem,2.4vw,1.8rem);font-weight:800;color:var(--gold2);letter-spacing:-.02em;white-space:nowrap}
.istats span{font-size:.8rem;color:var(--muted)}
.icredit{margin:0;max-width:22rem;font-size:var(--fs-xs);line-height:1.45;color:rgba(244,239,230,.5);text-align:end}
.icredit a{color:inherit;text-decoration:underline;text-decoration-color:rgba(244,239,230,.25);text-underline-offset:2px}.icredit a:hover{color:var(--gold2)}
@media (prefers-reduced-motion:reduce){.itrain{transform:none;will-change:auto}.itrain-gh,.itrain-fx{display:none}}
.ibody{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;margin-top:clamp(2.5rem,6vw,4.5rem)}
.imap-card{margin:0;padding:1rem 1rem .9rem;border:1px solid var(--line);border-radius:var(--r-lg);background:radial-gradient(ellipse at 70% 20%,rgba(214,178,112,.09),transparent 60%),var(--bg2)}
.imap{width:100%;height:auto;display:block;max-height:640px}
.imap .sea{fill:#0a1520;stroke:rgba(140,175,210,.3);stroke-width:1}
.imap .route{fill:none;stroke:url(#igold);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:url(#iglow);stroke-dasharray:720;stroke-dashoffset:720;transition:stroke-dashoffset 2.6s var(--ease) .2s}
.reveal.in .imap .route{stroke-dashoffset:0}
.imap .route-flow{fill:none;stroke:#fff;stroke-width:1.4;stroke-dasharray:2 12;opacity:.5;animation:iflow 1s linear infinite}
@keyframes iflow{to{stroke-dashoffset:-14}}
.imap .st{fill:var(--bg);stroke:var(--gold2);stroke-width:2}
.imap .st-pty{fill:var(--gold);stroke:#fff}
.imap .pulse{fill:none;stroke:var(--gold);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:ipulse 2.2s ease-out infinite}
@keyframes ipulse{from{transform:scale(1);opacity:.9}to{transform:scale(3.2);opacity:0}}
.imap .port{fill:#7fb2ff;stroke:var(--bg);stroke-width:2}
.imap .train{fill:#fff;filter:url(#iglow)}
.imap text{font-family:var(--ff);font-size:11px;font-weight:600;fill:#c9c3b8}
.imap .region{font-size:13px;font-weight:800;letter-spacing:.3em;fill:rgba(244,239,230,.32)}
.imap .gulf{font-family:var(--serif);font-style:italic;font-size:15px;font-weight:500;fill:rgba(140,175,210,.6)}
.imap .lbl-pty{font-size:19px;font-weight:800;letter-spacing:.06em;fill:var(--gold2)}
.ilegend{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:.7rem 0 0;padding:0;font-size:.8rem;color:var(--muted)}
.ilegend li{display:flex;align-items:center;gap:.45rem}
.lg-rail{display:inline-block;width:22px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--gold2),var(--gold));box-shadow:0 0 8px rgba(214,178,112,.7)}
.tl{list-style:none;margin:0 0 1.6rem;padding:0;position:relative}
.tl::before{content:"";position:absolute;left:5px;top:1rem;bottom:1rem;width:1px;background:linear-gradient(var(--gold),rgba(214,178,112,.2))}
.tl li{position:relative;display:grid;grid-template-columns:5.4rem 1fr;gap:1rem;align-items:baseline;padding:.8rem 0 .8rem 1.9rem;border-bottom:1px solid var(--line)}
.tl li::before{content:"";position:absolute;left:0;top:1.15rem;width:11px;height:11px;border-radius:50%;background:var(--bg);border:2px solid var(--gold)}
.tl li:last-child::before{background:var(--gold);box-shadow:0 0 0 5px rgba(214,178,112,.18)}
.tl b{font-family:var(--serif);font-style:italic;font-size:1.4rem;font-weight:600;line-height:1.2;color:var(--gold2)}
.tl span{color:#d4cfc6}
.imeaning{margin:0;padding:1.1rem 1.2rem;border-radius:var(--r);border:1px solid rgba(214,178,112,.35);background:rgba(214,178,112,.08);color:#e9e2d4}
.imeaning strong{color:var(--gold2)}
.icards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:clamp(2.5rem,6vw,4rem)}
.icard{padding:1.4rem;border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(160deg,var(--bg3),var(--bg2));transition:transform .4s var(--ease),border-color .3s}
.icard:hover{transform:translateY(-4px);border-color:rgba(214,178,112,.45)}
.icard-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;margin-bottom:1.2rem}
.icard-i{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:16px;background:rgba(214,178,112,.1);border:1px solid rgba(214,178,112,.3);color:var(--gold2)}
.icard-i svg{width:28px;height:28px}
.icard-num{display:block;font-size:1.45rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--gold2);margin-bottom:.35rem}
.icard h3{font-size:1.08rem;margin:0 0 .5rem}
.icard p{margin:0;color:var(--muted);font-size:.93rem}
.isrc{margin:1.6rem 0 0}.isrc a{text-decoration:underline;text-decoration-color:var(--line2)}.isrc a:hover{color:var(--gold2)}

/* how-steps (W2 23.10.2026) – „So arbeiten wir“ (#how, build.mjs whySection): diese statische Liste gilt ohne JS und bei „weniger Bewegung“; die animierte
   Bühne (Goldlinien-Illustration, Fortschritt, Wischen) steckt in css/steps.css + js/steps.js (erst kurz vor dem Bereich geladen, Klasse .hs-on).
   Nummer = CSS-Zähler, Titel <b class="hs-t"> (JS macht daraus <button>) – spart DOM-Knoten. Alte .steps-Regeln weiter unten greifen nicht mehr. */
#how .sec-head{display:block}
.hs{position:relative}
.hs-l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem;counter-reset:hs}
.hs-l>li{counter-increment:hs;position:relative;padding:1.5rem 1.4rem 1.6rem;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.01) 62%),linear-gradient(160deg,var(--bg3),var(--bg2));box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.hs-l>li::before{content:counter(hs,decimal-leading-zero);display:block;margin:0 0 .75rem;font:italic 500 2.5rem/1 var(--serif);color:var(--gold)}
.hs-t{display:block;margin:0 0 .4rem;font-size:1.2rem;font-weight:700;line-height:1.3}
.hs-l p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.55}
@media (max-width:1020px){.hs-l{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.hs-l{gap:.7rem}.hs-l>li{padding:1rem .95rem}.hs-l>li::before{margin-bottom:.45rem;font-size:1.9rem}.hs-t{margin-bottom:.3rem;font-size:1.05rem}.hs-l p{font-size:.86rem;line-height:1.5}}
/* Mit JS + Bewegung wird die Liste zur Bühne (css/steps.css, 420 px hoch am Desktop) – Höhe vorab reservieren, damit beim Umbau nichts springt (Handy gleicht js/steps.js aus) */
@media (min-width:820px) and (prefers-reduced-motion:no-preference){.js .hs:not(.hs-on):not(.hs-off){min-height:420px}}
/* #how ohne content-visibility (höhere Spezifität als die Sammelzeile „U3-ORDER“ weiter unten): ein fester Platzhalter passt nicht für 12 Sprachen × Breiten
   (z. B. /fa/ Handy −103 px, Desktop −224 px) – so hat der Bereich sofort seine echte Höhe, beim Näherkommen springt nichts (Bereich klein, ~80 Knoten) */
.is-home #how.sec-why{content-visibility:visible}

/* Team */
.team-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;scrollbar-width:thin}
.member{scroll-snap-align:start;position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;background:var(--bg3)}
.member img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.member:hover>img{transform:scale(1.06)}
.member div{position:absolute;inset:auto 0 0;padding:2.4rem 1rem 1rem;background:linear-gradient(transparent,rgba(7,9,13,.55) 36%,rgba(7,9,13,.94))}
.member strong{font-size:1.05rem;letter-spacing:.01em}
.member strong{display:block}.member span{font-size:.8rem;color:var(--gold)}.member em{display:block;font-style:normal;font-size:.75rem;color:var(--muted)}
.people{display:grid;gap:2rem;margin-top:3rem}
.person{display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:clamp(1.6rem,3vw,3rem);align-items:center;padding:1.6rem;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg2);scroll-margin-top:100px}
.person img{border-radius:var(--r);aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;width:100%;transition:transform 1.2s var(--ease)}
.person{overflow:hidden;transition:border-color .4s}.person:hover{border-color:rgba(214,178,112,.35)}
/* LED-Rahmen je Rolle (22.10.): Licht läuft um die Karte, Winkel (--ta) + Glühen (--gl) setzt EIN Ticker in site.js, nur solange die Reihe sichtbar ist – ohne JS / „weniger Bewegung“ steht der Ring still.
   Farben je Rolle als RGB-Tripel (--c1 Grundton, --c2 Lichtspitze, --c3 Gegenlicht); Halloween (html.hw) tauscht die Paletten, ab 01.11. von selbst wieder normal */
[data-tier]{--c1:255,196,92;--c2:255,240,200;--c3:255,150,40;position:relative}
[data-tier=ceo]{--c1:255,205,120;--c2:255,255,255;--c3:110,225,255}
[data-tier=mgr]{--c1:70,165,255;--c2:210,245,255;--c3:160,120,255}
[data-tier=dan]{--c1:150,90,255;--c2:110,170,255;--c3:230,170,255}
html.hw [data-tier]{--c1:255,120,20;--c2:255,205,100;--c3:175,70,255}
html.hw [data-tier=ceo]{--c1:255,130,20;--c2:255,255,255;--c3:185,80,255}
html.hw [data-tier=mgr]{--c1:150,60,255;--c2:130,255,130;--c3:255,120,20}
html.hw [data-tier=dan]{--c1:160,80,255;--c2:90,130,255;--c3:255,90,200}
.person[data-tier]{border-color:transparent}
.member[data-tier]::before,.person[data-tier]::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;box-shadow:inset 0 0 26px rgba(var(--c1),var(--gl,.26)),inset 0 0 2px rgba(var(--c1),.55)}
.member[data-tier]::after,.person[data-tier]::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;pointer-events:none;z-index:3;background:conic-gradient(from calc(var(--ta,40deg) + var(--ph,0deg)),rgba(var(--c1),.3) 0,rgba(var(--c1),.3) 28%,rgba(var(--c1),.95) 43%,rgba(var(--c2),1) 50%,rgba(var(--c3),.95) 57%,rgba(var(--c1),.3) 72%,rgba(var(--c1),.3) 80%,rgba(var(--c3),.85) 90%,rgba(var(--c1),.3) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
[data-tier=ceo]::after,[data-tier=dan]::after{padding:3px}
.member[data-tier]:nth-child(2n)::after,.person[data-tier]:nth-child(2n)::after{--ph:110deg}
.member[data-tier]:nth-child(3n)::after,.person[data-tier]:nth-child(3n)::after{--ph:230deg}
/* Team-Karussell (Startseite): läuft langsam, Berührung/Maus = Pause, Wischen geht, Karten bleiben anklickbar */
.team-row.rot{display:block;overflow:clip;touch-action:pan-y;cursor:grab;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34px,#000 calc(100% - 34px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 34px,#000 calc(100% - 34px),transparent 100%)}
.team-row.rot:active{cursor:grabbing}
.team-track{display:flex;gap:1rem;width:max-content;will-change:transform}
/* Karussell läuft immer von links nach rechts gemessen (auch fa/ar/he), die Karten behalten die Schreibrichtung der Seite */
.team-row.rot{direction:ltr}
[dir=rtl] .team-row.rot .member{direction:rtl}
.team-row.rot .member{flex:0 0 clamp(220px,18vw,300px);width:clamp(220px,18vw,300px);-webkit-user-drag:none;user-select:none}
@media (max-width:640px){.team-row.rot .member{flex-basis:62vw;width:62vw}}
.rot-on .rail-nav .rail-btn{display:none}
/* Team-Videos (23.10.): Standbild = erstes Video-Bild, Video blendet erst ein, wenn es spielt; Hover-Zoom auf dem ganzen Porträt */
.tv{position:absolute;inset:0;display:block;overflow:hidden;border-radius:inherit;transition:transform 1s var(--ease)}
.tv img,.tv video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%;transition:none;pointer-events:none}
.tv video{opacity:0;transition:opacity .7s var(--ease)}
.tv.on video{opacity:1}
@media (hover:hover){.member:hover .tv{transform:scale(1.05)}}
.person .tv{position:relative;inset:auto;aspect-ratio:4/5;width:100%;border-radius:var(--r)}
.person .tv img,.person .tv video{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0}
.tvnote{margin:.9rem 0 0;text-align:center;font-size:max(12px,.75rem);color:var(--muted);opacity:.8;letter-spacing:.02em}
/* Spotlight im Karussell: Mitte groß + hell, Nachbarn treten zurück (--f setzt site.js); `.nm` = ohne Skalierung messen */
.team-row.rot{padding-block:14px}
.team-row.rot .member{transform:scale(calc(.92 + .11*var(--f,.5)));opacity:calc(.6 + .4*var(--f,.5));transform-origin:50% 55%;will-change:transform,opacity}
.team-track.nm .member{transform:none!important}

.person p{color:#d4cfc6}

/* FAQ */
.faq-in{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;align-items:start}
.qa{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;padding:1.3rem 0;font-weight:700;font-size:1.08rem}
.qa summary::-webkit-details-marker{display:none}
.qa-i{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--line2);position:relative;transition:transform .3s,background .3s}
.qa-i::before,.qa-i::after{content:"";position:absolute;left:8px;right:8px;top:13px;height:1.5px;background:currentColor}
.qa-i::after{transform:rotate(90deg);transition:transform .3s}
.qa[open] .qa-i{background:var(--gold);color:#111;border-color:var(--gold)}.qa[open] .qa-i::after{transform:none}
.qa p{margin:0 0 1.4rem;color:var(--muted);max-width:44rem}

/* News */
.news{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.post{display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--bg2)}
.post img,.post-ph{width:100%;height:100%;object-fit:cover;min-height:220px}
.post-ph{display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,#2a2416,var(--bg3))}.post-ph svg{width:70px;height:70px;color:var(--gold)}
.post>div{padding:1.4rem}.post time{font-size:.78rem;color:var(--gold)}.post h3{margin:.4rem 0 .6rem;font-size:1.2rem}.post p{margin:0;color:var(--muted);font-size:.93rem}

/* Contact */
.contact{background:radial-gradient(ellipse at 80% 0%,rgba(214,178,112,.12),transparent 55%),var(--bg2);border-top:1px solid var(--line)}
.contact-in{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.agent{display:flex;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:var(--r);background:var(--bg)}
.agent-img{width:84px;height:84px;border-radius:50%;object-fit:cover}
.agent strong{display:block;font-size:1.1rem}.agent span{font-size:.82rem;color:var(--gold)}
.agent-links{display:flex;flex-direction:column;gap:.2rem;margin-top:.4rem;font-size:.88rem}
.agent-links a{display:inline-flex;gap:.4rem;align-items:center;color:var(--muted)}.agent-links a:hover{color:var(--text)}
.book{display:grid;gap:1rem;padding:clamp(1.2rem,3vw,2rem);border:1px solid var(--line2);border-radius:var(--r-lg);background:rgba(7,9,13,.6)}
/* Kontakt-Block Startseite (17.10.): EIN Kasten mit Reitern WhatsApp | Rückruf, Termin-Link führt zur Buchung (#book) – vorher zwei Formulare nebeneinander */
.c-book{display:flex;align-items:center;gap:.6rem;margin-top:1rem;padding:.85rem 1rem;min-height:48px;border:1px solid rgba(214,178,112,.35);border-radius:var(--r);background:rgba(214,178,112,.06);font-weight:700;color:var(--gold2)}
.c-book span{flex:1}.c-book svg{width:18px;height:18px;flex:none}.c-book:hover{border-color:var(--gold);background:rgba(214,178,112,.12)}[dir=rtl] .c-book svg:last-child{transform:scaleX(-1)}
.cpanel{display:grid;gap:.8rem;min-width:0}
.ctabs{display:flex;gap:4px;padding:4px;width:max-content;max-width:100%;border:1px solid var(--line2);border-radius:999px;background:rgba(7,9,13,.6)}
.cpanel:has(.lf-box-cb[hidden]) .ctabs,.cpanel:not(:has(.lf-box-cb)) .ctabs{display:none}
.ctabs button{display:inline-flex;align-items:center;gap:.45rem;min-height:42px;padding:0 1.1rem;border:0;border-radius:999px;background:none;color:var(--muted);font:700 .88rem/1 var(--ff);cursor:pointer}
.ctabs button svg{width:16px;height:16px}
.ctabs button[aria-selected=true]{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#16120a}
.ctabs button:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.cpanel[data-t=wa] .cp-cb,.cpanel[data-t=cb] .cp-wa{display:none}
.cpanel .lf-box-cb{margin-top:0}
.book label,.calc label{display:grid;gap:.4rem;font-size:.82rem;font-weight:600;color:var(--muted)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
input,select,textarea{width:100%;background:var(--bg3);border:1px solid var(--line2);border-radius:12px;padding:.8rem .9rem;font-size:1rem;color:var(--text);transition:border-color .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
.book .btn{justify-content:center}

/* Projektseite */
.phero{position:relative;min-height:88svh;display:flex;align-items:flex-end;padding:120px 0 3rem;overflow:hidden}
.phero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 14s ease-out both}
@keyframes kb{from{transform:scale(1.14)}to{transform:scale(1)}}
.phero-in{position:relative;width:100%}
.phero .h1{font-size:clamp(2.6rem,7.5vw,6rem)}
/* Handy: Projekt-Titelbild oben in voller Breite (weniger Zoom, scharf), Text darunter – wie die Startseite */
@media (max-width:640px){
  .phero{min-height:0;display:block;padding:0 0 1.2rem}
  .phero-img{position:relative;inset:auto;display:block;height:calc(64px + 58vw);animation:none}
  .phero .hero-shade{bottom:auto;height:calc(64px + 58vw);background:linear-gradient(180deg,rgba(7,9,13,.62) 0%,rgba(7,9,13,.08) 26%,rgba(7,9,13,0) 58%,var(--bg) 100%)}
  .phero-in{margin-top:-1.4rem}
}
.back{display:inline-flex;align-items:center;min-height:40px;font-weight:600;font-size:.9rem;opacity:.8;margin-bottom:.1rem}.back:hover{color:var(--gold2)}
.keybar{border-block:1px solid var(--line);background:var(--bg2)}
.keybar-in{display:grid;grid-template-columns:repeat(6,1fr)}
.keybar-in>div{padding:1.3rem 1rem;border-left:1px solid var(--line)}.keybar-in>div:first-child{border-left:0}
.keybar strong{font-size:clamp(1.05rem,1.8vw,1.35rem);font-weight:800}
.notice{margin:2rem 0 0;padding:1rem 1.2rem;border-radius:var(--r);border:1px solid rgba(240,179,90,.4);background:rgba(240,179,90,.08);color:var(--build)}
.pintro{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:0}
.facts div{background:var(--bg2);padding:1.3rem}.facts dt{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.facts dd{margin:.2rem 0 0;font-size:1.6rem;font-weight:800}
.gal{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(260px,32%,460px);gap:.8rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;scrollbar-width:thin;scrollbar-color:var(--gold-d) transparent}
.gal-it{scroll-snap-align:start;border:0;padding:0;background:var(--bg3);border-radius:var(--r);overflow:hidden;cursor:zoom-in;aspect-ratio:4/3}
.gal-it img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.gal-it:hover img{transform:scale(1.05)}
.gal-it{position:relative}.gal-cap{position:absolute;left:.6rem;bottom:.6rem;max-width:calc(100% - 1.2rem);background:rgba(7,9,13,.78);color:var(--gold2);font-size:.75rem;font-weight:700;line-height:1.35;padding:.2rem .55rem;border-radius:14px;pointer-events:none}[dir=rtl] .gal-cap{left:auto;right:.6rem}
/* Projektseite: Galerie oben – Filter-Chips (Alle/Anlage/Wohnungen/Baufortschritt) + Bento auf dem Desktop (1 groß + 4, „+N“) */
.gal-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem 1rem;margin-bottom:1rem}
.gal-head .h3{margin:0}
.gal-tabs{display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none;max-width:100%}
.gal-tabs::-webkit-scrollbar{display:none}
.gal-tabs button{flex:none;font:inherit;font-size:.8rem;font-weight:700;color:var(--muted);background:var(--bg2);border:1px solid var(--line);border-radius:99px;padding:.38rem .8rem;cursor:pointer;transition:color .25s,border-color .25s,background .25s}
.gal-tabs button b{margin-inline-start:.25rem;color:var(--gold2)}
.gal-tabs button:hover{color:var(--text)}
.gal-tabs button.on{color:var(--text);border-color:var(--gold-d);background:rgba(214,178,112,.13)}
.gal-x .gal-it.off{display:none}
@media (min-width:900px){
  .gal-x{grid-auto-flow:row dense;grid-auto-columns:auto;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));height:clamp(380px,38vw,540px);overflow:visible;padding-bottom:0}
  .gal-x .gal-it{aspect-ratio:auto;min-height:0}
  .gal-x .gal-it.b1{grid-row:span 2}.gal-x .gal-it.bw{grid-column:span 2}.gal-x .gal-it.bx{display:none}
  .gal-x[data-n="1"]{grid-template-columns:1fr;grid-template-rows:1fr}.gal-x[data-n="2"]{grid-template-columns:1fr 1fr;grid-template-rows:1fr}
  .gal-x[data-n="1"] .gal-it.b1,.gal-x[data-n="2"] .gal-it.b1{grid-row:auto}.gal-x[data-n="3"]{grid-template-columns:2fr 1fr}
  .gal-x .gal-it[data-more]::after{content:attr(data-more);position:absolute;inset:0;display:grid;place-items:center;background:rgba(7,9,13,.58);color:#fff;font-size:1.8rem;font-weight:800;direction:ltr;unicode-bidi:isolate;transition:background .3s}
  .gal-x .gal-it[data-more]:hover::after{background:rgba(7,9,13,.38)}
}
/* Projektseite: Sprungleiste (bleibt unter dem Kopf stehen) */
.pnav{position:sticky;top:var(--hdr,64px);z-index:30;background:rgba(7,9,13,.88);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--line)}
.pnav-in{display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none;padding-block:.45rem}
.pnav-in::-webkit-scrollbar{display:none}
.pnav a{flex:none;padding:.42rem .9rem;border-radius:99px;font-size:.82rem;font-weight:700;color:var(--muted);text-decoration:none;white-space:nowrap;transition:color .25s,background .25s}
.pnav a:hover{color:var(--text)}
.pnav a.on{color:#16120a;background:linear-gradient(135deg,var(--gold2),var(--gold) 55%,var(--gold-d))}
/* Liquid Glass, dezent (17.10.): Blur nur auf kleinen festen Flächen (Sprungleiste); große, mitscrollende Flächen = durchscheinender Verlauf + 1-px-Lichtkante (iPhone-Tempo) */
.pnav{background:linear-gradient(180deg,rgba(16,20,28,.74),rgba(7,9,13,.66));-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);border-bottom-color:rgba(255,255,255,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 30px -20px rgba(0,0,0,.85)}
.pnav::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(214,178,112,.42) 30%,rgba(243,220,170,.6) 50%,rgba(214,178,112,.42) 70%,transparent);pointer-events:none}
.pnav a:hover{background:rgba(255,255,255,.05)}
@media (max-width:860px){.pnav-in{padding-inline-end:28px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent)}[dir=rtl] .pnav-in{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(270deg,#000 calc(100% - 30px),transparent)}} /* Hinweis: Leiste geht weiter */
.pnav a.on{box-shadow:0 6px 18px -8px rgba(214,178,112,.65),inset 0 1px 0 rgba(255,255,255,.45)}
.filterbar{background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015) 55%,rgba(255,255,255,.03)),rgba(13,17,23,.72);border-color:rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 24px 50px -32px rgba(0,0,0,.85)}
.filterbar .chip{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.012));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.filterbar .chip:hover{border-color:rgba(214,178,112,.45)}
.filterbar .chip.on{background:linear-gradient(135deg,var(--gold2),var(--gold) 55%,var(--gold-d));color:#16120a;border-color:transparent;box-shadow:0 8px 20px -12px rgba(214,178,112,.7),inset 0 1px 0 rgba(255,255,255,.45)}
.filterbar .ftoggle{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.015));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.card{background:linear-gradient(180deg,#10141b,var(--bg2) 60%)}
.card-body{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0) 55%);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.card:hover .card-body{background:linear-gradient(180deg,rgba(214,178,112,.07),rgba(255,255,255,0) 60%)}
.is-project main>section[id]{scroll-margin-top:calc(var(--hdr,64px) + 3.3rem)}
/* Projektseite: Einleitung + Berater-Karte */
.pagent{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.3rem}
.pagent .kicker{margin:0 0 .8rem}
.pagent-p{display:flex;align-items:center;gap:.9rem}
.pagent-p .agent-img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none}
.pagent-p strong{display:block;font-size:1.05rem}.pagent-p span{font-size:.8rem;color:var(--gold)}
.pagent .btns{margin-top:1rem}
/* Steckbrief: Rest aufklappbar */
.pd-more{margin-top:.6rem}
.pd-more>summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:.55rem;padding:.75rem 1rem;border:1px dashed var(--line2);border-radius:12px;color:var(--gold2);font-weight:700;font-size:.88rem;cursor:pointer;transition:border-color .25s,background .25s}
.pd-more>summary::-webkit-details-marker{display:none}
.pd-more>summary:hover{border-color:var(--gold-d);background:rgba(214,178,112,.06)}
.pd-more>summary::after{content:"";width:.45rem;height:.45rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s}
.pd-more[open]>summary::after{transform:translateY(2px) rotate(-135deg)}
.pd-more summary b{font-size:.75rem;padding:.08rem .45rem;border-radius:99px;background:rgba(214,178,112,.16);margin-inline-start:.3rem}
.pd-more .pd-m2,.pd-more[open] .pd-m1{display:none}.pd-more[open] .pd-m2{display:inline}
.pd-more>.pd{margin-top:.6rem}
/* Weitere Projekte: auf dem Handy Wischreihe statt langer Liste */
@media (max-width:640px){.grid.grid-swipe{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;overflow-x:auto;scroll-snap-type:x mandatory;gap:.8rem;padding-bottom:.6rem;scrollbar-width:none}.grid-swipe>*{scroll-snap-align:start}.grid-swipe::-webkit-scrollbar{display:none}}
.card-units{display:flex;align-items:center;gap:.45rem;margin:-.5rem 0 1.1rem;font-size:.8rem;color:var(--text);font-weight:600;opacity:.9}.card-units svg{width:15px;height:15px;flex:none;color:var(--gold)}
/* Wohnungstypen (#types): Karte je Typ, Grundriss auf hellem Grund */
.ut-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.ut{display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .3s}
.ut:hover{border-color:var(--gold-d)}
.ut-pic{position:relative;aspect-ratio:4/3;background:#fff;display:grid;place-items:center}
.ut-pic:has(.ut-ico){background:linear-gradient(160deg,var(--bg3),var(--bg2))}
.ut-plan{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}
.ut-plan img{display:block;width:100%;height:100%;object-fit:contain;padding:.55rem;box-sizing:border-box}
.ut-more{position:absolute;right:.55rem;bottom:.55rem;background:rgba(7,9,13,.82);color:#fff;font-size:var(--fs-xs);font-weight:700;padding:.18rem .5rem;border-radius:99px;pointer-events:none}
.ut-ico{display:grid;justify-items:center;gap:.5rem;color:var(--gold)}.ut-ico svg{width:52px;height:52px;opacity:.6}.ut-ico small{font-size:var(--fs-xs);color:var(--muted);text-align:center;padding:0 .5rem}
.ut-b{display:flex;flex-direction:column;gap:.45rem;flex:1;padding:1rem 1.1rem 1.1rem}
.ut-b h3{margin:0;font-size:1.08rem;line-height:1.25}
.ut-note{margin:0;color:var(--muted);font-size:.84rem;line-height:1.4}
.ut dl{display:grid;grid-template-columns:auto 1fr;gap:.45rem .9rem;align-items:baseline;margin:.3rem 0 0}.ut dl div{display:contents}
.ut dt{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.ut dd{margin:0;font-weight:800;font-size:1.02rem;text-align:end}
.ut-tq{display:block;font-size:var(--fs-xs);font-weight:700;color:var(--gold2);text-transform:uppercase;letter-spacing:.06em}
.ut-x{margin:auto 0 0;padding-top:.55rem;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted)}
.ut-ask{display:flex;align-items:center;gap:.45rem;min-height:40px;margin:auto -.35rem -.35rem;padding:.35rem;border-radius:10px;color:var(--gold2);font-size:.82rem;font-weight:700;line-height:1.25;transition:background .25s,color .25s}
.ut-x+.ut-ask{margin-top:.15rem}
.ut-ask svg{flex:none;width:16px;height:16px}.ut-ask svg:last-child{margin-inline-start:auto;width:15px;opacity:.6;transition:transform .3s var(--ease),opacity .3s}
.ut-ask:hover{background:rgba(214,178,112,.1);color:#fff7e3}.ut-ask:hover svg:last-child{transform:translateX(3px);opacity:1}
[dir=rtl] .ut-ask svg:last-child{transform:scaleX(-1)}[dir=rtl] .ut-ask:hover svg:last-child{transform:scaleX(-1) translateX(3px)}
@media (max-width:640px){.ut-ask{font-size:.76rem;gap:.35rem}.ut-ask svg:last-child{display:none}}
.ut-h{margin:2.2rem 0 1rem}
.gal-plans .gal-it{background:#fff}.gal-plans .gal-it img{object-fit:contain;padding:.5rem;box-sizing:border-box}.gal-plans .gal-it:hover img{transform:none}
.ut-foot{margin-top:1.2rem}
.card-units+.card-bld{margin-top:-.8rem}
/* Steckbrief (#facts) */
.pd{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.6rem;margin:0}
.pd div{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:.9rem 1.1rem}
.pd dt{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.pd dd{margin:.28rem 0 0;font-weight:700;font-size:.98rem;line-height:1.35}
.pill-badge{background:rgba(7,9,13,.55);border:1px solid rgba(214,178,112,.45);color:var(--gold2)}.pill-badge::before{display:none}
.ugal.dark .ut-pic,.ugal.dark .gal-plans .gal-it{background:#0e0f12}
.two{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:center}
.dist{list-style:none;padding:0;margin:1.5rem 0 0}
.dist li{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--line)}.dist b{color:var(--gold2)}
.pay{display:grid;gap:.6rem;margin-bottom:2rem}.pay h3{font-size:1rem;margin:1rem 0 .2rem;color:var(--muted)}
.paybar{display:flex;gap:4px;border-radius:14px;overflow:hidden}
.paybar div{min-width:92px;padding:1rem;background:var(--bg3)}
.paybar div:nth-child(1){background:linear-gradient(135deg,var(--gold2),var(--gold));color:#16120a}
.paybar div:nth-child(2){background:#2a2518}
.paybar b{display:block;font-size:1.5rem;font-weight:800}.paybar span{font-size:.78rem;opacity:.85}
.deposits{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.deposits h3{grid-column:1/-1;margin:0;padding:1rem 1.2rem;background:var(--bg2);font-size:1rem}
.deposits div{background:var(--bg);padding:1rem 1.2rem}.deposits span{display:block;font-size:.8rem;color:var(--muted)}
.fac{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.fac>div{padding:1.4rem;border:1px solid var(--line);border-radius:var(--r);background:var(--bg2)}
.fac h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin:0 0 .6rem}.fac p{margin:0;color:#d4cfc6}
.reasons{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.6rem;counter-reset:r}
.reasons li{counter-increment:r;padding:.7rem 1.1rem;border-radius:999px;border:1px solid var(--line2);font-weight:600}
.reasons li::before{content:counter(r);color:var(--gold);font-weight:800;margin-right:.55rem}
.expert{margin:0;display:grid;grid-template-columns:120px 1fr;gap:2rem;align-items:start;padding:2rem;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--bg2)}
.expert img{width:120px;height:120px;border-radius:50%;object-fit:cover}.expert .big{font-size:clamp(1.3rem,2.4vw,1.8rem);margin:0 0 1rem}.expert cite{color:var(--gold);font-style:normal;font-weight:700}
.dev{display:flex;gap:2rem;align-items:center;padding:1.6rem;border:1px solid var(--line);border-radius:var(--r-lg)}
.wrap.dev{width:calc(100% - 2 * var(--gut));max-width:calc(var(--wrap) - 2 * var(--gut))} /* Karte bündig mit den übrigen Inhalten (wie .stats.wrap) */
.dev img{width:140px;height:auto;border-radius:14px;background:#fff;padding:.6rem}

.zero{display:flex;align-items:center;gap:1.1rem;max-width:31rem}
.zero-seal{flex:none;display:grid;place-items:center;align-content:center;width:122px;height:122px;border-radius:50%;background:radial-gradient(circle at 30% 25%,var(--gold2),var(--gold) 55%,var(--gold-d));color:#16120a;box-shadow:0 18px 40px -16px rgba(214,178,112,.75),inset 0 0 0 6px rgba(255,255,255,.2)}
.zero-seal strong{font-size:2.6rem;font-weight:800;letter-spacing:-.04em;line-height:1;white-space:nowrap}
.zero-seal small{font-size:var(--fs-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-top:.25rem}
.zero p{margin:0;color:#e9e2d4;font-size:1.05rem;line-height:1.45}
.paybar span{overflow-wrap:break-word}
.paybar .zf{display:block;font-style:normal;font-weight:800;color:var(--gold2);margin-top:.15rem}
.pill-zero{color:#16120a;background:linear-gradient(135deg,var(--gold2),var(--gold));border-color:transparent}
.pill-zero::before{display:none}

/* Rechner */
.cur{display:flex;align-items:center;gap:.6rem;font-weight:600;color:var(--muted)}.cur select{width:auto}
.disclaimer{display:inline-block;margin:0 0 1.4rem;padding:.7rem 1rem;border-radius:12px;background:rgba(214,178,112,.1);border:1px solid rgba(214,178,112,.35);color:var(--gold2);font-weight:600}
.disclaimer.small{margin:1.4rem 0 0;font-size:.8rem;font-weight:500}
.calc{display:grid;grid-template-columns:1fr 1.05fr;gap:1.4rem;align-items:start}
.calc-in{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.calc-more{grid-column:1/-1;border:1px solid var(--line);border-radius:var(--r);padding:0 1rem}
.calc-more summary{cursor:pointer;padding:1rem 0;font-weight:700}.calc-more .calc-in{padding-bottom:1rem}
.calc-out{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;position:sticky;top:90px}
.kpi{padding:1.2rem;border-radius:var(--r);background:var(--bg3);border:1px solid var(--line)}
.kpi small{display:block;color:var(--muted);font-size:.78rem}
.kpi strong{display:block;font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:800;letter-spacing:-.03em;color:var(--gold2);line-height:1.15}
.kpi span{font-size:.8rem;color:var(--muted)}
.kpi.neg strong{color:#ff8a7a}
.calc-list{grid-column:1/-1;margin:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.calc-list div{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid var(--line)}.calc-list div:last-child{border:0}
.calc-list dt{color:var(--muted)}.calc-list dd{margin:0;font-weight:700;text-align:right}.calc-list dd small{display:block;color:var(--muted);font-weight:500}
.rate{grid-column:1/-1;margin:0}

/* Footer + Dock */
.ftr{border-top:1px solid var(--line);padding:4rem 0 4.5rem;background:var(--bg)}
.ftr-in{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem}
.ftr h4,.ftr .ftr-t{font-size:.78rem;line-height:1.5;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 1rem} /* Fußzeilen-Titel = h2 (keine Sprünge in der Überschriften-Reihenfolge) */
.ftr p{font-size:.9rem;color:var(--muted)}.ftr p a:hover,.ftr-in>div>a:hover{color:var(--gold2)}
.ftr-in>div>a:not(.brand){display:block;padding:.2rem 0;color:var(--muted);font-size:.92rem}
.ftr-bot{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}
/* Rechtszeile (alle Seiten): „X Property vermittelt nur – Verträge + Zahlungen direkt beim Bauträger“ – bewusst klein und ruhig */
.ftr .ftr-legal{display:flex;gap:.55rem;align-items:flex-start;max-width:62rem;margin:0;font-size:var(--fs-xs);line-height:1.55;color:#7f8790}
.ftr-legal svg,.pay-legal svg{flex:none;width:15px;height:15px;margin-top:.12em;color:var(--gold-d)}
/* Fußzeile unten: Rechtszeile + Sprachwahl als ruhiges Raster (Kürzel golden + Name in der eigenen Sprache; 12 → 1 Reihe Desktop, 4 × 3 Handy) */
.ftr-end{display:grid;gap:1.6rem;margin-top:1.3rem}
/* Idee 84 (20.10.): aufklappbare Fußzeilen-Listen – Knopf .ftr-x (aria-expanded), Inhalt erst beim Öffnen im DOM (site.js lzFill) */
.ftr .ftr-x{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;margin:0;padding:0;border:0;background:none;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;text-align:start;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ftr-x>b{font-weight:700;letter-spacing:.06em;color:var(--muted)}
.ftr-x::after{content:'';flex:none;width:.42rem;height:.42rem;margin-inline-start:.1rem;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-25%) rotate(45deg);transition:transform .2s}
.ftr-x[aria-expanded=true]::after{transform:translateY(20%) rotate(225deg)}
.ftr .ftr-x:hover,.ftr .ftr-x:focus-visible{color:var(--gold2)}
html:not(.js) .ftr .ftr-x{cursor:default}html:not(.js) .ftr-x::after{display:none}
.ftr-pl>a{display:block;padding:.2rem 0;color:var(--muted);font-size:.92rem}.ftr-pl>a:hover{color:var(--gold2)}
.ftr .ftr-t:has(>.ftr-x){margin-bottom:0}.ftr-pl{padding-bottom:.3rem}
.ftr .ftr-h2:has(>.ftr-x){display:flex;align-items:center;gap:.35rem}.ftr .ftr-xs{min-width:44px} /* Lagen: Link /area/ + eigener Aufklapp-Knopf (Anzahl + Pfeil) */
.ftr-pl[hidden],.ftr-lang-g[hidden]{display:none}
.lsw-g>noscript,.langdd-l>noscript{display:contents} /* Kopf-Sprachmenüs der Startseite ohne JS */
html:not(.js) .curdd[data-lzd]{display:none} /* Währung braucht JS (Knöpfe kommen erst beim Öffnen) */
.ftr-lang{display:grid;gap:.7rem}
.ftr .ftr-lang-h{display:flex;align-items:center;gap:.45rem;margin:0;font-size:var(--fs-xs);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.ftr-lang-h svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6}
.ftr-lang .ftr-lang-h{display:inline-flex;justify-self:start;padding:.45rem 1rem;border:1px solid var(--line);border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01))}
.ftr-lang .ftr-lang-h[aria-expanded=true],.ftr-lang .ftr-lang-h:hover{border-color:rgba(214,178,112,.4)}
.ftr-lang-h>b{font-family:var(--sys);letter-spacing:.12em;color:#d9d3c8}
.ftr-lang-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(5rem,1fr));gap:.4rem}
.ftr-lang-g a{display:grid;justify-items:center;align-content:center;gap:.05rem;min-height:52px;padding:.45rem .3rem .4rem;border-radius:14px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));box-shadow:inset 0 1px 0 rgba(255,255,255,.04);text-align:center;line-height:1.25;transition:border-color .25s,background .25s}
.ftr-lang-g b{font-size:var(--fs-xs);font-weight:800;letter-spacing:.16em;color:var(--gold)}
.ftr-lang-g span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;line-height:1.35;color:#d9d3c8}
.ftr-lang-g a[lang=my] span{font-size:var(--fs-xs);line-height:1.5}
.ftr-lang-g a:hover{border-color:rgba(214,178,112,.4);background:linear-gradient(180deg,rgba(214,178,112,.1),rgba(214,178,112,.02))}
.ftr-lang-g a[aria-current]{border-color:rgba(243,220,170,.6);background:linear-gradient(135deg,rgba(243,220,170,.2),rgba(214,178,112,.06));box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 8px 24px -14px rgba(214,178,112,.6)}
.ftr-lang-g a[aria-current] span{color:var(--gold2)}
/* Zahlungsplan (Projektseite #payment, Ratgeber, /sell/): ein ruhiger Satz mit Schild-Icon */
.pay-legal{display:flex;gap:.55rem;align-items:flex-start;margin:1.4rem 0 0;font-size:.86rem;line-height:1.5;color:var(--muted)}
.pay-legal svg{width:17px;height:17px;color:var(--gold)}.pay-legal a{color:var(--gold2);white-space:nowrap}.pay-legal a:hover{text-decoration:underline}
@property --ca{syntax:'<angle>';initial-value:0deg;inherits:false}
/* Eigenwerbung Danial – Karte v4 „Aurora Night“ (creditBlock in tools/build.mjs + js/credit.js, 19.10., Wunsch Danial: Weltall mit Sternen, weißer LED-Rahmen + Türkis,
   Porträt ohne Ringe/Punkte, statt „12 Sprachen“ die vier Leistungen, kleiner Dialog Frage ↔ Antwort). Sterne + Polarlicht + Lichtlauf = EIN <canvas> (credit.js, nur sichtbar,
   ≤ 30 fps, DPR ≤ 2); ohne JS bleiben CSS-Himmel + erstes Paar stehen. LED-Rahmen = 1,5-px-Linie (Maske) + Leuchten, das langsam atmet = EINZIGE Endlos-Animation (nur opacity).
   Höhe: Abschnitt Handy ≤ 267 px, Desktop ≤ 252 px – Dialog + Leistungen immer EINE Zeile mit fester Höhe (credit.js verkleinert bis 12 px). „Weniger Bewegung“ = still. */
.credit{position:relative;padding:1.35rem 0 1.25rem;background:radial-gradient(42% 75% at 50% 55%,rgba(47,214,200,.05),transparent 72%)}
.credit-card{--tq2:#8cf5ea;position:relative;isolation:isolate;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,342px);grid-template-areas:"av id talk" "av b go";align-items:end;column-gap:1.6rem;row-gap:.95rem;max-width:960px;margin:0 auto;padding-block:1.1rem;padding-inline:1.1rem 1.4rem;border-radius:26px;
  background:radial-gradient(1px 1px at 18% 22%,#fff,transparent),radial-gradient(1px 1px at 41% 70%,rgba(255,255,255,.8),transparent),radial-gradient(1.4px 1.4px at 63% 18%,#fff,transparent),radial-gradient(1px 1px at 77% 58%,rgba(200,250,245,.9),transparent),radial-gradient(1px 1px at 90% 30%,#fff,transparent),
    radial-gradient(60% 120% at 85% 0%,rgba(88,96,210,.16),transparent 60%),radial-gradient(50% 120% at 8% 100%,rgba(30,190,175,.14),transparent 62%),linear-gradient(150deg,#050811,#08101e 46%,#060a14);
  box-shadow:0 30px 60px -34px rgba(0,0,0,.95)}
.credit-sky{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;border-radius:inherit;pointer-events:none}
/* LED-Rahmen: gestochen scharfe weiße Linie mit Türkis-Hauch (Maske = nur der Rand) … */
.credit-card::before{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;padding:1.5px;pointer-events:none;background:linear-gradient(135deg,#fff 0%,#f2fdff 30%,#cdfaf3 52%,#fff 70%,#b8f6ec 88%,#fff 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
/* … und das Leuchten (innen weiß, außen Türkis, eng genug für content-visibility der Startseite) – atmet langsam = einzige Endlos-Animation (opacity) */
.credit-card::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;pointer-events:none;
  box-shadow:0 0 0 1px rgba(240,253,255,.2),0 0 10px 1px rgba(232,251,255,.32),0 0 24px 1px rgba(110,240,228,.2),inset 0 0 12px rgba(232,251,255,.15),inset 0 0 30px -10px rgba(140,245,234,.22);animation:crled 6.5s ease-in-out infinite}
@keyframes crled{0%,100%{opacity:.6}50%{opacity:1}}
.credit-card>:not(.credit-sky):not(.credit-sr){position:relative;z-index:2}
/* Porträt: aufrechte Kachel mit weißer LED-Kante, schmales Türkis-Randlicht nur an der Außenkante, Gesicht bleibt natürlich */
.credit-av{grid-area:av;align-self:stretch;width:118px;min-height:128px;border-radius:20px;overflow:hidden;background:#0b1220;box-shadow:0 0 0 1px rgba(240,253,255,.74),0 0 12px -1px rgba(200,250,244,.38),0 20px 40px -18px rgba(0,0,0,.95)}
.credit-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.credit-av::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(4,10,20,.5),transparent 34%)}
.credit-av::after{content:"";position:absolute;inset:0;z-index:2;mix-blend-mode:screen;background:linear-gradient(90deg,rgba(90,240,226,.42),rgba(90,240,226,0) 11%),linear-gradient(180deg,rgba(255,255,255,.12),transparent 18%)}
[dir=rtl] .credit-av::after{background:linear-gradient(270deg,rgba(90,240,226,.42),rgba(90,240,226,0) 11%),linear-gradient(180deg,rgba(255,255,255,.12),transparent 18%)}
/* Name + Zeilen */
.credit-id{grid-area:id;display:flex;flex-direction:column;align-items:flex-start;min-width:0;align-self:end}
.credit-k{font-size:12px;line-height:1.35;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--tq2);white-space:nowrap}
.credit-n{margin:.12rem 0 .22rem;font:italic 500 2.55rem/1.02 var(--serif);letter-spacing:.005em;padding-inline-end:.1em;white-space:nowrap;color:#effcff}
@supports (-webkit-background-clip:text) or (background-clip:text){.credit-n{background:linear-gradient(100deg,#fff 0%,#eefcff 38%,#aaf6ec 62%,#fff 92%);-webkit-background-clip:text;background-clip:text;color:transparent}}
.credit-o{display:inline-flex;align-items:center;gap:.45rem;font-size:13px;line-height:1.35;font-weight:600;color:rgba(232,245,250,.84);white-space:nowrap}
.credit-o::before{content:"";flex:none;width:13px;height:13px;background:linear-gradient(135deg,#fff,var(--tq2));-webkit-mask:var(--st) center/contain no-repeat;mask:var(--st) center/contain no-repeat;
  --st:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.5c.7 5.6 3.3 8.3 9 9-5.7.7-8.3 3.4-9 9-.7-5.6-3.3-8.3-9-9 5.7-.7 8.3-3.4 9-9z'/%3E%3C/svg%3E")}
/* Was ich baue: 4 Linien-Symbole (Maske, keine Knoten) – das Thema der aktuellen Frage leuchtet (.on: opacity + LED-Strich per transform) */
.credit-b{grid-area:b;display:flex;align-items:center;gap:1.1rem;margin:16px 0 0;padding:0;list-style:none;align-self:start;min-width:0;overflow-x:clip}
.credit-b li{position:relative;display:inline-flex;align-items:center;gap:.42rem;font-size:12.5px;line-height:1.3;font-weight:600;color:#eaf7fb;white-space:nowrap;transition:opacity .6s}
.credit-b li::before{content:"";flex:none;width:15px;height:15px;background:linear-gradient(135deg,#fff 10%,var(--tq2) 80%);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.credit-b li::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1.5px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--tq2) 25%,#fff 50%,var(--tq2) 75%,transparent);box-shadow:0 0 8px rgba(140,245,234,.8);transform:scaleX(0);transition:transform .7s var(--ease)}
.credit-card.js .credit-b li{opacity:.72}.credit-card.js .credit-b li.on,.credit-card.js .credit-b.all li{opacity:1}.credit-b li.on::after{transform:scaleX(1)}
.credit-b.sm{gap:.4rem}.credit-b.sm li{font-size:12px;gap:.26rem}.credit-b.sm li::before{width:12px;height:12px}.credit-b.ni li::before{display:none}
.credit-b li:nth-child(1){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round'%3E%3Crect x='2.8' y='4.2' width='18.4' height='15.6' rx='2.8'/%3E%3Cpath d='M2.8 9h18.4M7 14.6h6'/%3E%3C/svg%3E")}
.credit-b li:nth-child(2){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round'%3E%3Crect x='6.6' y='2.6' width='10.8' height='18.8' rx='2.8'/%3E%3Cpath d='M10.4 18.2h3.2'/%3E%3C/svg%3E")}
.credit-b li:nth-child(3){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M12 3.2 3.4 7.8 12 12.4l8.6-4.6z'/%3E%3Cpath d='M3.4 12 12 16.6l8.6-4.6M3.4 16.2 12 20.8l8.6-4.6'/%3E%3C/svg%3E")}
.credit-b li:nth-child(4){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19.8 12a7.8 7.8 0 0 1-13.6 5.2M4.2 12A7.8 7.8 0 0 1 17.8 6.8'/%3E%3Cpath d='M18.2 3v4.1h-4.1M5.8 21v-4.1h4.1'/%3E%3C/svg%3E")}
/* Dialog: Besucher fragt (Seite „Ende“), Danial antwortet (Seite „Anfang“, kleines Porträt davor = ::before des Dialogs, kein Knoten; Pfad relativ zu css/ – gilt auch für site.<hash>.vh.css) – EINE Zeile, feste Höhe */
.credit-talk{grid-area:talk;position:relative;display:grid;gap:.42rem;align-self:end;min-width:0}
.credit-q,.credit-a{display:flex;align-items:center;box-sizing:border-box;margin:0;max-width:100%;height:34px;padding:0 .85rem;border-radius:16px;font-size:14px;line-height:1.3;white-space:nowrap;overflow-x:clip;transition:opacity .45s var(--ease),transform .5s var(--ease)}
.credit-q{justify-self:end;border:1px solid rgba(255,255,255,.17);border-end-end-radius:5px;background:linear-gradient(180deg,rgba(22,32,52,.9),rgba(12,20,36,.9));color:#eef6fa;font-weight:500;transform-origin:100% 100%;box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.credit-a{justify-self:start;margin-inline-start:30px;border:1px solid rgba(140,245,234,.5);border-end-start-radius:5px;background:linear-gradient(135deg,rgba(16,98,94,.92),rgba(8,50,58,.92));color:#fff;font-weight:600;transform-origin:0 100%;
  box-shadow:0 0 22px -8px rgba(47,214,200,.7),inset 0 1px 0 rgba(255,255,255,.12)}
.credit-talk::before{content:"";position:absolute;inset-inline-start:0;bottom:6px;width:22px;height:22px;border-radius:7px;background:#0b1220 url(../img/team/danial.webp) 50% 22%/cover no-repeat;box-shadow:0 0 0 1px rgba(236,252,255,.5),0 0 10px rgba(140,245,234,.35);transition:opacity .45s var(--ease),transform .5s var(--ease)}
[dir=rtl] .credit-q{transform-origin:0 100%}[dir=rtl] .credit-a{transform-origin:100% 100%}
.credit-talk.js :is(.credit-q,.credit-a),.credit-talk.js::before{opacity:0;transform:translateY(8px) scale(.96)}
.credit-talk.q .credit-q,.credit-talk.a .credit-a,.credit-talk.a::before{opacity:1;transform:none}
.credit-talk.out :is(.credit-q,.credit-a),.credit-talk.out::before{opacity:0;transform:translateY(-6px)}
/* Danial „denkt“: kleine Blase mit Cursor (blinkt 4×, endlich), dann tippt er – die Blase wächst mit dem Text */
.credit-a.think{min-width:52px;justify-content:center}
.credit-a:is(.think,.typing)::after{content:"";flex:none;width:2px;height:1.05em;margin-inline-start:2px;border-radius:1px;background:var(--tq2);box-shadow:0 0 6px var(--tq2)}
.credit-a.think::after{animation:crcar .5s steps(1) 4}
@keyframes crcar{50%{opacity:.22}}
/* Knopf: weißer LED-Knopf (WhatsApp, Ref DEV) mit Türkis-„Senden“-Kreis; Glanz einmal beim letzten Paar („Wie fangen wir an?“) */
.credit-cta{grid-area:go;display:flex;flex-direction:column;align-items:stretch;gap:.35rem;align-self:center;min-width:0}
.credit-go{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:.5rem .5rem .5rem 1rem;border-radius:999px;
  background:linear-gradient(180deg,#fff 0%,#eafcf9 55%,#c9f5ee 100%);color:#04211f;font-size:.93rem;line-height:1.2;font-weight:800;letter-spacing:.005em;white-space:nowrap;
  box-shadow:inset 0 -1px 0 rgba(10,90,84,.25),0 0 0 1px rgba(255,255,255,.55),0 0 18px -2px rgba(210,252,247,.42),0 12px 28px -12px rgba(47,214,200,.85);transition:transform .25s var(--ease),box-shadow .35s;-webkit-tap-highlight-color:transparent}
[dir=rtl] .credit-go{padding:.5rem 1rem .5rem .5rem}
.credit-go svg{width:19px;height:19px;flex:none;margin-inline-start:auto;color:#0b7d72}
.credit-go span{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.credit-go::after{content:"";flex:none;width:30px;height:30px;margin-inline-start:auto;border-radius:50%;transition:transform .3s var(--ease);box-shadow:0 0 12px -2px rgba(47,214,200,.8);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") 50%/15px no-repeat,linear-gradient(135deg,#25cdbd,#0b8a80)}
[dir=rtl] .credit-go::after{transform:scaleX(-1)}
.credit-go::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:8%;width:34%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.95) 50%,transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}
.credit-go.glint::before{animation:crgl 1.3s var(--ease) 1}
@keyframes crgl{0%{opacity:0;transform:translateX(-10%) skewX(-18deg)}15%,85%{opacity:1}100%{opacity:0;transform:translateX(290%) skewX(-18deg)}}
.credit-go:hover{box-shadow:inset 0 -1px 0 rgba(10,90,84,.25),0 0 0 1px #fff,0 0 26px 0 rgba(210,252,247,.6),0 16px 34px -12px rgba(47,214,200,1)}
.credit-go:hover::after{transform:translateX(3px)}[dir=rtl] .credit-go:hover::after{transform:scaleX(-1) translateX(3px)}
.credit-go:active{transform:scale(.965)}
.credit-go:focus-visible{outline:2px solid var(--tq2);outline-offset:3px}
.credit-tel{font-size:12px;line-height:1.3;font-weight:600;letter-spacing:.03em;color:rgba(232,245,250,.7);text-align:center;direction:ltr;unicode-bidi:isolate;white-space:nowrap}
/* Texte direkt auf dem Himmel: weicher dunkler Hof (zusätzlich zum Schatten im Canvas) – nie auf dem Namen (Verlaufsschrift) */
.credit-k,.credit-o,.credit-b li,.credit-tel{text-shadow:0 0 10px rgba(3,8,18,.85),0 1px 2px rgba(3,8,18,.55)}
.credit-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Schriften ohne Großbuchstaben/Laufweite (Persisch/Arabisch/Hebräisch, Thai, Myanmar, CJK); Persisch: Name in Noto; Myanmar: kompakte Zeilen (sonst 1.8 überall) */
:is([dir=rtl],[lang=th],[lang=my],[lang^=zh],[lang=ko]) .credit-k{letter-spacing:0;text-transform:none;font-size:13px}
[lang=fa] .credit-n{font:700 1.9rem/1.25 var(--ff);letter-spacing:0;padding:0}
:lang(my) :is(.credit-k,.credit-o,.credit-tel){line-height:1.4}:lang(my) :is(.credit-b li,.credit-q,.credit-a,.credit-go){line-height:1.5}:lang(my) .credit-n{line-height:1.08}
/* Handy + Tablet (≤ 900 px): Porträt + Name, darunter Leistungen (volle Breite), Dialog, Knopf in voller Breite; Nummer nur am Desktop */
@media (max-width:900px){
  .credit{padding:.72rem 0}
  .credit-card{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"av id" "b b" "talk talk" "go go";align-items:center;column-gap:.85rem;row-gap:.36rem;padding:.72rem .8rem;border-radius:22px}
  .credit-av{align-self:center;width:72px;height:74px;min-height:0;border-radius:17px}
  .credit-id{align-self:center}
  .credit-k{letter-spacing:.13em}
  .credit-n{font-size:1.62rem;margin:.04rem 0 .08rem}
  [lang=fa] .credit-n{font-size:1.38rem;line-height:1.3}
  .credit-o{font-size:12.5px}
  .credit-b{justify-content:space-between;gap:.5rem;margin:0;padding:0 .1rem;align-self:center}
  .credit-b li{gap:.34rem}.credit-b li::before{width:14px;height:14px}
  .credit-talk{gap:.3rem}
  .credit-q,.credit-a{height:28px;font-size:13.5px;padding:0 .72rem}
  .credit-a{margin-inline-start:27px}
  .credit-talk::before{width:20px;height:20px;bottom:4px;border-radius:6px}
  .credit-tel{display:none}
  .credit-go{min-height:46px;font-size:.92rem}
  .credit-go::after{width:28px;height:28px}
}
@media (min-width:521px) and (max-width:900px){.credit-card{max-width:600px}.credit-b{justify-content:flex-start;gap:1.25rem}}
@media (prefers-reduced-motion:reduce){.credit-card::after{animation:none;opacity:.85}.credit-a.think::after,.credit-go.glint::before{animation:none}.credit-q,.credit-a,.credit-talk::before,.credit-b li,.credit-b li::after{transition:none}.credit-go:active{transform:none}}
.dock{position:fixed;z-index:60;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);display:none;gap:.3rem;padding:.35rem;border-radius:999px;background:rgba(13,17,23,.86);backdrop-filter:blur(16px) saturate(1.4);border:1px solid var(--line2);box-shadow:0 20px 40px -10px rgba(0,0,0,.7);transition:opacity .3s var(--ease),transform .45s var(--ease),visibility 0s}
body:not(.dock-on) .dock{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,calc(100% + 24px));transition:opacity .25s,transform .4s var(--ease),visibility 0s .4s}
.dock a{display:flex;align-items:center;gap:.4rem;padding:.75rem 1rem;border-radius:999px;font-weight:700;font-size:.85rem}
.dock-wa{background:#25d366;color:#05230f}

/* Lightbox */
.lightbox{border:0;padding:0;background:rgba(5,6,9,.96);max-width:100vw;max-height:100vh;width:100vw;height:100vh;color:var(--text)}
.lightbox::backdrop{background:rgba(0,0,0,.85)}
.lightbox[open]{display:grid;place-items:center}
.lightbox img{max-width:94vw;max-height:84vh;object-fit:contain;border-radius:10px}
.lightbox button{position:absolute;border:1px solid var(--line2);background:rgba(255,255,255,.06);color:var(--text);width:52px;height:52px;border-radius:50%;font-size:1.8rem;cursor:pointer;line-height:1}
.lb-close{top:16px;right:16px}.lb-prev{left:16px;top:50%}.lb-next{right:16px;top:50%}
.lb-count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:.85rem;color:var(--muted)}

/* Text-Seite */
.prose{max-width:760px}.prose h1{font-size:clamp(2rem,5vw,3rem);letter-spacing:-.03em}.prose h2{margin-top:2rem;font-size:1.3rem}.prose p,.prose li{color:#d4cfc6}

/* Projekt-Raster Handy (17.10.): 2 Spalten statt 1 – 7 Projekte auf ~2 statt ~5 Bildschirmen; Name, Lage, Status, Preis (+ Umrechnung) und Fertigstellung bleiben,
   Details stehen auf der Projektseite. Erste Karte über beide Spalten, wenn die Anzahl ungerade ist (.c-wide, build.mjs + Filter in site.js). */
@media (max-width:640px){
  #projects .grid{grid-template-columns:1fr 1fr;gap:.7rem}
  #projects .card:not(.c-wide){border-radius:20px}
  #projects .card:not(.c-wide) .card-img{aspect-ratio:4/4.3}
  #projects .card:not(.c-wide) .card-body{padding:.7rem .75rem .8rem}
  #projects .card:not(.c-wide) :is(.card-tag,.card-units,.card-go){display:none}
  #projects .card:not(.c-wide) .card-area{display:block;margin:0 0 .2rem;font-size:var(--fs-xs);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #projects .card:not(.c-wide) .card-area svg,#projects .card:not(.c-wide) .card-area::before{display:none}
  #projects .card:not(.c-wide) h3{font-size:1rem;line-height:1.2;letter-spacing:-.01em;margin:0 0 .55rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  #projects .card:not(.c-wide) .card-meta{grid-template-columns:1fr;gap:.35rem;padding-top:.55rem}
  #projects .card:not(.c-wide) .card-meta>div:nth-child(3){display:none}
  #projects .card:not(.c-wide) .card-meta small{font-size:var(--fs-xs);letter-spacing:.05em} /* vorher 9,3 px – Bewertung 17.10.: zu klein */
  #projects .card:not(.c-wide) .card-meta strong{font-size:.92rem}
  #projects .card:not(.c-wide) .card-meta .fx{font-size:var(--fs-xs)}
  #projects .card:not(.c-wide) .card-tags{top:.5rem;left:.5rem;right:.5rem;gap:.3rem}
  #projects .card:not(.c-wide) .pill{font-size:var(--fs-xs);padding:.25rem .5rem}
  #projects .card:not(.c-wide) .pill-star{position:absolute;top:0;inset-inline-end:0;padding:.25rem .42rem}
  #projects .card:not(.c-wide) .pill-star .pl-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  #projects .card:not(.c-wide) .cmp-btn{top:calc(107.5cqw - 48px);right:8px;width:40px;height:40px;padding:0;justify-content:center;gap:0}
  #projects .card:not(.c-wide) .cmp-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  [dir=rtl] #projects .card:not(.c-wide) .cmp-btn{right:auto;left:8px}
  #projects .card.c-wide{grid-column:1/-1}
  #projects .card.c-wide .card-img{aspect-ratio:16/10}
  #projects .card.c-wide .card-body{padding:1rem 1.1rem 1.05rem}
  #projects .card.c-wide .card-tag{margin-bottom:.8rem}
  #projects .card.c-wide .cmp-btn{top:calc(62.5cqw - 46px)}
}

/* Reveal */
.reveal{opacity:0;transform:translateY(36px) scale(.985);filter:blur(5px);transition:opacity 1.15s var(--ease),transform 1.15s var(--ease),filter 1.15s var(--ease)}
.reveal.in{opacity:1;transform:none;filter:none}
/* Bilder in Karten: sanfter Zoom beim Erscheinen */
.card.reveal .card-img img{transform:scale(1.14);transition:transform 1.9s var(--ease)}
.card.reveal.in .card-img img{transform:scale(1)}
.card.reveal.in:hover .card-img img{transform:scale(1.07);transition-duration:1s}
/* Intro (nur beim ersten Besuch der Startseite) */
.intro{display:none}
.intro-on .intro{position:fixed;inset:0;z-index:100;display:grid;grid-template-columns:1fr;justify-items:center;place-items:center;align-content:center;gap:1.4rem;background:radial-gradient(ellipse at 50% 45%,#141a22,var(--bg) 70%);clip-path:inset(0);animation:introOut 1s var(--ease) 1.55s forwards}
.intro .logo-mark{width:92px;height:92px;color:var(--gold);filter:drop-shadow(0 0 18px rgba(214,178,112,.35))}
.intro .logo-mark circle,.intro .logo-mark path{stroke-dasharray:320;stroke-dashoffset:320;animation:draw 1.3s var(--ease) forwards}
.intro .logo-mark path{animation-delay:.3s}
.intro .logo-mark path+path{animation-delay:.55s}
.intro span{font-weight:800;font-size:.95rem;letter-spacing:.55em;padding-left:.55em;opacity:0;animation:rise .9s var(--ease) .7s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes introOut{to{clip-path:inset(0 0 100% 0);visibility:hidden}}
/* Startbild: Inhalte erscheinen Schritt für Schritt */
.hero-in>*,.hero .stats,.phero-in>*{opacity:0;animation:rise 1.2s var(--ease) forwards}
.hero-in>.kicker,.phero-in>:nth-child(1){animation-delay:.15s}
.hero-in>.hwx-w{animation-delay:.05s}.intro-on .hero-in>.hwx-w{animation-delay:1.65s}
.hero-in>.h1,.phero-in>:nth-child(2){animation-delay:.32s}
.hero-in>.lead,.phero-in>:nth-child(3){animation-delay:.55s}
.hero-in>.btns,.phero-in>:nth-child(4){animation-delay:.72s}
.hero .stats,.phero-in>:nth-child(5){animation-delay:.6s}
.intro-on .hero-in>.kicker{animation-delay:1.75s}.intro-on .hero-in>.h1{animation-delay:1.92s}.intro-on .hero-in>.lead{animation-delay:2.15s}.intro-on .hero-in>.btns{animation-delay:2.32s}.intro-on .hero .stats{animation-delay:2.2s}
@keyframes rise{from{opacity:0;transform:translateY(30px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
/* Goldschimmer auf dem Akzentwort im Startbild */
.hero .h1 em{background:linear-gradient(100deg,var(--gold2) 20%,#fff7e2 40%,var(--gold) 55%,var(--gold2) 75%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 7s linear infinite}
@keyframes sheen{from{background-position:100% 0}to{background-position:-160% 0}}
/* Fortschrittslinie */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:70;background:linear-gradient(90deg,var(--gold-d),var(--gold2));transform:scaleX(0);transform-origin:left;pointer-events:none}
/* Karten-Hinweis auf dem Handy */
.map-hint{position:absolute;left:50%;bottom:.8rem;transform:translateX(-50%);z-index:500;padding:.4rem .8rem;border-radius:999px;background:rgba(7,9,13,.78);border:1px solid var(--line2);color:var(--text);font-size:.78rem;font-weight:600;white-space:nowrap;pointer-events:none;backdrop-filter:blur(8px)}
.no-js .reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal,.hero-in>*,.hero .stats,.phero-in>*{opacity:1;transform:none;filter:none}.intro{display:none!important}.hero .h1 em{color:var(--gold2);background:none}html{scroll-behavior:auto}}

/* Responsive */
@media (max-width:1020px){
  .icards{grid-template-columns:1fr 1fr}.ibody{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.fac{grid-template-columns:1fr 1fr}
  .keybar-in{grid-template-columns:repeat(3,1fr)}.news{grid-template-columns:1fr}
  .calc{grid-template-columns:1fr}.calc-out{position:static}
}
@media (max-width:1100px){
  .burger{display:block;flex:none}
  /* Handy-Menü: Glas-Fläche über dem ganzen Bildschirm, Inhalt (.nav-in) scrollt in eigenem Bereich unter dem Kopf –
     passt alles, steht es mittig; sonst von oben bis unten scrollbar (Abstandhalter ::before/::after statt justify-content:center, das oben abschneidet) */
  .nav{position:fixed;inset:0;z-index:-1;display:block;margin:0;font-size:1.6rem;font-weight:800;background:radial-gradient(ellipse at 50% 0%,rgba(214,178,112,.14),transparent 60%),linear-gradient(180deg,rgba(14,18,24,.72),rgba(7,9,13,.86));-webkit-backdrop-filter:blur(30px) saturate(1.7);backdrop-filter:blur(30px) saturate(1.7);opacity:0;pointer-events:none;transition:opacity .35s}
  .nav-in{position:absolute;inset:74px 0 0;display:flex;flex-direction:column;align-items:center;gap:clamp(.9rem,3.2vh,1.6rem);padding:0 var(--gut);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .nav-in::before,.nav-in::after{content:"";flex:1 0 max(.5rem,env(safe-area-inset-bottom,0px))}
  .nav-in>*{flex:none}
  .nav .langdd{display:none} /* Sprache steht im Kopf neben der Währung (.lsw) */
  .nav-open .hdr,.nav-open .hdr.solid{-webkit-backdrop-filter:none;backdrop-filter:none;background:transparent;border-color:transparent}
  .nav-open .nav{opacity:1;pointer-events:auto}
  .nav-open,html:has(body.nav-open){overflow:hidden}
}
@media (max-width:860px){
  .hdr-cta{display:none}
  .dock{display:flex}
  .contact-in,.faq-in,.pintro,.two,.ftr-in{grid-template-columns:1fr}
  .person{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{font-size:15px}
  .zero-seal{width:96px;height:96px}.zero-seal strong{font-size:2rem}.zero p{font-size:.98rem}
  .fresult{order:-1;border-top:0;padding-top:0}
  .ftoggle{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--line2);background:var(--bg3);color:var(--text);border-radius:999px;padding:.55rem 1rem;font-weight:700;font-size:.9rem;cursor:pointer}
  .ftoggle svg{color:var(--gold)}
  .fcnt{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .3rem;border-radius:999px;background:var(--gold);color:#16120a;font-size:.75rem}
  .filterbar.open .ftoggle{border-color:var(--gold)}
  .fres{margin-left:auto}
  .freset{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;border:1px solid var(--line2);font-size:1.05rem}
  .freset span{display:none}
  .fpanel{display:none;padding-top:.9rem;border-top:1px solid var(--line)}
  .filterbar.open .fpanel{display:grid;animation:fopen .3s var(--ease)}
  .ihero{padding-top:3.2rem}
  .itrain-stage{--tw:156vw;margin-top:.6rem}
  .itrain{left:auto;right:3vw}
  .ihero-st{grid-template-columns:1fr}
  .istats{grid-template-columns:1fr 1fr}
  .icredit{text-align:start;max-width:none}
  .icards{grid-template-columns:1fr}
  .tl li{grid-template-columns:4.6rem 1fr}
  .filterbar{padding:.9rem;margin-top:-.8rem}
  .fgroup{flex-direction:column;align-items:stretch;gap:.45rem}
  .flabel{flex:none}
  .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -.9rem;padding:0 .9rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 .9rem,#000 calc(100% - 1.8rem),transparent);mask-image:linear-gradient(90deg,transparent,#000 .9rem,#000 calc(100% - 1.8rem),transparent)}
  .chips::-webkit-scrollbar{display:none}
  .chip{flex:none;padding:.5rem .85rem;font-size:.84rem}
  .hdr-in{height:64px}
  .hero{padding-bottom:1.6rem}
  .stats{grid-template-columns:1fr 1fr;margin-top:2rem}
  .grid,.steps,.fac{grid-template-columns:1fr}
  .team-row{grid-auto-columns:68%}
  .gal{grid-auto-columns:84%}
  .keybar-in{grid-template-columns:1fr 1fr}
  .deposits{grid-template-columns:1fr 1fr}
  .post{grid-template-columns:1fr}.post img,.post-ph{min-height:0;aspect-ratio:16/9}
  .calc-in,.calc-out,.row2{grid-template-columns:1fr 1fr}
  .kpi{padding:1rem}
  .paybar div{min-width:min-content;padding:.8rem .6rem}.paybar b{font-size:1.15rem}.paybar span{font-size:var(--fs-xs)} /* min-content: Wörter wie „Instalments“ brechen nicht mehr mitten im Wort (Bewertung 17.10.) */
  .expert{grid-template-columns:1fr;padding:1.4rem}.expert img{width:80px;height:80px}
  .dev{flex-direction:column;align-items:flex-start}
  .btns .btn{flex:1 1 auto;justify-content:center}
  .card-meta{grid-template-columns:1.3fr 1fr .7fr}
}
@media print{
  .hdr,.dock,.ftr,.contact,.lightbox,.btns,.back,#calc,.map,.filterbar{display:none!important}
  body{background:#fff;color:#111}.reveal{opacity:1!important;transform:none!important}
}
.leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) grayscale(.55) brightness(.92) contrast(.88)} /* dunkle Karte passend zum Design (vorher hellgrau, Bewertung 17.10.) – nur die Kacheln, Punkte/Popups bleiben */
:root:not(#_) :is(.leaflet-touch .leaflet-bar a,.leaflet-bar a){width:44px;height:44px;line-height:42px;background:rgba(13,17,23,.92);color:var(--gold2);border-color:var(--line2)}.leaflet-bar a:hover{background:#1b222c;color:var(--gold2)}.leaflet-bar{border:1px solid var(--line2)!important;border-radius:12px!important;overflow:hidden}
@media (max-width:640px){.keybar-in>div{border-left:0;border-top:1px solid var(--line)}.keybar-in>div:nth-child(even){border-left:1px solid var(--line)}}

/* Thai: keine Kursiv-/Sperrschrift, mehr Zeilenhöhe für Vokalzeichen */
html:lang(th) *{font-style:normal}
html:lang(th) :is(.h1,.h2,.h3,h1,h2,h3,.card h3,.big,.lead,.card-tag,.kicker,.marquee span,.stats strong,.istats strong,.icard-num,.zero-seal strong){letter-spacing:normal}
html:lang(th) :is(.h1,.h2,.h3,h1,h2,h3){line-height:1.28}
html:lang(th) .h1{font-size:clamp(2.3rem,7vw,5.4rem)}
html:lang(th) body{line-height:1.7}

/* Chinesisch (zh-Hans) / Koreanisch: System-Schriften (keine großen Webfonts), keine Kursiv-/Sperrschrift, Koreanisch bricht nur zwischen Wörtern */
html:lang(zh){--ff:'Manrope','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC','Noto Sans CJK SC','Source Han Sans SC','WenQuanYi Zen Hei',system-ui,sans-serif;--serif:'Cormorant Garamond','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC','Noto Sans CJK SC','WenQuanYi Zen Hei',sans-serif}
html:lang(ko){--ff:'Manrope','Apple SD Gothic Neo','Malgun Gothic','Noto Sans KR','Noto Sans CJK KR','Source Han Sans KR','Nanum Gothic','WenQuanYi Zen Hei',system-ui,sans-serif;--serif:'Cormorant Garamond','Apple SD Gothic Neo','Malgun Gothic','Noto Sans KR','Noto Sans CJK KR','Nanum Gothic',sans-serif}
html:is(:lang(zh),:lang(ko)) *{font-style:normal}
html:is(:lang(zh),:lang(ko)) :is(.h1,.h2,.h3,h1,h2,h3,.card h3,.big,.lead,.card-tag,.kicker,.lbl,.marquee span,.stats strong,.istats strong,.icard-num,.zero-seal strong,.rps-k,.gd-toc-h,.rf-ticket small,.gd-t thead th,.cmp-l){letter-spacing:normal}
html:is(:lang(zh),:lang(ko)) :is(.h1,.h2,.h3,h1,h2,h3){line-height:1.3}
html:is(:lang(zh),:lang(ko)) .h1{font-size:clamp(2.1rem,6.6vw,5rem)}
html:is(:lang(zh),:lang(ko)) body{line-height:1.75}
html:lang(zh) body{line-break:strict}
html:lang(ko) body{word-break:keep-all;overflow-wrap:break-word}
html:is(:lang(zh),:lang(ko)) .brand span{white-space:nowrap}

/* Rollen-Abzeichen X-CEO / X-Manager / X-Agent */
.xrole{display:inline-flex;align-items:center;gap:.35em;padding:.22em .7em .22em .25em;border-radius:999px;font:600 var(--fs-xs)/1.2 inherit;letter-spacing:.12em;text-transform:uppercase;color:var(--gold2);background:linear-gradient(135deg,rgba(214,178,112,.18),rgba(214,178,112,.04));border:1px solid rgba(214,178,112,.45);box-shadow:inset 0 1px 0 rgba(243,220,170,.25),0 0 18px -6px rgba(214,178,112,.55);vertical-align:middle;white-space:nowrap}
.xrole b{display:inline-grid;place-items:center;width:1.55em;height:1.55em;border-radius:50%;font-weight:800;letter-spacing:0;color:#1a1408;background:linear-gradient(135deg,var(--gold2),var(--gold) 55%,var(--gold-d));box-shadow:0 0 10px rgba(214,178,112,.6)}
.xrole.plain{padding-left:.7em}
.member .xrole{margin:.35rem 0 .3rem;font-size:var(--fs-xs)}
.member span.xrole{color:var(--gold2)}

/* ===== Besuchen Sie uns: Weg Beach Road → Eingang → Stand ===== */
.visit{position:relative;overflow:clip}
.visit::before{content:"";position:absolute;inset:-20% -10% auto;height:70%;background:radial-gradient(50% 60% at 70% 30%,rgba(214,178,112,.10),transparent 70%);pointer-events:none}
/* Illustrierter Weg (tools/journey.mjs): ohne JS/weniger Bewegung = Standbild + 3 Schritte darunter; mit JS = Scroll-Kamerafahrt */
.jr{position:relative;margin:0 0 clamp(2.5rem,6vw,4.5rem)}
.jr-stage{position:relative;border-radius:calc(var(--r-lg) + 4px);overflow:hidden;background:radial-gradient(120% 90% at 55% 35%,#172231 0%,#0c1119 55%,#07090d 100%);border:1px solid var(--line);box-shadow:0 50px 100px -50px rgba(0,0,0,.9),inset 0 1px 0 rgba(243,220,170,.08)}
.jr-stage::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(130% 100% at 50% 40%,transparent 55%,rgba(5,7,10,.75));}
.jr-svg{display:block;width:100%;height:auto;aspect-ratio:1070/770;font-family:var(--ff)}
.jr-way{fill:none;stroke:rgba(243,220,170,.3);stroke-width:1.6;stroke-dasharray:2 5;stroke-linecap:round}
.jr-go{fill:none;stroke:#f0d49a;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px rgba(233,199,127,.9))}
.jr-road{font-weight:800;font-size:20px;letter-spacing:5px;fill:rgba(255,255,255,.12)}
.jr-bay{font-weight:700;font-size:15px;letter-spacing:7px;fill:rgba(170,210,240,.28)}
.jr-rg{font-weight:800;font-size:11px;letter-spacing:3px;fill:#e9c77f}
.jr-st{font-weight:800;font-size:7px;letter-spacing:.4px;fill:#e9c77f}
.jr-ct{font-weight:800;font-size:3.4px;fill:#e9c77f}
.jr-bin{font-style:italic;font-weight:800;font-size:15px;fill:#ffd23f;stroke:#2a1a05;stroke-width:.6;paint-order:stroke}
.jr-bin-g{stroke:none;fill:#ffc933;opacity:.85}
.jr-rip{font:italic 700 8.5px var(--serif);fill:#ff86ad;letter-spacing:.5px}
.jr-pn{font-weight:800;font-size:11px;fill:#1a140a}
.jr-caps{position:relative;z-index:2;padding:1.4rem clamp(1rem,3vw,1.8rem) 1.6rem}
.jr-caps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.jr-cap{display:flex;gap:.9rem;align-items:flex-start}
.jr-num{flex:none;font:600 1.9rem/1 var(--serif);color:var(--gold2)}
.jr-cap h3{margin:.1rem 0 .3rem;font-size:1.05rem;font-weight:700}
.jr-cap p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}
.jr-bar{display:none}
/* Animationen der Szene (laufen nur, wenn sichtbar) */
.jr-car{animation:jdrive 15s linear infinite}
@keyframes jdrive{from{transform:translate(var(--ax),var(--ay))}to{transform:translate(var(--bx),var(--by))}}
.jr-palm{animation:jsway 7s ease-in-out infinite alternate}
.jr-walk{animation:jwalk 60s linear infinite}
@keyframes jwalk{0%{transform:translate(var(--ax),var(--ay));opacity:0}4%,96%{opacity:1}100%{transform:translate(var(--bx),var(--by));opacity:0}}
@keyframes jsway{from{transform:rotate(-1.6deg)}to{transform:rotate(1.8deg)}}
.jr-sh{animation:jsh 4.5s steps(4) infinite}
@keyframes jsh{0%,100%{opacity:.1}50%{opacity:1}}
.jr-foam{animation:jfoam 5s ease-in-out infinite alternate}
@keyframes jfoam{from{transform:translate(0,0);opacity:.35}to{transform:translate(-2px,1.5px);opacity:.8}}
.jr-boat{animation:jbob 4s ease-in-out infinite alternate}
@keyframes jbob{to{transform:translateY(1.6px)}}
/* Szene v2: Palmenkronen, Dünung, Lichtreflexe, Brandung, Jetskis, Rauch, Foto-Blitz, Feuerwerk */
.jr-crown{animation:jcrown 3.8s ease-in-out infinite alternate}
@keyframes jcrown{from{transform:rotate(-2.2deg)}to{transform:rotate(2.4deg)}}
.jr-swell{animation:jswell 7s ease-in-out infinite}
@keyframes jswell{0%,100%{transform:translate(0,0);opacity:.45}50%{transform:translate(1.6px,-1.4px);opacity:1}}
.jr-ref{transform-box:fill-box;transform-origin:center;animation:jref 3.2s steps(6) infinite}
@keyframes jref{0%,100%{transform:scaleX(1);opacity:.85}35%{transform:scaleX(.62);opacity:.5}65%{transform:scaleX(1.22);opacity:1}}
.jr-wave{animation:jwave 4.5s ease-out infinite}
@keyframes jwave{0%{transform:translate(1.2px,2.6px);opacity:0}30%{opacity:1}100%{transform:translate(-.6px,-1.2px);opacity:0}}
.jr-jbob{animation:jbob 1.1s ease-in-out infinite alternate}
.jr-jet{animation:jjet 13s linear infinite}
@keyframes jjet{0%{transform:translate(var(--ax),var(--ay));opacity:0}7%,93%{opacity:1}100%{transform:translate(var(--bx),var(--by));opacity:0}}
.jr-wake{animation:jwake 1.4s ease-in-out infinite alternate}
@keyframes jwake{from{opacity:.6}to{opacity:1}}
.jr-spray{transform-box:fill-box;transform-origin:center;animation:jspray .6s ease-in-out infinite alternate}
@keyframes jspray{from{transform:scale(.7);opacity:.5}to{transform:scale(1.25);opacity:1}}
.jr-smoke{transform-box:fill-box;transform-origin:center;animation:jsmoke 3.9s ease-out infinite}
@keyframes jsmoke{0%{transform:translate(0,0) scale(.6);opacity:0}20%{opacity:1}100%{transform:translate(4px,-16px) scale(1.8);opacity:0}}
.jr-flash{opacity:0;animation:jflash 6s steps(1) infinite}
@keyframes jflash{0%,92%{opacity:0}93%{opacity:1}96%,100%{opacity:0}}
/* Freelancer-Szene: Mann kommt (0–34 %), Gespräch + Herz (34–46 %), alle gehen gemeinsam (46–88 %), ausblenden; Frauen stehen danach wieder da */
.jr-fl-man{opacity:0;animation:jflman 22s linear infinite}
@keyframes jflman{0%{transform:translate(var(--sx),var(--sy));opacity:0}4%{opacity:1}34%,46%{transform:translate(0,0);opacity:1}88%{transform:translate(var(--ex),var(--ey));opacity:1}92%,100%{transform:translate(var(--ex),var(--ey));opacity:0}}
.jr-fl-go{animation:jflgo 22s linear infinite}
@keyframes jflgo{0%,46%{transform:translate(0,0);opacity:1}88%{transform:translate(var(--ex),var(--ey));opacity:1}92%{transform:translate(var(--ex),var(--ey));opacity:0}93%{transform:translate(0,0);opacity:0}100%{transform:translate(0,0);opacity:1}}
.jr-fl-heart{opacity:0;animation:jflheart 22s ease-out infinite}
@keyframes jflheart{0%,35%{transform:translateY(2px);opacity:0}38%{opacity:1}46%{transform:translateY(-4px);opacity:0}100%{opacity:0}}
.jr-fw{opacity:0;animation:jfw 9s ease-out infinite}
@keyframes jfw{0%,5%{transform:scale(.12);opacity:0}6%{opacity:1}25%{transform:scale(1);opacity:.95}38%,100%{transform:scale(1.06) translateY(5px);opacity:0}}
.jr-rk{opacity:0;animation:jrk 9s linear infinite}
@keyframes jrk{0%{transform:translateY(64px);opacity:0}1%{opacity:1}5%{transform:translateY(0);opacity:.9}6%,100%{transform:translateY(0);opacity:0}}
.jr-ring{transform-box:fill-box;transform-origin:center;animation:jring 2.6s ease-out infinite}
@keyframes jring{from{transform:scale(.6);opacity:.9}to{transform:scale(1.5);opacity:0}}
.jr-p3 .jr-pin-h{animation:jfloat 2.8s ease-in-out infinite alternate}
@keyframes jfloat{to{transform:translateY(-4px)}}
.jr-scr{animation:jscr 6s ease-in-out infinite alternate}
@keyframes jscr{to{opacity:.65}}
.jr-pin-h{transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.jr-p1.on .jr-pin-h,.jr-p2.on .jr-pin-h{transform:scale(1.18)}
.jr:not(.jr-vis) *{animation-play-state:paused!important}
.jr-gl{display:none}
.jr.jr-3d .jr-svg{display:none}
.jr.jr-3d .jr-gl{display:block;flex:1 1 0;min-height:0;width:100%;height:100%;touch-action:pan-y}
.jr.jr-3d .jr-stage{background:#070b12}
/* Scroll-Modus */
.jr.jr-on .jr-stick{position:relative;height:clamp(440px,74vh,660px);display:flex;flex-direction:column}
.jr.jr-on .jr-stage{flex:1;min-height:0;display:flex;flex-direction:column}
.jr.jr-on .jr-svg{flex:1;min-height:0;height:100%;aspect-ratio:auto}
.jr.jr-on .jr-me{transition:none}
.jr.jr-on .jr-caps{position:absolute;left:clamp(1rem,2.5vw,1.8rem);bottom:clamp(1rem,2.5vw,1.8rem);width:min(25rem,calc(100% - 2rem));padding:1.2rem 1.3rem 1.1rem;border-radius:var(--r-lg);background:rgba(10,13,19,.72);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border:1px solid rgba(214,178,112,.25);box-shadow:0 20px 50px -20px rgba(0,0,0,.8)}
.jr.jr-on .jr-caps ol{display:grid;grid-template-columns:1fr;gap:0}
.jr.jr-on .jr-cap{grid-area:1/1;opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .6s var(--ease);pointer-events:none}
.jr.jr-on .jr-cap.on{opacity:1;transform:none}
/* U3-POLISH: Poster + „Weg zeigen“ (Start), danach Bedienleiste Abspielen/Pause/Nochmal + Schieber */
.jr-start,.jr-ctl{display:none}
.jr-ph picture{display:contents}
.jr-poster{display:block;width:100%;height:100%;object-fit:cover}
.jr.jr-on .jr-start{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;width:100%;padding:1rem 1rem 9.5rem;border:0;background:linear-gradient(180deg,rgba(7,9,13,.15),rgba(7,9,13,.45));color:#fff;font:inherit;cursor:pointer;text-align:center;transition:opacity .45s var(--ease),visibility 0s .45s}
.jr-start-i{display:grid;place-items:center;width:4.6rem;height:4.6rem;border-radius:50%;background:linear-gradient(145deg,var(--gold2),var(--gold-d));box-shadow:0 0 0 8px rgba(214,178,112,.18),0 18px 40px -12px rgba(0,0,0,.8);transition:transform .3s var(--ease)}
.jr-start-i svg{width:1.9rem;height:1.9rem;fill:#14100a;margin-inline-start:.2rem}
.jr-start:hover .jr-start-i,.jr-start:focus-visible .jr-start-i{transform:scale(1.07)}
.jr-start-t{display:grid;gap:.25rem;padding:.65rem 1.1rem;border-radius:var(--r-lg);background:rgba(10,13,19,.66);border:1px solid rgba(214,178,112,.28)}
.jr-start-t b{font-size:1.15rem;font-weight:800;color:var(--gold2)}
.jr-start-t small{font-size:var(--fs-xs);color:#d7dbe0}
.jr.jr-run .jr-start{opacity:0;visibility:hidden;pointer-events:none}
.jr.jr-load .jr-stage::after{content:"";position:absolute;z-index:4;left:50%;top:42%;width:2.6rem;height:2.6rem;margin:-1.3rem 0 0 -1.3rem;border-radius:50%;border:3px solid rgba(243,220,170,.25);border-top-color:var(--gold2);animation:jspin .9s linear infinite}
@keyframes jspin{to{transform:rotate(360deg)}}
.jr.jr-on:not(.jr-still) .jr-ctl{display:flex;align-items:center;gap:.7rem;margin-top:.9rem}
.jr-pp{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(214,178,112,.45);background:rgba(214,178,112,.12);color:var(--gold2);cursor:pointer}
.jr-pp svg{width:1.15rem;height:1.15rem;fill:currentColor}
.jr.jr-on .jr-bar{position:relative;display:block;flex:1;height:44px;margin:0}
.jr.jr-on .jr-bar::before{content:"";position:absolute;inset:50% 0 auto;height:3px;margin-top:-1.5px;border-radius:2px;background:rgba(255,255,255,.14)}
.jr.jr-on .jr-bar i{position:absolute;inset:50% 0 auto;display:block;height:3px;margin-top:-1.5px;border-radius:2px;background:linear-gradient(90deg,var(--gold-d),var(--gold2));transform-origin:0 50%;transform:scaleX(var(--jp,0))}
[dir=rtl] .jr.jr-on .jr-bar i{transform-origin:100% 50%}
.jr-rng{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;touch-action:none}
.jr-rng:focus-visible{opacity:.35}
.jr.jr-on .jr-bar:has(.jr-rng:focus-visible){outline:2px solid var(--gold2);outline-offset:2px;border-radius:6px}
@media (max-width:700px){
  .jr.jr-on .jr-stick{height:auto}
  .jr.jr-on .jr-stage{border-radius:var(--r-lg)}
  .jr.jr-on .jr-stage > .jr-ph,.jr.jr-on .jr-stage > .jr-svg,.jr.jr-on .jr-stage > .jr-gl{flex:none;height:min(58svh,470px)!important}
  .jr.jr-on .jr-start{bottom:auto;height:min(58svh,470px);padding-bottom:1rem}
  .jr.jr-load .jr-stage::after{top:min(29svh,235px)}
  .jr.jr-on .jr-caps{position:relative;left:auto;bottom:auto;width:auto;margin:0;border-radius:0;border-width:1px 0 0;background:rgba(10,13,19,.85);padding:1rem 1.1rem .5rem}
  .jr.jr-on .jr-ctl{margin-top:.35rem}
  .jr-num{font-size:1.6rem}.jr-cap h3{font-size:1rem}.jr-cap p{font-size:.86rem}
}
@media (prefers-reduced-motion:reduce){.jr *{animation:none!important}}
@keyframes vping{0%{box-shadow:0 0 0 0 rgba(214,178,112,.45)}70%,100%{box-shadow:0 0 0 14px rgba(214,178,112,0)}}
.vgal{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;align-content:center}
.vgal .gal-it{position:relative;display:block;padding:0;border:0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;background:var(--bg3);cursor:zoom-in;box-shadow:0 24px 50px -30px rgba(0,0,0,.9),inset 0 0 0 1px var(--line);isolation:isolate}
.vgal .gal-it img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),filter .6s}
.vgal .gal-it::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(214,178,112,0);transition:box-shadow .4s;pointer-events:none}
.vgal .gal-it:hover img{transform:scale(1.05);filter:brightness(1.06)}
.vgal .gal-it:hover::after,.vgal .gal-it:focus-visible::after{box-shadow:inset 0 0 0 1.5px rgba(214,178,112,.7)}
.visit-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(1.2rem,3vw,2.4rem);align-items:stretch}
.show{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:clamp(1.4rem,3vw,2.4rem);border-radius:var(--r-lg);background:linear-gradient(160deg,rgba(214,178,112,.10),rgba(20,26,34,.85) 40%,var(--bg2));border:1px solid rgba(214,178,112,.28);box-shadow:inset 0 1px 0 rgba(243,220,170,.12)}
.show-glow{position:absolute;right:-30%;top:-40%;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(214,178,112,.22),transparent 65%);filter:blur(10px);animation:glowmove 12s ease-in-out infinite alternate;pointer-events:none}
@keyframes glowmove{to{transform:translate(-25%,30%)}}
.show>p{color:var(--muted);margin:0 0 1.4rem;max-width:34rem}
.perks{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.perks li{display:flex;align-items:center;gap:.7rem;padding:.75rem .9rem;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid var(--line);font-size:.9rem;font-weight:600}
.perks svg{flex:none;width:1.9rem;height:1.9rem;padding:.38rem;border-radius:50%;fill:none;stroke:#16120a;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;background:linear-gradient(135deg,var(--gold2),var(--gold) 55%,var(--gold-d))}
.addr{display:flex;flex-direction:column;gap:.15rem;margin:0 0 1.5rem;padding-inline-start:1rem;border-inline-start:2px solid var(--gold)}
.addr strong{font-size:1.05rem}.addr span{color:var(--muted);font-size:.9rem}
@media (max-width:900px){.visit-grid{grid-template-columns:1fr}.vgal{gap:.5rem}}
@media (max-width:900px){
  .vgal{order:-1;display:flex;gap:.7rem;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--gut) * -1);padding:0 var(--gut) .2rem;scroll-padding:0 var(--gut);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .vgal::-webkit-scrollbar{display:none}
  .vgal .gal-it{flex:0 0 min(84%,28rem);scroll-snap-align:center}
}
@media (max-width:560px){
  .perks{gap:.55rem}
  .perks li{flex-direction:column;align-items:flex-start;gap:.6rem;padding:.9rem .85rem;font-size:.85rem;line-height:1.35}
  .show .btns{display:grid;gap:.6rem}.show .btns .btn{justify-content:center}
}

/* ===== Demnächst: verkaufen / vermieten ===== */
.soon{position:relative;display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding:clamp(1.5rem,4vw,3.4rem);border-radius:calc(var(--r-lg) + 4px);background:linear-gradient(150deg,#12161d,#0b0e13);isolation:isolate;overflow:hidden}
.soon-ring{position:absolute;inset:0;z-index:-1;border-radius:inherit;padding:1px;background:conic-gradient(from var(--ca),rgba(214,178,112,.08),rgba(243,220,170,.9),rgba(214,178,112,.08) 30%,rgba(214,178,112,.08) 60%,rgba(243,220,170,.7),rgba(214,178,112,.08) 90%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:soonspin 9s linear infinite}
@keyframes soonspin{to{--ca:360deg}}
.soon::after{content:"";position:absolute;inset:auto -10% -40% 40%;height:80%;z-index:-1;background:radial-gradient(closest-side,rgba(214,178,112,.14),transparent);pointer-events:none}
.soon-badge{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:1.1rem;padding:.4rem .9rem;border-radius:999px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold2);background:rgba(214,178,112,.1);border:1px solid rgba(214,178,112,.4)}
.soon-badge i{width:.5rem;height:.5rem;border-radius:50%;background:var(--gold);animation:vping 2s ease-out infinite}
.soon .h2{max-width:18ch}
.soon-copy>.muted{margin:0 0 1.6rem}
.soon-steps{list-style:none;margin:0 0 1.8rem;padding:0;display:grid;gap:.9rem}
.soon-steps li{display:flex;gap:1rem;align-items:flex-start}
.soon-steps b{flex:none;font:600 1.3rem/1 var(--serif);color:var(--gold);min-width:2rem}
.soon-steps strong{display:block;margin-bottom:.15rem}.soon-steps span{color:var(--muted);font-size:.9rem}
.soon-card{border-radius:var(--r-lg);background:var(--bg2);border:1px solid var(--line2);overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.9);transform:perspective(1200px) rotateY(-6deg) rotateX(2deg);transition:transform 1s var(--ease)}
.soon:hover .soon-card{transform:perspective(900px) rotateY(0) rotateX(0)}
.sc-img{position:relative;aspect-ratio:16/10;display:grid;place-items:center;background:linear-gradient(135deg,#1b2230,#10141b);overflow:hidden}
.sc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;filter:saturate(.85) brightness(.8);transform:scale(1.06);transition:transform 1.2s var(--ease)}
.sc-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(11,14,19,.7))}
.soon:hover .sc-img img{transform:scale(1)}
.sc-shine{position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(243,220,170,.16) 50%,transparent 70%);transform:translateX(-100%);animation:scshine 3.6s ease-in-out infinite}
@keyframes scshine{60%,100%{transform:translateX(100%)}}
.sc-body{padding:1.2rem 1.3rem 1.4rem;display:grid;gap:.6rem}
.sc-body strong{font-size:1.1rem}
.sc-tags{display:flex;gap:.4rem}.sc-tags span{padding:.25rem .65rem;border-radius:999px;font-size:var(--fs-xs);font-weight:700;background:rgba(214,178,112,.14);color:var(--gold2)}
.sk{display:block;height:.6rem;border-radius:99px;background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,.14),rgba(255,255,255,.06));background-size:200% 100%;animation:sksh 1.8s linear infinite}
@keyframes sksh{to{background-position:-200% 0}}
.sk.w70{width:70%}.sk.w45{width:45%}.sk.w30{width:30%}
.sc-row{display:flex;align-items:center;justify-content:space-between;margin-top:.3rem}.sc-row b{color:var(--gold2);letter-spacing:.1em}
@media (max-width:900px){.soon{grid-template-columns:1fr}.soon-card{transform:none;max-width:24rem}}
@media (prefers-reduced-motion:reduce){.soon-ring,.sc-shine,.sk,.show-glow{animation:none}}

/* ===== Easter Egg: Stand in 3D ===== */
.x3d-btn{position:relative;flex:none;display:grid;place-items:center;width:38px;height:38px;margin-left:.6rem;border-radius:50%;border:1px solid rgba(214,178,112,.28);background:rgba(214,178,112,.06);color:var(--gold);cursor:pointer;transition:border-color .3s,background .3s,box-shadow .3s;overflow:visible}
.x3d-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;transition:transform .8s var(--ease)}
.x3d-btn::before{content:"";position:absolute;inset:-1px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 80%,rgba(243,220,170,.9) 90%,transparent 100%);-webkit-mask:radial-gradient(closest-side,transparent calc(100% - 1.5px),#000 calc(100% - 1px));mask:radial-gradient(closest-side,transparent calc(100% - 1.5px),#000 calc(100% - 1px));opacity:0;animation:x3dglint 9s ease-in-out 4s infinite}
@keyframes x3dglint{0%,82%{opacity:0;transform:rotate(0)}86%{opacity:1}100%{opacity:0;transform:rotate(360deg)}}
.x3d-btn:hover,.x3d-btn:focus-visible{border-color:rgba(214,178,112,.7);background:rgba(214,178,112,.14);box-shadow:0 0 22px -4px rgba(214,178,112,.55)}
.x3d-btn:hover svg{transform:rotate(180deg) scale(1.08)}
.x3d-btn::after{content:attr(data-tip);position:absolute;top:calc(100% + 10px);right:0;padding:.45rem .75rem;border-radius:10px;background:rgba(12,15,21,.94);border:1px solid rgba(214,178,112,.3);color:var(--gold2);font-size:.78rem;font-weight:600;white-space:nowrap;opacity:0;transform:translateY(-4px);transition:opacity .25s,transform .25s;pointer-events:none}
.x3d-btn:hover::after,.x3d-btn:focus-visible::after{opacity:1;transform:none}
@media (max-width:860px){.x3d-btn{width:40px;height:40px}.x3d-btn::after{display:none}}
html.x3d-lock{overflow:hidden}
.x3d{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#0a0d12;color:var(--text);overflow:clip}
.x3d[open]{animation:x3din .6s var(--ease)}
@keyframes x3din{from{opacity:0;transform:scale(1.03)}}
.x3d::backdrop{background:rgba(3,4,6,.8)}
.x3d-stage{position:absolute;inset:0;opacity:0;transition:opacity 1.2s var(--ease)}
.x3d.ready .x3d-stage{opacity:1}
.x3d-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
.x3d-stage canvas:active{cursor:grabbing}
.x3d-top,.x3d-bot{position:absolute;left:0;right:0;z-index:2;display:flex;gap:1rem;padding:clamp(1rem,3vw,2rem) clamp(1rem,3.5vw,2.6rem);pointer-events:none}
.x3d-top{top:0;justify-content:space-between;align-items:flex-start;background:linear-gradient(180deg,rgba(10,13,18,.9),rgba(10,13,18,0))}
.x3d-bot{bottom:0;justify-content:space-between;align-items:flex-end;padding-bottom:calc(clamp(1rem,3vw,2rem) + env(safe-area-inset-bottom));background:linear-gradient(0deg,rgba(10,13,18,.92),rgba(10,13,18,0))}
.x3d-top>*,.x3d-bot>*{pointer-events:auto}
.x3d-top .kicker{margin:0 0 .35rem}
.x3d-top h2{margin:0;font-size:clamp(1.3rem,3vw,2.1rem);font-weight:800;letter-spacing:-.02em;line-height:1.15}
.x3d-top .muted{margin:.35rem 0 0;font-size:.9rem}
.x3d-close{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--line2);background:rgba(12,15,21,.7);color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .4s var(--ease),border-color .3s}
.x3d-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.x3d-close:hover{transform:rotate(90deg);border-color:rgba(214,178,112,.6)}
.x3d-hint{display:flex;align-items:center;gap:.55rem;color:var(--muted);font-size:.85rem}
.x3d-hint svg{flex:none;width:22px;height:22px;fill:none;stroke:var(--gold);stroke-width:1.4;stroke-linejoin:round;animation:x3dhand 2.8s ease-in-out infinite}
@keyframes x3dhand{0%,100%{transform:translateX(0)}50%{transform:translateX(6px) rotate(6deg)}}
.x3d-acts{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}
.x3d-spots{position:absolute;inset:0;z-index:1;overflow:clip;pointer-events:none;opacity:0;transition:opacity .8s .6s}
.x3d.ready .x3d-spots{opacity:1}
.x3d-spot{position:absolute;left:0;top:0;display:flex;align-items:center;gap:.5rem;margin:-15px 0 0 -15px;padding:0 .8rem 0 0;height:30px;border-radius:99px;border:1px solid rgba(214,178,112,.45);background:rgba(10,13,19,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font:600 .8rem/1 var(--ff);white-space:nowrap;cursor:pointer;pointer-events:auto;transition:opacity .35s,border-color .3s,background .3s;will-change:transform}
.x3d-spot b{position:relative;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fbeac4,#d6b270 55%,#8e6d34);color:#1a140a;font-size:.8rem}
.x3d-spot b::after{content:"";position:absolute;inset:-1px;border-radius:50%;box-shadow:0 0 0 0 rgba(214,178,112,.6);animation:vping 2.4s ease-out infinite}
.x3d-spot:hover{border-color:var(--gold);background:rgba(20,24,32,.9)}
.x3d-spot.off{opacity:0;pointer-events:none}
.x3d-cap{position:absolute;left:50%;bottom:7.5rem;z-index:2;margin:0;padding:.55rem 1rem;border-radius:99px;background:rgba(10,13,19,.85);border:1px solid rgba(214,178,112,.4);color:var(--gold2);font-weight:700;font-size:.9rem;transform:translate(-50%,10px);opacity:0;transition:opacity .35s,transform .35s var(--ease);pointer-events:none;white-space:nowrap}
.x3d-cap.on{opacity:1;transform:translate(-50%,0)}
.x3d-load{position:absolute;inset:0;z-index:3;display:grid;place-content:center;justify-items:center;gap:1rem;text-align:center;padding:2rem;transition:opacity .6s,visibility .6s;pointer-events:none}
.x3d.ready .x3d-load{opacity:0;visibility:hidden}
.x3d-spin{width:54px;height:54px;border-radius:50%;border:2px solid rgba(214,178,112,.18);border-top-color:var(--gold);animation:x3dspin 1s linear infinite}
@keyframes x3dspin{to{transform:rotate(360deg)}}
.x3d-load p{margin:0;color:var(--muted)}.x3d-ft{display:none}
.x3d.fail .x3d-spin,.x3d.fail .x3d-lt{display:none}.x3d.fail .x3d-ft{display:block;max-width:26rem;color:var(--text)}
@media (max-width:700px){
  .x3d-spot{padding:0;border:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}.x3d-spot span{display:none}
  .x3d-bot{flex-direction:column;align-items:stretch;gap:.8rem}.x3d-hint{justify-content:center;font-size:.8rem}
  .x3d-acts{display:grid;grid-template-columns:auto 1fr}.x3d-acts .btn{justify-content:center}
  .x3d-cap{bottom:9.5rem}
  .x3d-top .muted{font-size:.8rem}
}
@media (prefers-reduced-motion:reduce){.x3d-btn::before,.x3d-hint svg,.x3d-spot b::after{animation:none}}

/* Team-Reihe: Navigation */
.rail-nav{display:flex;align-items:center;gap:.5rem}
.rail-btn{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--line2);background:rgba(255,255,255,.03);color:var(--text);cursor:pointer;transition:border-color .3s,background .3s,opacity .3s,transform .3s var(--ease)}
.rail-btn svg{width:18px;height:18px}.rail-prev svg{transform:rotate(180deg)}
.rail-btn:hover:not(:disabled){border-color:var(--gold);background:rgba(214,178,112,.1);transform:translateY(-1px)}
.rail-btn:disabled{opacity:.3;cursor:default}
.team-row{--fl:0px;--fr:0px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--fl),#000 calc(100% - var(--fr)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--fl),#000 calc(100% - var(--fr)),transparent 100%);scrollbar-width:none}
.team-row::-webkit-scrollbar{display:none}
.team-row.more-r{--fr:90px}.team-row.more-l{--fl:60px}
@media (max-width:640px){.rail-btn{display:none}.team-row.more-r{--fr:40px}.team-row.more-l{--fl:24px}}

/* FAQ: direkte Frage */
.faq-in>div:first-child{position:sticky;top:6.5rem}
.ask{display:grid;grid-template-columns:auto 1fr;gap:.9rem 1rem;align-items:center;margin-top:2rem;padding:1.2rem;border-radius:var(--r-lg);background:linear-gradient(150deg,rgba(214,178,112,.09),rgba(255,255,255,.02));border:1px solid rgba(214,178,112,.22)}
.ask .btn{grid-column:1/-1;justify-content:center}
.ask strong{display:block;font-size:1.02rem}.ask span{color:var(--muted);font-size:.88rem;line-height:1.5}
.ask-av{position:relative;width:56px;height:56px}
.ask-av img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid rgba(214,178,112,.55)}
@media (max-width:860px){.faq-in>div:first-child{position:static}}

/* ===== Verkaufen / Vermieten: /sell/ + Marktplatz stehen seit 15.10.2026 in market-public.css, market-sell.css, market-manage.css ===== */
/* --p bleibt hier global registriert (wie bisher): Qualitäts-Ring auf /sell/ (.st-ring), Finder-Prozent (.mt-pct), Nadia-Regler (nadia.js) – Verhalten unverändert */
@property --p{syntax:'<number>';inherits:false;initial-value:0}
a.soon-card{display:block;color:inherit;text-decoration:none}
.soon-copy .btns{display:flex;flex-wrap:wrap;gap:.7rem}

/* Kennzahlen: kurzer Glanz, wenn das Hochzählen fertig ist */
.stats strong.counted,.istats strong.counted{animation:numglow 1.2s var(--ease)}
@keyframes numglow{0%{text-shadow:0 0 0 rgba(243,220,170,0)}35%{text-shadow:0 0 22px rgba(243,220,170,.75)}100%{text-shadow:0 0 0 rgba(243,220,170,0)}}

/* Bereichs-Navigation rechts (nur große Bildschirme) */
.secnav{position:fixed;right:clamp(.8rem,1.6vw,1.6rem);top:50%;z-index:40;display:none;flex-direction:column;gap:.35rem;transform:translate(12px,-50%);opacity:0;pointer-events:none;transition:opacity .5s,transform .5s var(--ease)}
.secnav.is-on{opacity:1;transform:translate(0,-50%);pointer-events:auto}
.secnav a{position:relative;display:flex;justify-content:flex-end;align-items:center;width:24px;height:18px;text-decoration:none}
.secnav a::after{content:"";width:6px;height:6px;border-radius:99px;background:rgba(244,239,230,.3);transition:width .45s var(--ease),background .3s}
.secnav a:hover::after{background:var(--gold2)}
.secnav a.on::after{width:20px;background:linear-gradient(90deg,var(--gold-d),var(--gold2))}
.secnav span{position:absolute;right:calc(100% + .5rem);padding:.3rem .65rem;border-radius:99px;background:rgba(12,15,21,.92);border:1px solid rgba(214,178,112,.3);color:var(--gold2);font-size:.75rem;font-weight:700;white-space:nowrap;opacity:0;transform:translateX(6px);transition:opacity .25s,transform .25s;pointer-events:none}
.secnav a:hover span,.secnav a:focus-visible span,.secnav a.on.flash span{opacity:1;transform:none}
@media (min-width:1280px){.secnav{display:flex}}
.x3d-lock .secnav{display:none}

/* Teamfoto (alle zusammen) */
.tgroup{position:relative;margin:0 0 1.6rem;border-radius:calc(var(--r-lg) + 4px);overflow:hidden;aspect-ratio:16/9;border:1px solid var(--line);box-shadow:0 40px 80px -40px rgba(0,0,0,.9)}
.tgroup img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;transform:scale(1.04);transition:transform 1.6s var(--ease)}
.tgroup.in img{transform:scale(1)}
.tgroup::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(7,9,13,.7));pointer-events:none}
.tgroup figcaption{position:absolute;left:clamp(1rem,2.5vw,1.8rem);bottom:clamp(.9rem,2vw,1.5rem);z-index:1;display:flex;align-items:center;gap:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;color:var(--gold2)}
.tgroup figcaption .tai{margin-inline-start:.7em;font-size:max(12px,.8em);font-weight:500;opacity:.75;letter-spacing:.02em}
.page-top .tgroup{margin:2rem 0 2.6rem}.page-top .tgroup img{transform:none} /* Team-Seite: Gruppenfoto = LCP, ohne Einblend-Animation */
@media (max-width:640px){.tgroup{aspect-ratio:4/3}}

/* „Heute am Stand“ (Besuch-Bereich) */
.stand-live{display:grid;gap:.7rem;margin:.1rem 0 1.2rem}
.sl-status{display:inline-flex;align-items:center;gap:.55rem;width:max-content;max-width:100%;padding:.45rem .9rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);font-size:.86rem;line-height:1.3}
.sl-status i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--muted)}
.stand-live.is-open .sl-status{border-color:rgba(79,194,140,.35)}
.stand-live.is-open .sl-status i{background:#4fc28c;animation:slp 2s ease-out infinite}
@keyframes slp{0%{box-shadow:0 0 0 0 rgba(79,194,140,.55)}70%,100%{box-shadow:0 0 0 8px rgba(79,194,140,0)}}
.sl-now small{display:block;color:var(--muted);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:.45rem}
.sl-now ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.sl-now li{display:flex;align-items:center;gap:.5rem;padding:.22rem .8rem .22rem .22rem;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);font-size:.86rem;font-weight:600}
.sl-now li[hidden]{display:none}
.sl-now img{width:32px;height:32px;border-radius:50%;object-fit:cover}
@media (prefers-reduced-motion:reduce){.stand-live.is-open .sl-status i{animation:none}}

/* Projekt-Finder (#match): Finder v2 (19.10.2026) – Stil in css/finder.css, lädt mit js/finder.js erst beim Öffnen */

/* Projekt-Vergleich */
.card{position:relative;container-type:inline-size}
.cmp-btn{position:absolute;right:12px;top:12px;z-index:3;display:inline-flex;align-items:center;gap:6px;padding:.4rem .75rem;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(7,9,13,.62);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font:700 .76rem var(--sans,inherit);cursor:pointer;transition:background .2s,transform .15s}
.cmp-btn:active{transform:scale(.95)}
.cmp-btn i{font-style:normal}
.cmp-btn[aria-pressed=true]{background:var(--gold);color:#16120a;border-color:var(--gold)}
.cmp-bar{position:fixed;z-index:59;left:50%;transform:translateX(-50%);bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;border-radius:999px;background:rgba(13,17,23,.88);border:1px solid rgba(214,178,112,.45);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 18px 40px -12px rgba(0,0,0,.7);max-width:calc(100% - 24px)}
.cmp-bar[hidden]{display:none}
.cmp-bar{transition:opacity .25s,transform .4s var(--ease),visibility 0s}
.cmp-off .cmp-bar,.nav-open .cmp-bar{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,calc(100% + 28px));transition:opacity .25s,transform .4s var(--ease),visibility 0s .4s} /* nie über Menü, Buchung, Kontakt, Fußzeile (site.js cmp-off) */
.cmp-thumbs{display:flex;align-items:center;gap:4px;min-width:0}
.cmp-thumbs img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid var(--gold)}
.cmp-thumbs span{margin-left:6px;color:var(--muted);font-size:.78rem;white-space:nowrap}
.cmp-go:disabled{opacity:.45;pointer-events:none}
.cmp-x{width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.08);color:var(--text);cursor:pointer}
@media (max-width:860px){.cmp-bar{bottom:max(14px,env(safe-area-inset-bottom))}}
.cmp-dlg{width:min(980px,calc(100vw - 16px));max-height:calc(100dvh - 24px);padding:0;border:1px solid rgba(214,178,112,.35);border-radius:24px;background:#0b0d12;color:var(--text)}
.cmp-dlg::backdrop{background:rgba(3,5,10,.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.cmp-in{padding:clamp(14px,3vw,28px);display:grid;gap:14px}
.cmp-top{display:flex;align-items:center;gap:10px}.cmp-top h2{margin:0;font-size:clamp(1.2rem,3vw,1.6rem)}
.cmp-close{margin-left:auto;width:40px;height:40px;border-radius:12px;border:0;background:rgba(255,255,255,.08);color:var(--text);font-size:1.1rem;cursor:pointer}
.cmp-grid{display:grid;gap:2px}
.cmp-heads,.cmp-row{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:8px}
.cmp-h{display:grid;gap:6px;color:inherit;text-decoration:none}
.cmp-h img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px}
.cmp-h b{font-size:.92rem;line-height:1.25}
.cmp-row{padding:9px 0;border-top:1px solid rgba(255,255,255,.07)}
.cmp-l{grid-column:1/-1;font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:800}
.cmp-v{font-weight:700;font-size:.92rem;overflow-wrap:anywhere}
.cmp-v small{display:block;font-size:var(--fs-xs);color:var(--gold2);font-weight:700}
.cmp-v.best{color:var(--gold2)}
.cmp-note{margin:0;color:var(--muted);font-size:var(--fs-xs)}
.cmp-wa{justify-self:start}


/* Sprachauswahl (9 Sprachen) */
.langdd{position:relative}
.langdd summary{list-style:none;display:flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border:1px solid var(--line2);border-radius:999px;cursor:pointer;font-weight:700;font-size:.8rem;user-select:none}
.langdd summary::-webkit-details-marker{display:none}
.langdd summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.langdd[open] summary{border-color:var(--gold);color:var(--gold2)}
.langdd-l{position:absolute;inset-inline-end:0;top:calc(100% + 8px);min-width:210px;display:grid;padding:6px;border-radius:16px;background:rgba(13,17,23,.97);border:1px solid var(--line2);box-shadow:0 24px 50px -18px rgba(0,0,0,.8);z-index:80}
.langdd-l a{display:flex;gap:10px;align-items:center;padding:.55rem .75rem;border-radius:10px;font-size:.92rem;opacity:.85}
.langdd-l a:hover{opacity:1;background:rgba(255,255,255,.05)}
.langdd-l a b{min-width:26px;font-size:var(--fs-xs);color:var(--gold);letter-spacing:.06em}
.langdd-l a[aria-current]{background:rgba(214,178,112,.16);opacity:1}
/* Rechts-nach-links (FA, AR, HE) */
[dir=rtl] body{font-family:Manrope,'X Noto','X My',Tahoma,'Segoe UI','Noto Sans Arabic','Noto Sans Hebrew',system-ui,sans-serif}
[dir=rtl] .card-go svg,[dir=rtl] .btn svg:last-child:not(:first-child),[dir=rtl] .arrow{transform:scaleX(-1)}
[dir=rtl] .cmp-btn{right:auto;left:12px}
/* Vergleichen-Knopf unten im Bild – überdeckt so nie die Status-Etiketten (lange Texte AR/MY/FA) */
@supports (top:1cqw){.cmp-btn{top:calc(77.5cqw - 46px)}}
[dir=rtl] .intro span{padding-left:0;padding-right:.55em}
[dir=rtl] .kicker,[dir=rtl] .cmp-l,[dir=rtl] .lbl{letter-spacing:0}
:lang(my){line-height:1.8}
:lang(my) *{letter-spacing:0!important}
/* lange Knopftexte (MY/AR/TR …): Symbol über Text, eine Zeile */
.dock-s a{flex-direction:column;gap:2px;padding:.5rem .8rem;font-size:var(--fs-xs);line-height:1.2}.dock-s a span{white-space:nowrap}.dock-s .dock-wa{flex-direction:row;gap:.4rem;font-size:.85rem;padding:.75rem 1rem}

/* Persisch-Desk (nur /fa/): Kachel „Ihr persischsprachiger Berater“ (tools/nadia.mjs → homeCard) + Hinweis bei heiklen FAQ-Antworten */
.fadesk-sec{padding-top:clamp(3rem,7vw,5rem);padding-bottom:0}
.fadesk{position:relative;display:grid;grid-template-columns:auto 1fr;gap:clamp(1.1rem,4vw,3rem);align-items:center;padding:clamp(1.1rem,3.5vw,2.4rem);border-radius:var(--r-lg);border:1px solid rgba(214,178,112,.3);background:radial-gradient(700px 300px at 100% 0%,rgba(214,178,112,.14),transparent 65%),var(--bg2);overflow:hidden}
.fadesk-img{display:block;width:clamp(96px,24vw,260px);aspect-ratio:4/5;border-radius:999px 999px 20px 20px;overflow:hidden;box-shadow:0 0 0 1px rgba(214,178,112,.35),0 24px 50px -20px rgba(0,0,0,.8)}
.fadesk-img img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.fadesk .h2{font-size:clamp(1.45rem,3.6vw,2.6rem);line-height:1.35}
.fadesk .h2 em{font-family:inherit;font-style:normal;color:var(--gold2);display:inline-block}
.fadesk .muted{margin:0 0 1rem;line-height:1.9;max-width:38rem}
.fadesk-l{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.2rem}
.fadesk-l span{font-size:.8rem;font-weight:700;padding:.25rem .7rem;border-radius:999px;border:1px solid var(--line2)}
@media (max-width:640px){.fadesk{grid-template-columns:1fr;text-align:center}.fadesk-img{margin:0 auto;width:150px}.fadesk-l,.fadesk .btns{justify-content:center}.fadesk .muted{margin-inline:auto}}
.qa-c{margin:-.6rem 0 1.4rem;font-size:.8rem;color:#e5c88f}
[dir=rtl] a[href^="tel:"]{direction:ltr;unicode-bidi:isolate} /* Telefonnummern in RTL nicht verdrehen (+49 … statt … 49+) */
/* Währungs-Menü in der Kopfleiste (immer sichtbar, auch auf dem Handy) */
.curdd{position:relative;flex:none}
.curdd summary{list-style:none;display:flex;align-items:center;gap:.4rem;height:38px;padding:0 .8rem 0 .45rem;border:1px solid rgba(214,178,112,.32);border-radius:999px;background:rgba(214,178,112,.07);cursor:pointer;font-weight:800;font-size:.8rem;user-select:none;white-space:nowrap;transition:border-color .25s,background .25s}
.curdd summary::-webkit-details-marker{display:none}
.curdd summary i{display:grid;place-items:center;min-width:26px;height:26px;padding:0 4px;border-radius:999px;background:var(--gold);color:#16120a;font-style:normal;font-size:.8rem;line-height:1}
.curdd summary b{letter-spacing:.04em}
.curdd summary:hover,.curdd[open] summary{border-color:var(--gold);background:rgba(214,178,112,.14)}
.curdd-l{position:absolute;inset-inline-end:0;top:calc(100% + 8px);width:min(300px,calc(100vw - 32px));display:grid;gap:2px;padding:8px;border-radius:18px;background:rgba(13,17,23,.98);border:1px solid var(--line2);box-shadow:0 24px 50px -18px rgba(0,0,0,.8);z-index:90}
.curdd-h{margin:2px 8px 6px;font-size:var(--fs-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
[dir=rtl] .curdd-h{letter-spacing:0}
.curdd-l button{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:.4rem .6rem;border:0;border-radius:12px;background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}
.curdd-l button:hover{background:rgba(255,255,255,.05)}
.curdd-l button[aria-pressed=true]{background:rgba(214,178,112,.16)}
.curdd-l button i{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--line2);font-style:normal;font-weight:800;font-size:.85rem;color:var(--gold2)}
.curdd-l button[aria-pressed=true] i{background:var(--gold);border-color:var(--gold);color:#16120a}
.curdd-l button span{display:grid;line-height:1.25}
.curdd-l button b{font-size:.85rem;letter-spacing:.04em}
.curdd-l button small{font-size:.76rem;opacity:.65}
.curdd-r{display:block;margin:6px 8px 2px;padding-top:8px;border-top:1px solid var(--line);font-size:var(--fs-xs);line-height:1.45;opacity:.7}
@media (max-width:860px){.curdd summary{height:40px}}
@media (max-width:380px){.curdd summary b{display:none}.curdd summary{padding:0 .4rem}}
@media (max-width:860px){.curdd-l{position:fixed;top:70px;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));width:auto;max-height:calc(100vh - 86px);max-height:calc(100dvh - 70px - max(16px,env(safe-area-inset-bottom)));overflow:auto;overscroll-behavior:contain}}
/* Sprach-Menü im Kopf (Handy/Tablet ≤ 1100 px, neben der Währung) – gleiche Optik wie .curdd; Desktop nutzt weiter .langdd in der Navigation (unverändert).
   Aufbau langMenu() in build.mjs, Logik site.js (schließen: außen tippen, Esc, Auswahl), die Wahl merkt i.js (a[hreflang] → Cookie xl). */
.lsw{position:relative;flex:none;display:none}
.lsw summary{list-style:none;display:flex;align-items:center;gap:.35rem;height:38px;padding:0 .75rem 0 .6rem;border:1px solid rgba(214,178,112,.32);border-radius:999px;background:rgba(214,178,112,.07);cursor:pointer;font-weight:800;font-size:.8rem;user-select:none;-webkit-user-select:none;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:border-color .25s,background .25s}
.lsw summary::-webkit-details-marker{display:none}
.lsw summary svg{width:18px;height:18px;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lsw summary b{letter-spacing:.04em}
.lsw summary:hover,.lsw[open] summary{border-color:var(--gold);background:rgba(214,178,112,.14)}
.lsw-l{position:absolute;inset-inline-end:0;top:calc(100% + 8px);width:min(340px,calc(100vw - 32px));padding:8px;border-radius:18px;background:rgba(13,17,23,.98);border:1px solid var(--line2);box-shadow:0 24px 50px -18px rgba(0,0,0,.8);z-index:90}
.lsw-h{margin:2px 8px 6px;font-size:var(--fs-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
[dir=rtl] .lsw-h{letter-spacing:0}
.lsw-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}
.lsw-g a{display:flex;align-items:center;gap:10px;min-height:48px;padding:.4rem .55rem;border-radius:12px;font-size:.92rem;font-weight:600;line-height:1.3}
.lsw-g a:hover{background:rgba(255,255,255,.05)}
.lsw-g a[aria-current]{background:rgba(214,178,112,.16)}
.lsw-g i{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--line2);font:800 var(--fs-xs)/1 var(--ff);letter-spacing:.04em;color:var(--gold2)}
.lsw-g a[aria-current] i{background:var(--gold);border-color:var(--gold);color:#16120a}
.lsw-g span{min-width:0;overflow-wrap:anywhere}
.nav-3d{display:none}
@media (max-width:1100px){
  .lsw{display:block}
  /* Kopf: [Logo] … [Sprache][Währung] [WhatsApp] [3D] [Menü] – logische Abstände (RTL gespiegelt), Knöpfe schrumpfen nie */
  .hdr-in{gap:.5rem}
  .hdr-in>.lsw{margin-inline-start:auto}
  .hdr-in>.curdd{margin:0}
  .hdr-in>.hdr-cta,.hdr-in>.x3d-btn,.hdr-in>.burger{flex:none;margin:0;margin-inline-start:.5rem}
}
@media (max-width:860px){
  .lsw summary{height:40px}
  .hdr-in>.x3d-btn,.hdr-in>.burger{margin-inline-start:0}
  .lsw-l{position:fixed;top:80px;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));width:auto;max-height:calc(100vh - 96px);max-height:calc(100dvh - 80px - max(16px,env(safe-area-inset-bottom)));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .hdr .curdd-l{top:80px;max-height:calc(100vh - 96px);max-height:calc(100dvh - 80px - max(16px,env(safe-area-inset-bottom)))}
}
@media (min-width:560px) and (max-width:860px){.lsw-g{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){
  .nav-in{top:64px}
  .lsw-l,.hdr .curdd-l{top:70px;max-height:calc(100vh - 86px);max-height:calc(100dvh - 70px - max(16px,env(safe-area-inset-bottom)))}
}
/* Kleine Handys: 3D-Stand wandert ins Menü, Währung nur mit Zeichen, Schriftzug enger bzw. (< 360 px) nur Logo – Kopf passt ab 320 px ohne Überlauf */
@media (max-width:480px){
  .hdr-in{gap:.4rem}
  .hdr-in>.x3d-btn{display:none}
  .lsw summary{padding:0 .65rem 0 .5rem}
  .nav-3d{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .95rem;border:1px solid rgba(214,178,112,.35);border-radius:99px;background:rgba(214,178,112,.08);color:var(--gold2);font:inherit;font-size:.92rem;font-weight:700;cursor:pointer}
  .nav-3d svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
}
@media (max-width:420px){.hdr .curdd summary b{display:none}.hdr .curdd summary{padding:0 .4rem}}
@media (max-width:370px){.hdr .brand{gap:.5rem}.hdr .brand span{letter-spacing:.1em}}
@media (max-width:359px){.hdr .brand span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}}
@media (max-width:640px){.ut-grid{grid-template-columns:1fr 1fr;gap:.6rem}.ut-b{padding:.7rem .75rem .85rem;gap:.35rem}.ut-b h3{font-size:.95rem}.ut-note{font-size:.76rem}.ut dl{grid-template-columns:1fr;gap:.1rem}.ut dd{font-size:.95rem;text-align:start;margin-bottom:.35rem}.ut-x{font-size:var(--fs-xs)}.ut-plan img{padding:.3rem}#types .sec-head .btn{width:100%;justify-content:center}}
@media (max-width:640px){.pd{grid-template-columns:1fr 1fr;gap:.45rem}.pd div{padding:.7rem .8rem}.pd dd{font-size:.88rem}}

/* Pattaya Condo Report 2026 – Hinweis Startseite (.rpt) + Seite /report/ (.rp-*) */
.rpt{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.2rem,3.4vw,2.6rem);align-items:center;padding:clamp(1.2rem,3vw,2.2rem) clamp(1.2rem,4vw,3rem);border-radius:var(--r-lg);background:linear-gradient(150deg,#12161d,#0b0e13);border:1px solid rgba(214,178,112,.28);color:inherit;text-decoration:none;position:relative;overflow:hidden;transition:transform .5s var(--ease),border-color .3s}
.rpt::after{content:"";position:absolute;inset:auto -10% -50% 35%;height:90%;background:radial-gradient(closest-side,rgba(214,178,112,.13),transparent);pointer-events:none}
.rpt:hover{transform:translateY(-3px);border-color:rgba(214,178,112,.6)}
.rpt-img{width:clamp(92px,15vw,150px);aspect-ratio:210/297;border-radius:8px;overflow:hidden;box-shadow:0 18px 40px -12px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.08);transform:rotate(-4deg);transition:transform .6s var(--ease)}
.rpt:hover .rpt-img{transform:rotate(-1deg) scale(1.03)}
.rpt-img img{width:100%;height:100%;object-fit:cover;display:block}
.rpt-txt{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;position:relative;z-index:1}.rpt-txt .kicker{margin:0}
.rpt-txt strong,.rp-h1{letter-spacing:-.02em}.rpt-txt strong{font-size:clamp(1.3rem,2.8vw,2rem);line-height:1.15}
.rpt-txt em,.rp-h1 em{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--gold2)}
.rpt-txt .btn{margin-top:.45rem}
.rp-hero .rp-in{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(1.5rem,5vw,4rem);align-items:start}
/* CTA: Download-Knopf (Postfach aus) bzw. Formular (Postfach an, lead.js) → PDF-Kasten; Abstände per gap (versteckte Teile nehmen keinen Platz) */
.rp-cta{margin-top:1.6rem;display:flex;flex-direction:column;gap:.85rem}.rp-cta>.btn{align-self:flex-start}.rp-cta .small{margin:0}
.rp-dl[hidden]{display:none!important}
.rp-done{padding:1.1rem 1.25rem;border-radius:var(--r);background:rgba(214,178,112,.08);border:1px solid rgba(214,178,112,.38);animation:rpIn .5s var(--ease)}
.rp-done p{margin:0 0 .8rem}.rp-langs{font-size:.85rem;color:var(--muted);margin:.95rem 0 0!important;line-height:1.9}.rp-langs a{color:var(--gold2);text-decoration:none;white-space:nowrap}
@keyframes rpIn{from{opacity:0;transform:translateY(8px)}}
.rp-pages{position:relative;height:clamp(300px,40vw,540px);width:100%;max-width:560px;justify-self:center}
@media (min-width:901px){.rp-pages{position:sticky;top:110px;margin-top:clamp(0px,2.5vw,36px)}} /* Desktop: Seiten bleiben neben dem Formular stehen (oben ausgerichtet → kein Sprung, wenn es erscheint) */
.rp-pages img{position:absolute;width:56%;height:auto;aspect-ratio:210/297;object-fit:cover;border-radius:10px;box-shadow:0 30px 60px -20px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.08)}
.rp-pages img:nth-child(1){left:22%;top:0;z-index:3;transform:rotate(-2deg)}
.rp-pages img:nth-child(2){left:7%;top:8%;z-index:2;transform:rotate(-7deg);filter:brightness(.78)}
.rp-pages img:nth-child(3){left:37%;top:8%;z-index:1;transform:rotate(6deg);filter:brightness(.78)}
.rp-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;counter-reset:r}
.rp-list li{counter-increment:r;padding:1rem 1.1rem;border-radius:var(--r);background:var(--bg2);border:1px solid var(--line);font-weight:600;line-height:1.35}
.rp-list li::before{content:counter(r,decimal-leading-zero);display:block;color:var(--gold);font-size:.8rem;font-weight:800;letter-spacing:.1em;margin-bottom:.35rem}
.rp-disc{margin-top:1.4rem}
@media (max-width:900px){.rp-hero .rp-in{grid-template-columns:1fr}.rp-pages{order:-1;height:min(80vw,440px);max-width:420px}.rp-list{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.rpt{grid-template-columns:auto 1fr;gap:1rem;padding:1.1rem}.rpt-img{width:84px}.rpt-txt .muted{font-size:.9rem}}
/* Startseite #report: blaues LED-Leuchten hinter/um den Rahmen (17.10., Wunsch Danial). Glow = feste Schatten-Ebene, animiert wird nur opacity (Compositor);
   Lichtlauf = 1-px-Ring (conic-gradient, --ca wie .soon-ring). Weniger Bewegung: ruhiges, festes Leuchten. */
#report{position:relative;z-index:1} /* Leuchten darf in den nächsten Bereich hineinstrahlen (sonst harte Kante) */
.rpt-led{position:relative;isolation:isolate;border-radius:var(--r-lg)}
.rpt-led::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;box-shadow:0 0 0 1px rgba(120,190,255,.55),0 0 16px 2px rgba(70,160,255,.7),0 0 46px 8px rgba(45,125,255,.42),0 0 110px 20px rgba(40,105,255,.24),0 30px 120px -10px rgba(40,110,255,.35);opacity:.55;animation:rptled 2.6s ease-in-out infinite alternate;pointer-events:none}
/* LED-Lichtlauf: 2 helle „Kometen“ laufen um den Rahmen (conic, --ca), dazu zweite, breitere Spur in Cyan → wirkt wie ein LED-Band */
.rpt-led::after{content:"";position:absolute;inset:-1px;z-index:2;border-radius:calc(var(--r-lg) + 1px);padding:2px;background:conic-gradient(from var(--ca),transparent 0 4%,rgba(110,170,255,.25) 9%,rgba(185,225,255,1) 14%,rgba(110,190,255,.6) 17%,transparent 26% 54%,rgba(90,220,255,.25) 59%,rgba(190,240,255,.95) 64%,rgba(90,200,255,.5) 67%,transparent 76%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:soonspin 5.5s linear infinite;pointer-events:none}
.rpt-led .rpt{border-color:rgba(120,175,255,.38);background:radial-gradient(90% 120% at 0% 100%,rgba(60,130,255,.16),transparent 60%),radial-gradient(60% 90% at 100% 0%,rgba(70,200,255,.08),transparent 60%),linear-gradient(150deg,#121823,#0b0e15)}
.rpt-led .rpt::after{background:radial-gradient(closest-side,rgba(80,150,255,.16),transparent)}
/* Lichtstreif über die Karte (alle 6 s, nur transform) */
.rpt-led .rpt::before{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:30%;background:linear-gradient(100deg,transparent,rgba(150,205,255,.07) 40%,rgba(210,235,255,.16) 50%,rgba(150,205,255,.07) 60%,transparent);transform:translateX(-150%) skewX(-14deg);animation:rptsweep 6s ease-in-out 1s infinite;pointer-events:none}
.rpt-led .rpt-img{box-shadow:0 18px 40px -12px rgba(0,0,0,.75),0 0 0 1px rgba(150,200,255,.25),0 0 26px -4px rgba(80,160,255,.55)}
.rpt-led:hover::before{opacity:1;animation-play-state:paused}.rpt-led .rpt:hover{transform:none;border-color:rgba(150,200,255,.6)}
@keyframes rptled{from{opacity:.45}to{opacity:1}}
@keyframes rptsweep{0%,55%{transform:translateX(-150%) skewX(-14deg)}100%{transform:translateX(430%) skewX(-14deg)}}
@media (prefers-reduced-motion:reduce){.rpt-led::before{animation:none;opacity:.85}.rpt-led::after{animation:none}.rpt-led .rpt::before{display:none}}
@media (max-width:560px){.rp-hero.page-top{padding-top:92px}.rp-pages{height:min(70vw,380px)}.rp-pages img{width:50%}.rp-pages img:nth-child(1){left:25%}.rp-pages img:nth-child(2){left:9%;top:6%}.rp-pages img:nth-child(3){left:41%;top:6%}.rp-hero .rp-in{gap:1.1rem}}
/* Report-Seite: Zähler (Platz reserviert, kein Layout-Sprung) + „Drucker“ beim Aufdecken des PDF-Links (feste Ebene, site.js printFx) */
.rp-cta .rp-cnt{min-height:1.45em;margin:-.4rem 0 0;font-size:.85rem;font-weight:700;color:var(--gold2);display:flex;align-items:center;gap:.5rem;opacity:0;transition:opacity .6s var(--ease)}
.rp-cnt.on{opacity:1}.rp-cnt.on::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(214,178,112,.6);animation:rpDot 2.4s infinite;flex:none}
@keyframes rpDot{0%{box-shadow:0 0 0 0 rgba(214,178,112,.55)}70%,100%{box-shadow:0 0 0 9px rgba(214,178,112,0)}}
.rp-done.rp-pop{animation:rpPop 1.1s var(--ease)}
/* Report-Formular abgeschickt: Kasten wartet aufs Speichern („Wird gesendet …“), PDF-Links gesperrt, gleiche Höhe wie danach (kein Sprung) */
.rp-done.rp-wait strong{animation:rpWait 1s ease-in-out infinite alternate}
@keyframes rpWait{to{opacity:.45}}
.rp-done.rp-wait a,.rp-done.rp-wait .rp-np{pointer-events:none}
.rp-done.rp-wait .btn{opacity:.45;filter:saturate(.3);box-shadow:none}
.rp-done.rp-wait .rp-langs,.rp-done.rp-wait .rp-np{visibility:hidden}
@keyframes rpPop{0%{box-shadow:0 0 0 0 rgba(214,178,112,.55)}35%{box-shadow:0 0 0 6px rgba(214,178,112,.22),0 0 46px -6px rgba(214,178,112,.55)}100%{box-shadow:0 0 0 0 rgba(214,178,112,0)}}
.rpx{--w:min(290px,64vw);position:fixed;inset:0;z-index:59;pointer-events:none;display:grid;place-items:center;background:radial-gradient(70% 60% at 50% 48%,rgba(7,9,13,.78),rgba(7,9,13,.5) 70%,rgba(7,9,13,.35));-webkit-backdrop-filter:blur(7px) saturate(1.1);backdrop-filter:blur(7px) saturate(1.1);direction:ltr}
.rpx::before{content:"";position:absolute;left:50%;top:46%;width:calc(var(--w) * 1.9);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(214,178,112,.2),rgba(214,178,112,0));pointer-events:none}
.rpx-in{position:relative;width:var(--w);height:calc(var(--w) * .52 + var(--w) * .6 * 1.414 + 64px);transform:translateY(-4%)}
.rpx-pr{position:absolute;inset:0 0 auto;height:calc(var(--w) * .52);z-index:2}
.rpx-tray{position:absolute;left:22%;right:22%;top:2%;height:34%;border-radius:4px 4px 0 0;background:linear-gradient(#fbf8f2,#e7dfd0);box-shadow:inset 0 -10px 14px -8px rgba(0,0,0,.35)}
.rpx-tray i{position:absolute;left:-12%;right:-12%;top:28%;bottom:-6%;border-radius:10px 10px 4px 4px;background:linear-gradient(rgba(255,255,255,.2),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.rpx-body{position:absolute;inset:24% 0 0;border-radius:22px;background:linear-gradient(160deg,rgba(58,64,76,.82),rgba(20,24,31,.9) 48%,rgba(12,15,20,.94) 80%,rgba(60,48,26,.85));border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);box-shadow:0 34px 60px -22px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.3),inset 0 -16px 26px -16px rgba(214,178,112,.32)}
.rpx-body::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(243,220,170,.85),rgba(214,178,112,0) 38%,rgba(214,178,112,0) 62%,rgba(214,178,112,.6));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.rpx-body::after{content:"";position:absolute;left:9%;right:9%;top:5px;height:34%;border-radius:18px 18px 40% 40%;background:linear-gradient(rgba(255,255,255,.2),rgba(255,255,255,0));pointer-events:none}
.rpx-scr{position:absolute;left:9%;top:20%;width:34%;height:24%;border-radius:6px;background:linear-gradient(#0a0e14,#121821);border:1px solid rgba(214,178,112,.35);display:flex;flex-direction:column;justify-content:center;gap:4px;padding:0 9%;box-shadow:inset 0 0 12px rgba(214,178,112,.15)}
.rpx-scr b{font-size:9px;letter-spacing:.2em;color:var(--gold2);font-weight:800;line-height:1}.rpx-scr i{display:block;height:3px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}
.rpx-scr em{display:block;height:100%;background:linear-gradient(90deg,var(--gold-d),var(--gold2));transform-origin:left;transform:scaleX(0)}
.rpx-led{position:absolute;right:10%;top:27%;width:8px;height:8px;border-radius:50%;background:#7ee2a0;box-shadow:0 0 10px 2px rgba(126,226,160,.75)}
.rpx-slot{position:absolute;left:17%;right:17%;bottom:16%;height:9px;border-radius:6px;background:#020305;box-shadow:inset 0 2px 5px rgba(0,0,0,.95),0 1px 0 rgba(255,255,255,.14);overflow:hidden}
.rpx-slot i{position:absolute;inset:2px 0;width:40%;margin:0 auto;border-radius:4px;background:linear-gradient(90deg,transparent,var(--gold2),transparent);opacity:0;filter:blur(.5px)}
.rpx-out{position:absolute;left:20%;right:20%;top:calc(var(--w) * .52 * (1 - .16 * .76) - 4px);z-index:3;clip-path:inset(0 -60% -400% -60%)}
.rpx-feed{transform:translateY(-100%)}
.rpx-paper{position:relative;aspect-ratio:210/297;border-radius:4px;overflow:hidden;background:#fff;box-shadow:0 22px 40px -16px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.12)}
.rpx-paper img{width:100%;height:100%;object-fit:cover;display:block}
.rpx-paper i{position:absolute;inset:-10% -40%;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.55) 50%,transparent 62%);transform:translateX(-130%);mix-blend-mode:screen}
.rpx-sh{position:absolute;left:-6%;right:-6%;bottom:-6px;height:26px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.6),transparent);opacity:0}
@media (prefers-reduced-motion:reduce){.rpx{display:none}.rp-cnt.on::before,.rp-done.rp-pop,.rp-done.rp-wait strong{animation:none}}
/* Report-Hinweis als Slide-in (Startseite + Projektseiten, site.js #rps): Handy ganz unten (die Kontaktleiste weicht solange, body.rps-on), Desktop unten links (RTL: rechts) */
.rps{position:fixed;z-index:58;inset-inline-start:max(20px,env(safe-area-inset-left));bottom:max(22px,env(safe-area-inset-bottom));width:min(360px,calc(100vw - 32px));opacity:0;visibility:hidden;transform:translateY(18px) scale(.98);transition:opacity .35s var(--ease),transform .55s var(--ease),visibility 0s .55s}
.rps.on{opacity:1;visibility:visible;transform:none;transition:opacity .35s var(--ease),transform .55s var(--ease),visibility 0s}
.rps[hidden]{display:none}
.rps-a{display:grid;grid-template-columns:62px 1fr;gap:.85rem;align-items:center;padding:.8rem 2.6rem .8rem .8rem;border-radius:20px;color:inherit;text-decoration:none;background:linear-gradient(150deg,rgba(24,29,37,.9),rgba(10,13,18,.92));border:1px solid rgba(214,178,112,.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 24px 50px -18px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.08);transition:border-color .3s,transform .3s var(--ease)}
[dir=rtl] .rps-a{padding:.8rem .8rem .8rem 2.6rem}
.rps-a:hover{border-color:rgba(214,178,112,.75);transform:translateY(-2px)}
.rps-img{width:62px;aspect-ratio:210/297;border-radius:6px;overflow:hidden;transform:rotate(-4deg);box-shadow:0 10px 22px -8px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.1)}.rps-img img{width:100%;height:100%;object-fit:cover;display:block}
.rps-t{display:flex;flex-direction:column;gap:.18rem;min-width:0}.rps-k{font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:800}
.rps-t strong{font-size:1.02rem;line-height:1.2;letter-spacing:-.01em}.rps-t strong em{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--gold2)}
.rps-d{font-size:.8rem;line-height:1.35;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rps-go{display:inline-flex;align-items:center;gap:.35rem;margin-top:.25rem;font-weight:800;font-size:.82rem;color:var(--gold2)}.rps-go svg{width:15px;height:15px}[dir=rtl] .rps-go svg{transform:scaleX(-1)}
.rps-x{position:absolute;top:8px;inset-inline-end:8px;width:30px;height:30px;border-radius:50%;border:1px solid var(--line2);background:rgba(255,255,255,.05);color:var(--muted);display:grid;place-items:center;cursor:pointer;padding:0}
.rps-x:hover{color:var(--text);border-color:var(--gold)}.rps-x svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
html:lang(th) .rps-k,html:lang(my) .rps-k,html:lang(ar) .rps-k,html:lang(fa) .rps-k,html:lang(he) .rps-k{letter-spacing:normal}
@media (max-width:860px){.rps{inset-inline-start:16px;inset-inline-end:16px;width:auto;max-width:440px;margin-inline:auto;bottom:max(14px,env(safe-area-inset-bottom))}.rps-a{grid-template-columns:48px 1fr;gap:.7rem;padding:.65rem 2.5rem .65rem .65rem;border-radius:18px}[dir=rtl] .rps-a{padding:.65rem .65rem .65rem 2.5rem}.rps-img{width:48px}.rps-t strong{font-size:.95rem}.rps-d{-webkit-line-clamp:1}}
@media (prefers-reduced-motion:reduce){.rps,.rps.on{transform:none;transition:opacity .2s,visibility 0s}}
/* R3FIX (18.10.): Handy = kleiner Chip im Fluss am Seitenende (site.js .rps-in) statt schwebender Karte – verdeckt nichts */
.rps.rps-in{position:relative;inset:auto;z-index:auto;box-sizing:border-box;width:calc(100% - 32px);max-width:440px;margin:0 auto 1.4rem;opacity:1;visibility:visible;transform:none;transition:none}
.rps.rps-in .rps-a{grid-template-columns:40px 1fr;gap:.65rem;padding:.55rem 3rem .55rem .6rem;border-radius:16px;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
[dir=rtl] .rps.rps-in .rps-a{padding:.55rem .6rem .55rem 3rem}
.rps.rps-in .rps-img{width:40px}.rps.rps-in .rps-d{display:none}.rps.rps-in .rps-go{margin-top:.1rem}
.rps.rps-in .rps-x{top:50%;margin-top:-22px;inset-inline-end:2px;width:44px;height:44px;border:0;background:none}
@media print{.rps,.rpx{display:none!important}}
/* Projektseite: Preis-Updates per WhatsApp (Quelle ALERT) · Google-Bewertung (Besuch-Bereich + Fußzeile, → /review) */
.ut-acts{gap:.6rem}.ut-alert svg{width:18px;height:18px}
@media (max-width:640px){.ut-acts{display:grid;width:100%}.ut-acts .btn{justify-content:center}}
.rate-g{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.1rem;font-size:.88rem;font-weight:700;color:var(--muted);text-decoration:none;transition:color .25s}
.rate-g span{color:var(--gold);letter-spacing:.08em;font-size:.82rem}.rate-g:hover{color:var(--gold2)}
.ftr-rate{color:var(--gold2)}

/* Zusatz-Links im Handy-Menü (Gratis-Report, Ratgeber, Weiterempfehlen) – im Desktop-Kopf ausgeblendet (passen bei RU/DE bis 1440 px nicht) */
.nav-x{display:none}
@media (max-width:1100px){.nav-x{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:22rem;padding:0 1rem}.nav-x a{padding:.5rem .95rem;border:1px solid rgba(214,178,112,.35);border-radius:99px;background:rgba(214,178,112,.08);color:var(--gold2);font-size:.92rem;font-weight:700;opacity:1}.nav-x a[aria-current]{background:rgba(214,178,112,.2)}}

/* Kunde wirbt Kunde (/refer/) */
.rf-in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.rf-h1{max-width:14ch}
.rf-steps{list-style:none;margin:0 0 1.8rem;padding:0;display:grid;gap:1rem}
.rf-steps li{display:flex;gap:1rem;align-items:flex-start}
.rf-steps b{flex:none;font:600 1.4rem/1 var(--serif);color:var(--gold);min-width:2.2rem}
.rf-steps strong{display:block;margin-bottom:.15rem}.rf-steps span{color:var(--muted);font-size:.92rem}
.rf-gift{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 1.2rem;border-radius:var(--r);border:1px solid rgba(214,178,112,.3);background:linear-gradient(150deg,rgba(214,178,112,.1),rgba(214,178,112,.02))}
.rf-gi{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(214,178,112,.15);color:var(--gold2)}.rf-gi svg{width:22px;height:22px}
.rf-gift strong{display:block}.rf-gift p{margin:.2rem 0 .45rem;color:#d9d4cb}.rf-gift small{display:block;color:var(--muted);font-size:.78rem}
.rf-card{position:relative;overflow:hidden;padding:clamp(1.3rem,3vw,2.2rem);border-radius:var(--r-lg);background:linear-gradient(160deg,#141922,#0b0e13);border:1px solid var(--line2);box-shadow:0 30px 80px -40px rgba(0,0,0,.8)}
.rf-card>*{position:relative}.rf-card>.rf-glow{position:absolute;top:-35%;inset-inline-end:-20%;width:75%;aspect-ratio:1;background:radial-gradient(closest-side,rgba(214,178,112,.17),transparent);pointer-events:none}
.rf-form label{display:block;font-weight:700;margin-bottom:.55rem}
.rf-row{display:flex;gap:.6rem}
.rf-row input{flex:1;min-width:0;padding:.85rem 1.15rem;border-radius:999px;border:1px solid var(--line2);background:rgba(255,255,255,.04);font-size:1.05rem;outline:none;transition:border-color .2s,box-shadow .2s}
.rf-row input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(214,178,112,.18)}
.rf-row input[aria-invalid]{border-color:#e07a6a}
.rf-h{margin:.55rem 0 0;font-size:.82rem;color:var(--muted)}.rf-h.err{color:#f2a493;font-weight:600}
.rf-out{margin-top:1.4rem;padding-top:1.4rem;border-top:1px dashed var(--line2)}
.rf-ticket{position:relative;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem 1.4rem;border-radius:16px;background:linear-gradient(135deg,var(--gold2),var(--gold) 55%,var(--gold-d));color:#16120a;text-align:center;box-shadow:0 18px 40px -18px rgba(214,178,112,.6)}
.rf-ticket::before,.rf-ticket::after{content:"";position:absolute;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:#10141b}.rf-ticket::before{left:-9px}.rf-ticket::after{right:-9px}
.rf-ticket small{font-size:var(--fs-xs);letter-spacing:.2em;text-transform:uppercase;font-weight:800;opacity:.72}
.rf-code{font:800 clamp(1.45rem,4.4vw,2rem)/1.15 var(--ff);letter-spacing:.05em;direction:ltr;unicode-bidi:isolate;overflow-wrap:anywhere}
.rf-l{margin:1.1rem 0 .4rem;font-size:.8rem;font-weight:700;color:var(--muted)}
.rf-link{padding:.7rem .9rem;border-radius:12px;background:rgba(0,0,0,.35);border:1px solid var(--line);overflow-wrap:anywhere;text-align:left}.rf-link code{font:600 .88rem/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--gold2)}
.rf-acts{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.rf-acts .btn{flex:1 1 auto;justify-content:center}
.rf-acts .btn.ok{border-color:var(--ready);color:var(--ready)}
.rf-tell{margin-top:1.2rem;padding:1rem 1.1rem;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--line)}.rf-tell p{margin:0 0 .7rem;font-size:.88rem;color:#d4cfc6}
.rf-priv{display:flex;gap:.55rem;align-items:flex-start;margin:1.3rem 0 0;font-size:.8rem;color:var(--muted)}.rf-priv svg{margin-top:.15rem;color:var(--gold)}
.rf-out.pop .rf-ticket{animation:rfStamp .7s var(--ease) both}
.rf-out.pop .rf-link,.rf-out.pop .rf-acts,.rf-out.pop .rf-tell,.rf-out.pop .rf-l{animation:rfUp .6s var(--ease) both}.rf-out.pop .rf-acts{animation-delay:.12s}.rf-out.pop .rf-tell{animation-delay:.22s}
@keyframes rfStamp{0%{transform:scale(.6) rotate(-6deg);opacity:0}60%{transform:scale(1.06) rotate(1.5deg);opacity:1}100%{transform:none;opacity:1}}
@keyframes rfUp{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.rf-out.pop *{animation:none!important}}
@media (max-width:900px){.rf-in{grid-template-columns:1fr}}
@media (max-width:520px){.rf-row{flex-direction:column}.rf-row .btn{justify-content:center}}

/* Ratgeber /guide/ (SEO-Seite aus den Report-Texten) */
.gd-bc{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.82rem;color:var(--muted);margin-bottom:1.6rem}.gd-bc a{display:inline-flex;align-items:center;min-height:24px;min-width:24px;padding-block:.5rem}.gd-bc a:hover{color:var(--gold2)}
.gd-hin{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(1.5rem,5vw,4rem);align-items:center}
.gd-h1{max-width:22ch}
.gd-meta{font-size:.85rem;color:var(--muted);margin:-1rem 0 1.6rem}
.gd-cover{display:block;width:clamp(150px,19vw,230px);aspect-ratio:210/297;border-radius:10px;overflow:hidden;transform:rotate(3deg);box-shadow:0 30px 60px -20px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.08);transition:transform .6s var(--ease)}
.gd-cover:hover{transform:rotate(0) translateY(-4px)}.gd-cover img{width:100%;height:100%;object-fit:cover}
.gd-body{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(2rem,4vw,4rem);padding-bottom:4rem}
.gd-toc{position:sticky;top:96px;align-self:start}
.gd-toc-h{font-size:var(--fs-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700;margin:0 0 .8rem}
.gd-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:.15rem;counter-reset:t}
.gd-toc li{counter-increment:t}.gd-toc a{display:flex;gap:.6rem;padding:.42rem .6rem;border-radius:10px;font-size:.88rem;color:#cfc9bf;line-height:1.35;transition:background .2s,color .2s}
.gd-toc a::before{content:counter(t,decimal-leading-zero);color:var(--gold);font-weight:700;font-size:.76rem;padding-top:.12rem}
.gd-toc a:hover{background:rgba(255,255,255,.04);color:var(--gold2)}
.gd-main{min-width:0;max-width:820px}
.gd-sec{padding:2.4rem 0;border-top:1px solid var(--line);scroll-margin-top:90px}.gd-sec:first-child{border-top:0;padding-top:0}
.gd-sec>p{color:#d4cfc6}
.gd-steps{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.gd-steps li{display:flex;gap:1rem;padding:1.1rem 1.2rem;border-radius:var(--r);background:var(--bg2);border:1px solid var(--line)}
.gd-steps b{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--gold2),var(--gold-d));color:#16120a;font-weight:800}
.gd-steps h3{margin:.25rem 0 .3rem;font-size:1.05rem}.gd-steps p{margin:0;color:var(--muted);font-size:.93rem}
.gd-dist{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.4rem}
.gd-d{padding:1.1rem 1.2rem;border-radius:var(--r);background:var(--bg2);border:1px solid var(--line)}
.gd-dh{display:flex;justify-content:space-between;align-items:baseline;gap:.4rem .8rem;flex-wrap:wrap}.gd-dh h3{margin:0;font-size:1.05rem}.gd-dh b{color:var(--gold2);font-size:.95rem;white-space:nowrap}
.gd-bar{display:block;height:6px;border-radius:9px;background:rgba(255,255,255,.07);margin:.7rem 0 .8rem;overflow:hidden}.gd-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold-d),var(--gold2))}
.gd-d p{margin:0 0 .5rem;color:#cfc9bf;font-size:.9rem}.gd-d small{color:var(--muted);font-size:.82rem}
.gd-d small a,.gd-t a{color:var(--gold2)}.gd-d small a:hover,.gd-t a:hover{text-decoration:underline}
.gd-tw{overflow-x:auto;margin:1.2rem 0 .8rem;border:1px solid var(--line);border-radius:var(--r);-webkit-overflow-scrolling:touch}
.gd-t{width:100%;border-collapse:collapse;font-size:.88rem;min-width:660px}.gd-t3{min-width:0}
.gd-t th,.gd-t td{padding:.7rem .8rem;text-align:start;border-bottom:1px solid var(--line);vertical-align:top}
.gd-t thead th{font-size:var(--fs-xs);letter-spacing:.02em;font-weight:700;color:var(--muted);background:rgba(255,255,255,.03)} /* kein uppercase: sonst wird „m²“ zu „M²“ */
.gd-t tbody tr:last-child>*{border-bottom:0}
.gd-t tbody th{font-weight:700}.gd-t small{display:block;color:var(--muted);font-weight:500;font-size:.78rem}
.gd-t .num{white-space:nowrap;font-variant-numeric:tabular-nums}.gd-t .pill{font-size:var(--fs-xs);padding:.25rem .6rem;backdrop-filter:none}
.gd-h{font-size:1.1rem;margin:1.8rem 0 0}
.gd-box{margin-top:1rem;padding:1rem 1.2rem;border-radius:var(--r);background:rgba(214,178,112,.07);border:1px solid rgba(214,178,112,.25)}.gd-box p{margin:.2rem 0;color:#d9d4cb;font-size:.92rem}
.gd-y{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem;margin:1.2rem 0}
.gd-yl{margin:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.gd-yl div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .9rem;border-bottom:1px solid var(--line);font-size:.88rem}.gd-yl div:last-child{border:0}
.gd-yl dt{color:var(--muted)}.gd-yl dd{margin:0;font-weight:700;white-space:nowrap}
.gd-yr{display:grid;gap:.6rem;align-content:start}
.gd-yr div{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:14px;background:var(--bg2);border:1px solid var(--line)}
.gd-yr span{font-size:.85rem;color:var(--muted)}.gd-yr b{font-size:1.05rem;white-space:nowrap}
.gd-yr .hi{background:linear-gradient(135deg,rgba(243,220,170,.16),rgba(168,133,74,.12));border-color:rgba(214,178,112,.45)}.gd-yr .hi b{color:var(--gold2);font-size:1.25rem}
.gd-f{font:600 .82rem/1.5 ui-monospace,Menlo,monospace;color:var(--muted);margin:.4rem 0 1rem;text-align:left;overflow-wrap:anywhere}
.gd-facts{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.7rem}
.gd-facts li{padding:.9rem 1.1rem;border-radius:14px;background:var(--bg2);border-inline-start:3px solid var(--gold);color:#d4cfc6;font-size:.95rem}.gd-facts b{color:var(--text)}
.gd-ist{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1.2rem 0}
.gd-ist div{padding:1rem;border-radius:14px;background:var(--bg2);border:1px solid var(--line)}.gd-ist strong{display:block;font-size:1.3rem;color:var(--gold2);line-height:1.2}.gd-ist span{font-size:.82rem;color:var(--muted)}
.gd-tl{margin-top:1rem}
.gd-ck{margin:1rem 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;counter-reset:c}
.gd-ck li{counter-increment:c;display:flex;gap:.7rem;padding:.8rem 1rem;border-radius:14px;background:var(--bg2);border:1px solid var(--line);font-size:.92rem;color:#d4cfc6}
.gd-ck li::before{content:counter(c);flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid rgba(214,178,112,.5);color:var(--gold2);font-size:.75rem;font-weight:800}
.gd-legal{margin:1.5rem 0 0;padding:1.1rem 1.2rem;border-radius:var(--r);border:1px dashed var(--line2);background:rgba(255,255,255,.02)}.gd-legal p{margin:.2rem 0;color:#d4cfc6}.gd-legal b{color:var(--gold)}
.gd-end{margin-top:2.4rem}
.gd-ct{display:flex;gap:1.2rem;align-items:flex-start;padding:clamp(1.2rem,3vw,2rem);border-radius:var(--r-lg);background:linear-gradient(150deg,#12161d,#0b0e13);border:1px solid var(--line2)}
.gd-ct .ask-av{flex:none}.gd-ct .h3{margin:0 0 .4rem}.gd-ct .muted{margin:0 0 1rem}.gd-ct .btns{display:flex;flex-wrap:wrap;gap:.6rem}
.rp-guide{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;color:var(--gold2);font-weight:700;font-size:.92rem}.rp-guide:hover{text-decoration:underline}
/* „Fragen zum Report? WhatsApp“ – bewusst klein und getrennt vom PDF (echter Kontakt, Quelle REPORTQ, schaltet nichts frei) */
.rp-q{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .65rem;margin:.9rem 0 0;font-size:.88rem;color:var(--muted)}
.rp-q a{display:inline-flex;align-items:center;gap:.4rem;color:var(--gold2);font-weight:700;text-decoration:none}.rp-q a:hover{text-decoration:underline}
.rp-q svg{width:16px;height:16px;flex:none}
[dir=rtl] .rp-guide svg{transform:scaleX(-1)}
@media (max-width:900px){.gd-body{grid-template-columns:1fr}.gd-toc{position:static;padding:1rem 1.1rem;border-radius:var(--r);background:var(--bg2);border:1px solid var(--line)}.gd-toc ol{grid-template-columns:1fr 1fr}.gd-hin{grid-template-columns:1fr}.gd-cover{display:none}}
@media (max-width:640px){.gd-dist,.gd-y,.gd-ck{grid-template-columns:1fr}.gd-ist{grid-template-columns:1fr 1fr}.gd-toc ol{grid-template-columns:1fr}.gd-ct{flex-direction:column}.gd-ct .btns .btn{flex:1 1 auto;justify-content:center}}
html:lang(th) :is(.gd-toc-h,.rf-ticket small,.gd-t thead th),[dir=rtl] :is(.gd-toc-h,.rf-ticket small,.gd-t thead th){letter-spacing:normal}

/* Baufortschritt (Projektseite #progress): Ring + Teilwerte, Meilensteine, Vorher/Nachher, Fotoreihe, Bau-Videos (Links) */
.bp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:1rem}
.bp-card,.bp-steps{padding:clamp(1.1rem,2.6vw,1.6rem);border-radius:var(--r-lg);background:linear-gradient(150deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.bp-top{display:flex;align-items:center;gap:1.1rem}
.bp-top>div{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}.bp-top strong{font-size:1.05rem}.bp-top small{color:var(--muted);font-size:.82rem}
.bp-ring{--v:0;flex:none;width:6.4rem;height:6.4rem;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--gold2) calc(var(--v)*1%),rgba(255,255,255,.08) 0);position:relative}
.bp-ring::before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--bg2)}
.bp-ring b{position:relative;font-size:1.12rem;font-weight:800;letter-spacing:-.02em;color:var(--gold2)}
.bp-headl{margin:1.1rem 0 0;padding:.65rem .85rem;border-radius:14px;background:rgba(214,178,112,.1);border:1px solid rgba(214,178,112,.3);color:var(--gold2);font-weight:700;font-size:.92rem}
.bp-parts{list-style:none;padding:0;margin:1.1rem 0 0;display:grid;gap:.8rem}
.bp-parts li{display:grid;grid-template-columns:1fr auto;gap:.35rem .8rem;font-size:.9rem}.bp-parts small{color:var(--muted)}.bp-parts b{color:var(--gold2)}
.bp-bar{grid-column:1/-1;display:block;height:6px;border-radius:9px;background:rgba(255,255,255,.07);overflow:hidden}.bp-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold-d),var(--gold2))}
.bp-h{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:1.6rem 0 .8rem;font-weight:700}.bp-h b{color:var(--muted);margin-inline-start:.3rem}
.bp-steps .bp-h{margin-top:0}
.bp-tl-l{list-style:none;margin:0;padding:0;position:relative}
.bp-tl-l li{position:relative;display:grid;grid-template-columns:5.6rem 1fr;gap:.8rem;padding:0 0 .85rem 1.3rem;font-size:.9rem;line-height:1.45}
.bp-tl-l li::before{content:"";position:absolute;left:0;top:.35em;width:.62rem;height:.62rem;border-radius:50%;background:var(--gold2);box-shadow:0 0 0 4px rgba(214,178,112,.15)}
.bp-tl-l li::after{content:"";position:absolute;left:.28rem;top:1.15em;bottom:0;width:1px;background:var(--line2)}
.bp-tl-l li:last-child{padding-bottom:0}.bp-tl-l li:last-child::after{display:none}
.bp-tl-l li.next::before{background:transparent;border:2px solid var(--gold-d);box-shadow:none}.bp-tl-l li.next{color:var(--muted)}
.bp-tl-l time{color:var(--gold2);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
[dir=rtl] .bp-tl-l li{padding:0 1.3rem .85rem 0}[dir=rtl] .bp-tl-l li::before{left:auto;right:0}[dir=rtl] .bp-tl-l li::after{left:auto;right:.28rem}
.bp-media{margin-top:1rem;display:grid;gap:1rem}.bp-media.two{grid-template-columns:1.4fr 1fr}
.ba{position:relative;margin:0;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;background:var(--bg3);cursor:ew-resize;touch-action:pan-y;user-select:none;-webkit-user-select:none;border:1px solid var(--line)}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.ba-top{position:absolute;inset:0;overflow:hidden;transform:translate3d(calc(var(--x) - 100%),0,0);will-change:transform}.ba-top img{transform:translate3d(calc(100% - var(--x)),0,0);will-change:transform}
.ba-h{position:absolute;top:0;bottom:0;left:0;width:100%;transform:translate3d(calc(var(--x) - 50%),0,0);will-change:transform;pointer-events:none}.ba-h::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:var(--gold2);box-shadow:0 0 18px rgba(0,0,0,.6)}
.ba-h i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2.6rem;height:2.6rem;border-radius:50%;display:grid;place-items:center;background:rgba(7,9,13,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--gold2);color:var(--gold2);font-style:normal;font-weight:800;font-size:.9rem;letter-spacing:.1em}
.ba-l{position:absolute;top:.7rem;padding:.25rem .6rem;border-radius:99px;background:rgba(7,9,13,.78);font-size:var(--fs-xs);font-weight:700;color:var(--gold2);pointer-events:none}.ba-l1{left:.7rem}.ba-l2{right:.7rem}
.ba-r{position:absolute;inset:auto 0 0;width:100%;height:1px;opacity:0;pointer-events:none}
.ba:has(.ba-r:focus-visible) .ba-h i{outline:2px solid var(--gold2);outline-offset:3px}
.ba-hint{position:absolute;left:50%;bottom:.7rem;transform:translateX(-50%);padding:.25rem .7rem;border-radius:99px;background:rgba(7,9,13,.7);font-size:var(--fs-xs);color:var(--text);pointer-events:none;transition:opacity .4s;white-space:nowrap}.ba.on .ba-hint{opacity:0}
.bp-tl{margin:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--bg3)}.bp-tl video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#000}.bp-tl figcaption{padding:.5rem .8rem;font-size:.8rem;color:var(--muted)}
.bp-gal{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(150px,19%,220px);gap:.6rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.6rem;scrollbar-width:thin;scrollbar-color:var(--gold-d) transparent}
.bp-gal .gal-it{aspect-ratio:4/3}
.bp-vids{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.7rem}
.bp-vid{display:grid;grid-template-columns:7.2rem 1fr;gap:.8rem;align-items:center;padding:.5rem;border-radius:var(--r);background:var(--bg2);border:1px solid var(--line);transition:border-color .25s,transform .25s var(--ease)}.bp-vid:hover{border-color:var(--gold-d);transform:translateY(-2px)}
.bp-vi{position:relative;aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#1b222c,#0b0e13)}.bp-vi img{width:100%;height:100%;object-fit:cover;opacity:.85}
.bp-vi i{position:absolute;inset:0;margin:auto;width:2.1rem;height:2.1rem;border-radius:50%;display:grid;place-items:center;background:rgba(7,9,13,.7);color:var(--gold2);border:1px solid rgba(243,220,170,.5)}.bp-vi i svg{width:.95rem;height:.95rem;margin-left:2px}
.bp-vt{display:flex;flex-direction:column;gap:.25rem;min-width:0}.bp-vt b{font-size:.86rem;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bp-vt small{color:var(--muted);font-size:var(--fs-xs)}
.bp-note{margin:1.2rem 0 0}.bp-note a{color:var(--gold2)}.bp-note a:hover{text-decoration:underline}
/* Referenzen des Bauträgers */
.refs{margin-top:1.4rem}
.refs-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}
.ref{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;background:var(--bg2);border:1px solid var(--line)}
.ref-img{aspect-ratio:4/3;border-radius:0!important;width:100%}.ref-ph{display:grid;place-items:center;background:linear-gradient(135deg,#161c25,#0b0e13);color:var(--gold-d)}.ref-ph svg{width:2.6rem;height:2.6rem}
.ref-b{padding:.9rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem}.ref-b h4{margin:0;font-size:1.05rem}
.ref-st{align-self:flex-start;font-size:var(--fs-xs);font-weight:700;padding:.2rem .6rem;border-radius:99px;background:rgba(240,179,90,.14);color:var(--build)}.ref-st.ok{background:rgba(95,211,154,.13);color:var(--ready)}
.ref-so{align-self:flex-start;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .5rem;font-size:var(--fs-xs);line-height:1.35;color:var(--muted)}.ref-so b{padding:.15rem .55rem;border-radius:99px;border:1px solid var(--gold);color:var(--gold2);font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.ref-so-a{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;color:var(--gold2);font-weight:700;font-size:.88rem;text-decoration:none}.ref-so-a svg{width:15px;height:15px}[dir=rtl] .ref-so-a svg{transform:scaleX(-1)}.ref-so-a:hover{text-decoration:underline;text-underline-offset:3px}
.ref-m{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin:0;color:var(--muted);font-size:.82rem}.ref-t{margin:0;font-size:.88rem;color:#cfc9bf}.ref-by{color:var(--muted);font-size:var(--fs-xs)}
@media (max-width:860px){.bp,.bp-media.two{grid-template-columns:1fr}}
@media (max-width:640px){.bp-ring{width:5.4rem;height:5.4rem}.bp-tl-l li{grid-template-columns:5.5rem 1fr;gap:.5rem;font-size:.86rem}.bp-gal{grid-auto-columns:42%}.ba{aspect-ratio:4/3}.refs-row{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(-1 * var(--gut));padding:0 var(--gut);scroll-padding:0 var(--gut)}.ref{scroll-snap-align:start}.bp-vids{grid-template-columns:1fr}}
/* Lage-Seiten (/area/): Lage-Chip auf Projektseiten, Filter-Link, Karten, Vor-/Nachteile, Preisbalken, Fakten */
.area-chip{display:inline-flex;align-items:center;gap:.3rem;margin-inline-start:.6rem;padding:.2rem .65rem;border-radius:99px;border:1px solid rgba(214,178,112,.45);color:var(--gold2);font-weight:700;font-size:.76rem;transition:background .25s}.area-chip:hover{background:rgba(214,178,112,.15)}.area-chip svg{width:.9em;height:.9em}
[dir=rtl] .area-chip svg,[dir=rtl] .flink svg,[dir=rtl] .a-more svg,[dir=rtl] .acard .card-go svg{transform:scaleX(-1)}
.phero .card-area{flex-wrap:wrap;row-gap:.4rem}
.a-more{margin-top:1.2rem}
.flink{display:inline-flex;align-items:center;gap:.3rem;padding:.55rem .4rem;font-weight:700;font-size:.84rem;color:var(--gold2);white-space:nowrap}.flink:hover{text-decoration:underline}
.ftr .ftr-h2{margin-top:1.4rem}.ftr .ftr-h2 a{display:inline;color:inherit}
.ahero{min-height:72svh}.ahero .gd-bc{margin-bottom:1rem}.ahero .lead{margin-bottom:.5rem}
.keybar-in.a-key{grid-template-columns:repeat(4,1fr)}
.a-intro .big{max-width:52rem;margin-bottom:.8rem}
.a-pc{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.a-box{padding:clamp(1.1rem,2.6vw,1.6rem);border-radius:var(--r-lg);background:var(--bg2);border:1px solid var(--line)}.a-box .h3{margin-bottom:.8rem}
.a-box ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.a-box li{position:relative;padding-inline-start:1.6rem;font-size:.95rem}
.a-box li::before{position:absolute;inset-inline-start:0;top:.05em;font-weight:800}.a-pro li::before{content:"✓";color:var(--ready)}.a-con li::before{content:"!";color:var(--build);inset-inline-start:.3rem}
.a-two{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;align-items:start}
.a-bars{display:grid;gap:.4rem;margin-bottom:.8rem}
.a-bar{display:grid;grid-template-columns:8.5rem 1fr auto;align-items:center;gap:.8rem;padding:.55rem .8rem;border-radius:14px;border:1px solid transparent;transition:background .25s,border-color .25s}.a-bar:hover{background:var(--bg2)}
.a-bar.on{background:rgba(214,178,112,.1);border-color:rgba(214,178,112,.35)}.a-bar .gd-bar{margin:0}.a-bar b{color:var(--gold2);font-size:.88rem;white-space:nowrap}.a-bn{font-weight:700;font-size:.9rem}
.a-facts{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.a-facts li{font-size:.92rem;color:#d4cec4;padding-bottom:.7rem;border-bottom:1px solid var(--line)}
.a-src{font-size:var(--fs-xs);color:var(--gold2);white-space:nowrap}.a-src:hover{text-decoration:underline}
.a-lm .dist b{font-size:.88rem;white-space:nowrap}.a-lm .dist li{gap:.8rem}
.a-end,.gd-end{display:grid;gap:1.2rem;align-items:stretch}.a-end{grid-template-columns:1.2fr 1fr}.a-end .rpt-img{width:clamp(84px,9vw,128px)} /* Report + Berater nebeneinander (Ratgeber: schmale Spalte → untereinander), Report-Knopf nur Rahmen → ein goldener Haupt-Knopf */
.a-intro .a-rd{display:none}.pd-more>.a-facts{margin-top:.7rem}
.grid.a-one{grid-template-columns:1fr}.grid.a-one .card-link{display:grid;grid-template-columns:1.1fr 1fr}.grid.a-one .card-img{aspect-ratio:auto;min-height:100%}
@media (max-width:860px){.a-end{grid-template-columns:1fr}.a-intro .big{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.3rem}.a-rd-c:checked+.big{display:block}
  .a-intro .a-rd{display:inline-flex;margin-bottom:.8rem;color:var(--gold2);font-weight:700;font-size:.9rem;cursor:pointer}.a-rd2,.a-rd-c:checked~.a-rd .a-rd1{display:none}.a-rd-c:checked~.a-rd .a-rd2{display:inline}}
@media (max-width:640px){.grid.a-one .card-link{display:block}.grid.a-one .card-img{aspect-ratio:4/3.1}.grid.grid-swipe.a-one{grid-auto-columns:100%}}
.acards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.acards.a4{grid-template-columns:repeat(4,1fr)}
.acard{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;background:var(--bg2);border:1px solid var(--line);transition:transform .3s var(--ease),border-color .3s}.acard:hover{transform:translateY(-3px);border-color:var(--gold-d)}
.acard-img{aspect-ratio:16/10;overflow:hidden;background:var(--bg3)}.acard-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.acard:hover .acard-img img{transform:scale(1.05)}
.acard-b{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.45rem;flex:1}.acard-b strong{font-size:1.2rem}.acard-b .muted{font-size:.88rem}
.acard-m{display:flex;flex-wrap:wrap;gap:.3rem .9rem;font-size:.84rem;color:var(--muted);margin-top:auto}.acard-m b{color:var(--gold2)}
@media (max-width:1020px){.acards.a4{grid-template-columns:1fr 1fr}}
@media (max-width:860px){.a-two,.a-pc{grid-template-columns:1fr}.acards{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.keybar-in.a-key{grid-template-columns:1fr 1fr}.acards,.acards.a4{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:80%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.4rem}.acard{scroll-snap-align:start}.a-bar{grid-template-columns:6.4rem 1fr auto;gap:.5rem;padding:.5rem .4rem}.area-chip{margin-inline-start:0}.ahero{min-height:0}}
.a-intro .big{font-size:clamp(1.02rem,1.7vw,1.3rem)}
[dir=rtl] .bp-tl-l time{text-align:right}
.ref-tl{position:relative;margin:0;background:#000;overflow:hidden}.ref-tl video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.ref-tl .gal-cap{top:.6rem;bottom:auto}

/* Rendite-Story (Projektseite #calc): Knöpfe + Vorschau-Dialog */
.calc-share{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.2rem}
.calc-share.busy{opacity:.7;pointer-events:none}.calc-share.busy [data-fmt]::after{content:'';width:.9em;height:.9em;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite}
.cs-msg{flex-basis:100%;color:var(--muted)}
@keyframes spin{to{transform:rotate(360deg)}}
.story-dlg{border:0;padding:0;background:transparent;max-width:100vw;max-height:100dvh;overflow:visible;color:var(--text)}
.story-dlg::backdrop{background:rgba(4,5,8,.82);backdrop-filter:blur(10px)}
.story-dlg[open]{display:flex;flex-direction:column;align-items:center;gap:.9rem;animation:rpIn .35s var(--ease)}
.story-dlg img{width:auto;height:min(76dvh,calc((100vw - 32px) * 16 / 9));border-radius:18px;box-shadow:0 30px 80px -20px rgba(0,0,0,.8),0 0 0 1px rgba(214,178,112,.3)}
.story-dlg.sd-p img{height:min(72dvh,calc((100vw - 32px) * 5 / 4))}
.sd-acts{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}

/* Events: Karte „Nächstes Event“ (Startseite #visit) + Seite /events/ */
.ev-next{margin:0 0 clamp(1.2rem,3vw,2rem)}
.ev-card{position:relative;display:flex;gap:clamp(.9rem,2.4vw,1.5rem);align-items:flex-start;padding:clamp(1.1rem,2.6vw,1.6rem);border-radius:var(--r-lg);background:linear-gradient(150deg,rgba(214,178,112,.09),rgba(20,26,34,.85) 45%,var(--bg2));border:1px solid var(--line2);box-shadow:inset 0 1px 0 rgba(243,220,170,.1)}
.ev-big{border-color:rgba(214,178,112,.4);animation:rpIn .5s var(--ease)}
.ev-emo{flex:none;display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:16px;font-size:1.7rem;background:rgba(214,178,112,.12);border:1px solid rgba(214,178,112,.35)}
.ev-b{min-width:0;flex:1}.ev-b .kicker{margin-bottom:.35rem}
.ev-b h3{margin:0 0 .35rem;font-size:clamp(1.15rem,2.2vw,1.45rem);letter-spacing:-.015em;line-height:1.25}
.ev-when{margin:0;color:var(--gold2);font-weight:700}.ev-place{margin:.15rem 0 0;color:var(--muted);font-size:.92rem}
.ev-d{margin:.7rem 0 0;color:#d9d4cb;font-size:.95rem;max-width:44rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ev-date{flex:none;display:grid;place-items:center;align-content:center;width:3.4rem;height:3.4rem;border-radius:16px;background:rgba(214,178,112,.12);border:1px solid rgba(214,178,112,.35);color:var(--gold2);line-height:1}
.ev-date b{font-family:var(--serif);font-weight:600;font-size:1.65rem}.ev-date small{font-size:var(--fs-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-top:.15rem;color:var(--gold)}
.ev-cal svg{width:18px;height:18px;flex:none}.ev-cal{gap:.45rem}
.ev-em{color:var(--gold);margin:0 auto}.ev-em svg{width:1.7rem;height:1.7rem}.ev-show{margin-top:clamp(1.6rem,4vw,2.6rem)}
.ev-b .btns{margin-top:1rem}
.ev-list{display:grid;gap:1rem;margin-top:1.6rem}.ev-load{margin:0}
.ev-empty{margin-top:1.6rem;padding:clamp(1.3rem,3vw,2rem);border-radius:var(--r-lg);border:1px dashed var(--line2);text-align:center;background:rgba(255,255,255,.02)}
.ev-empty p{margin:.4rem 0 1.1rem;color:#d9d4cb}.ev-empty .btns{justify-content:center}.ev-em{font-size:2rem}
.ev-addr{display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:baseline;margin-top:2rem;color:var(--muted);font-size:.9rem}.ev-addr strong{color:var(--text)}.ev-addr a{color:var(--gold2)}
@media (max-width:640px){.ev-card{flex-direction:row;gap:.8rem}.ev-emo,.ev-date{width:2.9rem;height:2.9rem}.ev-date b{font-size:1.35rem}.ev-b .btns{flex-wrap:nowrap}.ev-b .btns .btn{flex:1 1 auto;justify-content:center}.ev-b .btns .ev-cal{flex:none;padding:.6rem}.ev-calt{display:none}.ev-big .ev-b .btns{flex-wrap:wrap}}

/* Kunden-Push „Neue Projekte zuerst erfahren“ */
.npush{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .95rem;border-radius:999px;border:1px solid rgba(214,178,112,.4);background:rgba(214,178,112,.08);color:var(--gold2);font-size:.85rem;font-weight:700;cursor:pointer;transition:background .25s,border-color .25s,transform .25s var(--ease);text-align:start}
.npush:hover{background:rgba(214,178,112,.16);transform:translateY(-1px)}.npush:disabled{opacity:.6;cursor:progress}
.npush.on{border-color:var(--line2);background:rgba(255,255,255,.04);color:var(--muted)}.npush.on .np-i{filter:saturate(.3)}
.np-i{font-size:1rem;line-height:1}
.np-msg{display:block;flex-basis:100%;margin-top:.45rem;font-size:.8rem;color:var(--muted);line-height:1.45}
.np-ftr{margin-top:1rem}.rp-np{margin:1rem 0 0!important}
@media (prefers-reduced-motion:reduce){.ev-big,.story-dlg[open]{animation:none}}

/* Besichtigung buchen (.vb – Startseite #visit + Projektseiten #book) */
.vb{position:relative;overflow:hidden;margin-top:clamp(1.4rem,3vw,2.4rem);padding:clamp(1.25rem,3vw,2.2rem);border-radius:var(--r-lg);background:linear-gradient(155deg,rgba(214,178,112,.11),#121720 38%,#0b0e13);border:1px solid rgba(214,178,112,.28);box-shadow:inset 0 1px 0 rgba(243,220,170,.12),0 30px 80px -40px rgba(0,0,0,.85);display:grid;gap:1.3rem}
#book .vb{margin-top:0}
.vb{grid-template-columns:minmax(0,1fr)}.vb>*{position:relative;min-width:0}.vb>.vb-glow{position:absolute;top:-40%;inset-inline-start:-15%;width:60%;aspect-ratio:1;background:radial-gradient(closest-side,rgba(214,178,112,.16),transparent);pointer-events:none}
.vb-head .h3{margin:0 0 .4rem}.vb-head .muted{margin:0;max-width:30rem}
.vb-l{margin:0 0 .55rem;font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--muted)}
.vb-days{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * clamp(1.25rem,3vw,2.2rem)) 1.1rem;padding:2px clamp(1.25rem,3vw,2.2rem) 4px;scroll-snap-type:x proximity;scroll-padding-inline:clamp(1.25rem,3vw,2.2rem)}
.vb-days::-webkit-scrollbar{display:none}
.vb-days button{flex:1 0 4.6rem;scroll-snap-align:start;display:grid;justify-items:center;gap:.05rem;padding:.6rem .4rem .55rem;border-radius:18px;border:1px solid var(--line2);background:rgba(255,255,255,.04);color:var(--text);cursor:pointer;font:800 1.45rem/1.15 var(--ff);transition:transform .2s var(--ease),border-color .2s,background .2s,box-shadow .2s}
/* Wochentag + Monat als ::before/::after (data-w/-mo; aria-label = ganzes Datum) – 2 Knoten weniger je Tag (Startseite ≤ 2.000 DOM-Knoten) */
.vb-days button::before{content:attr(data-w);font-size:var(--fs-xs);line-height:1.35;font-weight:700;color:var(--muted);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.vb-days button::after{content:attr(data-mo);font-size:var(--fs-xs);line-height:1.35;font-weight:600;color:var(--muted)}
.vb-days button:hover,.vb-times button:hover{border-color:rgba(214,178,112,.6)}
.vb-days button:active,.vb-times button:active{transform:scale(.96)}
.vb-days [aria-pressed=true]{background:linear-gradient(150deg,var(--gold2),var(--gold) 60%,var(--gold-d));border-color:transparent;color:#16120a;box-shadow:0 12px 28px -14px rgba(214,178,112,.75)}
.vb-days [aria-pressed=true]::before,.vb-days [aria-pressed=true]::after{color:rgba(22,18,10,.72)}
.vb-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.6rem,1fr));gap:.45rem;margin-bottom:1.1rem}
.vb-times button{position:relative;padding:.62rem .3rem;border-radius:14px;border:1px solid var(--line2);background:rgba(255,255,255,.035);color:var(--text);font-weight:700;font-size:.95rem;font-variant-numeric:tabular-nums;cursor:pointer;transition:transform .2s var(--ease),border-color .2s,background .2s;animation:rpIn .38s var(--ease) calc(var(--i,0) * 22ms) both}
.vb-times button.ppl::after{content:"";position:absolute;top:7px;inset-inline-end:7px;width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px rgba(214,178,112,.8)}
.vb-times [aria-pressed=true]{background:rgba(214,178,112,.18);border-color:var(--gold);color:var(--gold2);box-shadow:inset 0 0 0 1px rgba(214,178,112,.5)}
.vb-who{min-height:4.4rem}
.vb-ppl{list-style:none;display:flex;flex-wrap:wrap;gap:.7rem;margin:0 0 .4rem;padding:0}
.vb-ppl button{display:grid;justify-items:center;gap:.3rem;padding:0;border:0;background:none;color:var(--text);cursor:pointer;font-size:.78rem;font-weight:700;animation:rpIn .35s var(--ease) both}
.vb-ppl img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.14);transition:border-color .2s,transform .25s var(--ease),box-shadow .2s}
.vb-ppl [aria-pressed=true] img{border-color:var(--gold);transform:scale(1.07);box-shadow:0 0 0 4px rgba(214,178,112,.2)}
.vb-ppl [aria-pressed=true] span{color:var(--gold2)}
.vb-any,.vb-meet{margin:0;font-size:.85rem;color:var(--muted)}
.vb-foot{display:grid;gap:1rem;align-content:end}
.vb-sum{margin:0;display:grid;gap:.2rem}.vb-sum b{font-size:clamp(1.1rem,2vw,1.35rem);font-weight:800;min-height:1.6em}.vb-sum small{color:var(--muted);font-size:.8rem}
.vb-foot .btns{display:flex;flex-wrap:wrap;gap:.55rem}.vb-foot .btn{justify-content:center}
.vb:not(.vb-ok) .vb-wa{box-shadow:none;opacity:.92}
.vb-ics svg{width:18px;height:18px}
@media (min-width:900px){.vb{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:auto auto auto 1fr;column-gap:clamp(2rem,4vw,3.5rem);row-gap:1.2rem}.vb>.vb-modes{grid-column:1;grid-row:1}.vb>.vb-head{grid-column:1;grid-row:2}.vb>.vb-perks{grid-column:1;grid-row:3}.vb-body{grid-column:2;grid-row:1/5}.vb-foot{grid-column:1;grid-row:4}.vb-days{margin-inline:0;padding-inline:0;scroll-padding-inline:0}}
@media (max-width:640px){.vb-foot .btn{flex:1 1 100%}}
/* ===== Buchung v2 „Treffen Sie uns – wie es Ihnen passt“ (23.10.2026): Umschalter Showroom | Videocall | Projekt-Tour, Vorteile, Gastgeber, Ortszeit (site.js .vb) =====
   Gleitende Pille = nur transform (3 gleich breite Spalten, --mi = Index, RTL gespiegelt); Symbole = CSS-Masken (data-ic, keine zusätzlichen DOM-Knoten); „weniger Bewegung“ = still */
.vb-modes{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px;border-radius:20px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.11);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 30px -18px rgba(0,0,0,.8)}
.vb-pill{position:absolute;z-index:-1;top:4px;bottom:4px;inset-inline-start:4px;width:calc((100% - 8px) / 3);border-radius:16px;background:linear-gradient(150deg,var(--gold2),var(--gold) 58%,var(--gold-d));box-shadow:0 10px 26px -12px rgba(214,178,112,.85),inset 0 1px 0 rgba(255,255,255,.4);transform:translateX(calc(var(--mi,0) * 100% * var(--dir,1)));transition:transform .55s cubic-bezier(.34,1.3,.5,1)}
[dir=rtl] .vb-pill{--dir:-1}
.vb-modes button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;min-width:0;min-height:3.7rem;padding:.5rem .3rem;border:0;border-radius:16px;background:none;color:var(--muted);font:700 .82rem/1.2 var(--ff);text-align:center;overflow-wrap:anywhere;cursor:pointer;transition:color .35s var(--ease)}
.vb-modes button::before,.vb-perks li::before{content:"";flex:none;width:22px;height:22px;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.vb-modes button:hover{color:var(--text)}
.vb-modes button[aria-pressed=true]{color:#16120a}
.vb-modes button:focus-visible{outline:2px solid var(--gold2);outline-offset:1px}
html:not(.js) .vb-modes{display:none}
.vb-head .vb-mh{margin:0 0 .35rem}.vb-mt{margin:0}
.vb-perks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.vb-perks li{display:flex;align-items:center;gap:.6rem;min-width:0;min-height:2.9rem;padding:.5rem .75rem;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid var(--line);font-size:.86rem;font-weight:600;line-height:1.3}
.vb-perks li::before{width:20px;height:20px;background:var(--gold2)}
.vb-perks li[hidden]{display:none}
/* Linien-Symbole für Umschalter + Vorteile (Masken, Strichstärke wie die übrigen Icons; build.mjs BM_IC) */
.vb [data-ic=show]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10v10h16V10M3 10l2-6h14l2 6M3 10a3 3 0 0 0 6 0 3 3 0 0 0 6 0 3 3 0 0 0 6 0M10 20v-5h4v5'/%3E%3C/svg%3E")}
.vb [data-ic=video]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7.5a2 2 0 0 1 2-2h8.5a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2zM15.5 10.5l5-3v9l-5-3'/%3E%3C/svg%3E")}
.vb [data-ic=tour]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M5 21V8l6-4v17M11 21V10l8 4v7M8 10v.01M8 13v.01M8 16v.01M15 16v.01'/%3E%3C/svg%3E")}
.vb [data-ic=bag]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11h16M5 11l1 8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2l1-8M8 11V9a4 4 0 0 1 8 0v2'/%3E%3C/svg%3E")}
.vb [data-ic=cup]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h10l-1 18H8zM7.5 8h9'/%3E%3C/svg%3E")}
.vb [data-ic=home]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V9l8-5 8 5v11M9 20v-6h6v6'/%3E%3C/svg%3E")}
.vb [data-ic=chat]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3C/svg%3E")}
.vb [data-ic=screen]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1zM8 20h8M12 16v4M7 8h6M7 11h4'/%3E%3C/svg%3E")}
.vb [data-ic=globe]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0 9 9 0 1 0-18 0M3 12h18M12 3c2.5 2.6 3.8 5.6 3.8 9s-1.3 6.4-3.8 9c-2.5-2.6-3.8-5.6-3.8-9S9.5 5.6 12 3z'/%3E%3C/svg%3E")}
.vb [data-ic=talk]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5h11v8H7l-4 3zM10 16v1h7l4 3v-9h-4'/%3E%3C/svg%3E")}
.vb [data-ic=users]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8a3 3 0 1 0 6 0 3 3 0 1 0-6 0M3 20a6 6 0 0 1 12 0M15 5.5a2.5 2.5 0 1 1 1.6 4.7M17.5 14a5 5 0 0 1 3.5 5'/%3E%3C/svg%3E")}
.vb [data-ic=key]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 15a4 4 0 1 0 8 0 4 4 0 1 0-8 0M11 12l9-9M16 7l3 3M14 9l2 2'/%3E%3C/svg%3E")}
.vb [data-ic=pin]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21zM9.5 9.5a2.5 2.5 0 1 0 5 0 2.5 2.5 0 1 0-5 0'/%3E%3C/svg%3E")}
.vb [data-ic=help]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0 9 9 0 1 0-18 0M9.5 9.5a2.5 2.5 0 1 1 3.5 2.3c-.6.3-1 .9-1 1.6v.6M12 17h.01'/%3E%3C/svg%3E")}
.vb [data-ic=check]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0 9 9 0 1 0-18 0M8 12.5l2.7 2.7L16 9.8'/%3E%3C/svg%3E")}
.vb-pj{margin:0 0 1.1rem}.vb-pj label{display:grid;gap:.1rem}.vb-pj .vb-l{margin:0 0 .45rem}
.vb-pj select{width:100%;min-height:46px;padding:0 .9rem;border-radius:14px;border:1px solid var(--line2);background:rgba(7,9,13,.6);color:var(--text);font:600 .95rem var(--ff)}
.vb-times [data-lt]{display:grid;justify-items:center;gap:.05rem;line-height:1.2}
.vb-times [data-lt]::after{content:attr(data-lt);font-size:.75rem;font-weight:600;color:var(--muted);white-space:nowrap}
.vb-times [data-lt][aria-pressed=true]::after{color:rgba(243,220,170,.8)}
.vb-ics[hidden]{display:none} /* erst mit gewählter Uhrzeit (vorher überschrieb .btn das hidden-Attribut → Tipp ohne Uhrzeit = ungültiges Datum) */
.vb-sum b[data-lt]::after{content:attr(data-lt);display:block;margin-top:.1rem;font-size:.85rem;font-weight:600;color:var(--gold2)}
.vb-host button{min-width:4.2rem}.vb-host small{display:block;max-width:7.5rem;font-size:.75rem;font-weight:600;line-height:1.2;color:var(--gold2);text-align:center}
.vb:not([data-m=show]) .vb-host button{cursor:default}
.vb-ppl li[hidden]{display:none}
@media (min-width:641px){.vb-modes button{flex-direction:row;gap:.5rem;min-height:3.1rem;font-size:.9rem}}
@media (max-width:640px){.vb-in .vb-head{display:none} /* Projektseite am Handy: Umschalter reicht, Zeitfenster/Hinweis stehen unter den Uhrzeiten (.vb-any) – Projektseite ≤ 14.000 px */
  .vb{gap:1.05rem}.vb-days,.vb-times{margin-bottom:.9rem}
  .vb-perks{gap:.4rem}.vb-perks li{gap:.5rem;min-height:2.6rem;padding:.42rem .6rem;font-size:.8rem;line-height:1.25}.vb-perks li::before{width:18px;height:18px}.vb-head .vb-mh{font-size:1.2rem}.vb-mt{font-size:.9rem;line-height:1.5}}
@media (prefers-reduced-motion:reduce){.vb-pill,.vb-modes button{transition:none}}
.meet{position:relative;overflow:clip}
.meet::before{content:"";position:absolute;inset:-10% -10% auto;height:55%;background:radial-gradient(45% 55% at 22% 18%,rgba(214,178,112,.09),transparent 70%);pointer-events:none}
.meet .vb{margin-top:0}
.meet .ev-next{margin:0 0 clamp(1.2rem,3vw,2rem)}

/* Projekt-Story-Knopf */
.pstory.busy{opacity:.6;pointer-events:none}

/* Pattaya Condo Quiz (/quiz/) */
.qz-sec{padding-bottom:clamp(3rem,6vw,5rem)}
.qz-in{display:grid;gap:clamp(1.6rem,4vw,3.5rem);align-items:center}
@media (min-width:960px){.qz-in{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
.qz-h1 em{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--gold2)}
.qz-chips{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0}
.qz-chips li{display:flex;align-items:center;gap:.45rem;padding:.45rem .9rem;border-radius:99px;border:1px solid rgba(214,178,112,.35);background:rgba(7,9,13,.55);backdrop-filter:blur(8px);font-size:.85rem;font-weight:700;color:#d9d4cb}
.qz-chips b{color:var(--gold2);font-size:1rem}
.qz-src{font-size:.8rem;color:var(--muted);margin:0;max-width:30rem}
.qz-card{scroll-margin-top:84px;position:relative;overflow:hidden;border-radius:var(--r-lg);background:linear-gradient(160deg,#151a23,#0a0d12);border:1px solid rgba(214,178,112,.28);box-shadow:inset 0 1px 0 rgba(243,220,170,.12),0 40px 90px -45px rgba(0,0,0,.9);min-height:min(620px,calc(100svh - 120px))}
.qz-card>.qz-glow{position:absolute;top:-30%;inset-inline-end:-25%;width:80%;aspect-ratio:1;background:radial-gradient(closest-side,rgba(214,178,112,.15),transparent);pointer-events:none}
.qz-stage{position:relative;height:100%;min-height:inherit;display:grid}
.qz-start{position:relative;display:grid;place-items:end start;min-height:inherit;overflow:hidden}
.qz-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:qzKen 18s ease-in-out infinite alternate}
.qz-start::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,13,.15),rgba(7,9,13,.35) 40%,rgba(7,9,13,.92))}
.qz-start-in{position:relative;z-index:1;padding:clamp(1.4rem,4vw,2.4rem);display:grid;gap:.9rem;justify-items:start}
.qz-badge{display:grid;place-items:center;width:84px;height:84px;border-radius:26px;font:500 italic 3.4rem/1 var(--serif);color:#16120a;background:linear-gradient(150deg,#fff3d6,var(--gold2) 35%,var(--gold) 65%,var(--gold-d));box-shadow:0 18px 40px -14px rgba(214,178,112,.8),inset 0 1px 0 rgba(255,255,255,.7);animation:qzFloat 3.2s ease-in-out infinite}
.qz-k{margin:0;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:800;color:var(--gold2)}
.qz-go{font-size:1.05rem;padding:.95rem 1.6rem}
.qz-q,.qz-res{padding:clamp(1.2rem,3.6vw,2.2rem);display:flex;flex-direction:column;gap:1rem;animation:qzIn .45s var(--ease) both}
.qz-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.85rem;font-weight:700;color:var(--muted)}
.qz-n b{color:var(--text);font-size:1.05rem}.qz-pts{padding:.35rem .8rem;border-radius:99px;background:rgba(214,178,112,.12);border:1px solid rgba(214,178,112,.3);color:var(--gold2)}.qz-pts b{font-variant-numeric:tabular-nums}
.qz-prog{display:flex;gap:6px}.qz-prog i{flex:1;height:5px;border-radius:5px;background:rgba(255,255,255,.1);transition:background .3s}
.qz-prog i.on{background:linear-gradient(90deg,var(--gold),var(--gold2))}.qz-prog i.ok{background:var(--gold)}.qz-prog i.no{background:rgba(224,122,106,.7)}
.qz-timer{position:relative;height:22px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.qz-timer i{position:absolute;inset:0;transform-origin:left;background:linear-gradient(90deg,rgba(214,178,112,.35),rgba(243,220,170,.18));animation:qzTime linear forwards}
[dir=rtl] .qz-timer i{transform-origin:right}
.qz-timer span{position:relative;display:block;padding:0 .7rem;font-size:var(--fs-xs);line-height:20px;font-weight:800;letter-spacing:.08em;color:var(--gold2);text-transform:uppercase}
.qz-timer.stop i{animation-play-state:paused}
.qz-qh{display:flex;gap:.9rem;align-items:flex-start;margin-top:.3rem}
.qz-ic{flex:none;display:grid;place-items:center;width:54px;height:54px;border-radius:16px;font-size:1.6rem;background:rgba(214,178,112,.1);border:1px solid rgba(214,178,112,.3)}
.qz-qt{margin:0;font-size:clamp(1.25rem,2.6vw,1.65rem);line-height:1.25;letter-spacing:-.015em;font-weight:800;outline:none}
.qz-opts{display:grid;gap:.6rem}
@media (min-width:560px){.qz-opts{grid-template-columns:1fr 1fr}}
.qz-opts button{position:relative;display:flex;align-items:center;gap:.8rem;min-height:62px;padding:.75rem 1rem;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045);color:var(--text);font-weight:700;font-size:1.02rem;text-align:start;cursor:pointer;transition:transform .2s var(--ease),border-color .2s,background .25s,opacity .3s;animation:qzIn .4s var(--ease) both;animation-delay:var(--d,0ms)}
.qz-opts button i{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:10px;font-style:normal;font-size:.78rem;font-weight:800;color:var(--gold2);background:rgba(214,178,112,.12);border:1px solid rgba(214,178,112,.3)}
.qz-opts button:not(:disabled):hover{border-color:var(--gold);background:rgba(214,178,112,.08)}
.qz-opts button:not(:disabled):active{transform:scale(.97)}
.qz-opts button:disabled{cursor:default}
.qz-opts button.ok{border-color:var(--gold);background:linear-gradient(150deg,rgba(243,220,170,.22),rgba(214,178,112,.1));box-shadow:0 0 0 1px rgba(214,178,112,.5),0 16px 34px -18px rgba(214,178,112,.7);animation:qzPop .45s var(--ease)}
.qz-opts button.ok i{background:linear-gradient(150deg,var(--gold2),var(--gold));color:#16120a;border-color:transparent}
.qz-opts button.no{border-color:rgba(224,122,106,.6);background:rgba(224,122,106,.1);animation:qzShake .4s}
.qz-opts button.no i{color:#f2a493;border-color:rgba(224,122,106,.5);background:rgba(224,122,106,.12)}
.qz-opts button.dim{opacity:.42}
.qz-plus{position:absolute;inset-inline-end:14px;top:50%;font-weight:800;color:var(--gold2);pointer-events:none;animation:qzPlus 1s var(--ease) forwards}
.qz-ex{scroll-margin-bottom:110px;padding:1rem 1.1rem;border-radius:18px;background:rgba(0,0,0,.28);border:1px solid var(--line2);animation:qzIn .4s var(--ease) both;display:grid;gap:.5rem}
.qz-ex[hidden]{display:none}
.qz-v{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem}.qz-v b{font-size:1.15rem}.qz-v.ok b{color:var(--gold2)}.qz-v.no b{color:#f2a493}.qz-v span{font-size:.85rem;font-weight:800;color:var(--gold)}
.qz-et{margin:0;color:#d9d4cb;font-size:.95rem;line-height:1.55}.qz-es{margin:0;font-size:var(--fs-xs);color:var(--muted);font-weight:700}
.qz-next{justify-self:start;margin-top:.3rem}
.qz-res{align-items:center;text-align:center;justify-content:center}
.qz-res .kicker{margin:0}
.qz-ring{position:relative;width:min(220px,58vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(214,178,112,.12),transparent 72%,rgba(214,178,112,.1) 88%,transparent)}
.qz-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.qz-r0{fill:none;stroke:rgba(255,255,255,.08);stroke-width:8}
.qz-r1{fill:none;stroke:url(#qzg);stroke-width:8;stroke-linecap:round;stroke-dasharray:var(--c);stroke-dashoffset:var(--c);animation:qzRing 1.2s .2s var(--ease) forwards}
[dir=rtl] .qz-ring svg{transform:rotate(-90deg) scaleY(-1)}
.qz-rv{position:absolute;inset:0;display:grid;place-content:center;gap:.15rem}
.qz-rv b{font-size:clamp(2.6rem,7vw,3.4rem);line-height:1;font-weight:800;background:linear-gradient(180deg,#fff3d6,var(--gold2) 40%,var(--gold) 70%,var(--gold-d));-webkit-background-clip:text;background-clip:text;color:transparent}
.qz-rv small{font-size:.85rem;color:var(--muted);font-weight:700}
.qz-rank{margin:.3rem 0 0;font-size:clamp(1.7rem,4vw,2.4rem);letter-spacing:-.02em;font-weight:800;outline:none}
.qz-desc{margin:0;color:#d9d4cb;max-width:26rem}
.qz-dots{display:flex;gap:.45rem;justify-content:center;flex-wrap:wrap}
.qz-dots i{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;font-style:normal;font-weight:800;font-size:.9rem;animation:qzPop .4s var(--ease) both;animation-delay:var(--d)}
.qz-dots i.ok{background:linear-gradient(150deg,var(--gold2),var(--gold));color:#16120a}.qz-dots i.no{background:rgba(255,255,255,.06);border:1px solid var(--line2);color:var(--muted)}
.qz-share{margin-top:.4rem;width:min(100%,22rem);justify-content:center;font-size:1rem;padding:.9rem 1.4rem}
.qz-cta{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.qz-cta .qz-hl{border-color:rgba(214,178,112,.55);color:var(--gold2);background:rgba(214,178,112,.1)}
.qz-again{background:none;border:0;color:var(--muted);font-weight:700;cursor:pointer;padding:.4rem .8rem;font-size:.88rem}.qz-again:hover{color:var(--gold2)}
.qz-msg{margin:0;font-size:.85rem;color:#f2a493}
@keyframes qzIn{from{opacity:0;transform:translateY(12px)}}
@keyframes qzPop{0%{transform:scale(.92)}55%{transform:scale(1.04)}100%{transform:none}}
@keyframes qzShake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
@keyframes qzPlus{from{opacity:0;transform:translateY(-50%)}25%{opacity:1}to{opacity:0;transform:translateY(-190%)}}
@keyframes qzTime{to{transform:scaleX(0)}}
@keyframes qzRing{to{stroke-dashoffset:var(--o)}}
@keyframes qzKen{to{transform:scale(1.14) translate(-2%,-2%)}}
@keyframes qzFloat{50%{transform:translateY(-6px) rotate(-3deg)}}
@media (prefers-reduced-motion:reduce){.qz-bg,.qz-badge,.qz-q,.qz-res,.qz-opts button,.qz-ex,.qz-dots i,.vb-times button,.vb-ppl button{animation:none}.qz-timer i{animation:none;transform:none}.qz-r1{animation:none;stroke-dashoffset:var(--o)}}

/* ===== Übersichtlichkeit (12.10.): ein Besuchen-Kasten, Kontakt + Termin zusammen, kompaktere Handy-Bereiche, Linien-Icons statt Emojis ===== */
/* Besuchen (Startseite #visit): echte Fotos als Reihe, darunter Showroom-Infos (links) + Termin buchen (rechts, #book) */
.vgal-row{margin:0 0 clamp(1.2rem,3vw,2rem)}
@media (min-width:901px){.vgal-row{grid-template-columns:repeat(4,minmax(0,1fr))}}
.vb.vb-in{margin-top:0}
@media (min-width:900px){.vb.vb-in{grid-template-columns:minmax(0,1fr);grid-template-rows:none;align-content:start}.vb-in .vb-body,.vb-in .vb-foot{grid-column:auto;grid-row:auto}.vb-in .vb-days{margin-inline:calc(-1 * clamp(1.25rem,3vw,2.2rem));padding-inline:clamp(1.25rem,3vw,2.2rem);scroll-padding-inline:clamp(1.25rem,3vw,2.2rem)}.vb-in .vb-days button{flex-basis:4rem;padding-inline:.2rem}}
.vx .show{justify-content:flex-start}
.show .btns .btn svg:first-child{color:var(--gold)}
#book{scroll-margin-top:calc(var(--hdr,64px) + 1rem)}
.is-project #book{scroll-margin-top:calc(var(--hdr,64px) + 3.6rem)}
/* Projektseite: Kontakt + Termin in einem Bereich */
.cb-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(1.2rem,3vw,2.4rem);align-items:start}
.cb-side{display:grid;gap:1rem;align-content:start;padding:clamp(1.2rem,2.6vw,1.8rem);border-radius:var(--r-lg);border:1px solid var(--line);background:rgba(7,9,13,.55)}
.cb-side .kicker{margin:0}
.cb-side .agent{padding:0;border:0;background:none}
.cb-side .btns .btn{flex:1 1 auto;justify-content:center}
.cb-side .btns svg{color:var(--gold)}
@media (max-width:900px){.cb-grid{grid-template-columns:1fr}}
/* Linien-Icons (statt Emojis) */
.np-i{display:inline-flex}.np-i svg{width:16px;height:16px}
.disclaimer{display:inline-flex;align-items:flex-start;gap:.5rem}.disclaimer svg{flex:none;width:18px;height:18px;margin-top:.12em}
.ilegend svg{width:15px;height:15px;color:var(--gold2)}
.gd-legal b{display:inline-flex;vertical-align:-3px}.gd-legal b svg{width:18px;height:18px}
.qz-chips svg{width:17px;height:17px;color:var(--gold2)}
.qz-ic svg{width:28px;height:28px;color:var(--gold2)}
.qz-timer span svg,.qz-v span svg,.qz-es svg{width:12px;height:12px;vertical-align:-1px}
.qz-es svg{color:var(--gold)}
.qz-cta .btn span svg,.qz-share span svg{display:block;width:17px;height:17px}.qz-cta .btn span,.qz-share span{display:inline-flex}
/* Handy: kompakter, ohne Inhalte zu verlieren – Ablauf 2×2, Infrastruktur-Karten + News + Bau-Videos als Wischreihe, Deko-Karte „Ihr Inserat hier“ aus */
@media (max-width:640px){
  .steps{grid-template-columns:1fr 1fr;gap:.6rem}.steps li{padding:1rem .95rem}.steps span{font-size:1.9rem}.steps h3{margin:.5rem 0 .3rem;font-size:1rem}.steps p{font-size:.84rem;line-height:1.5}
  .icards,.news,.bp-vids{grid-template-columns:none;grid-auto-flow:column;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(-1 * var(--gut));padding:0 var(--gut) .4rem;scroll-padding:0 var(--gut)}
  .icards{grid-auto-columns:84%}.news{grid-auto-columns:86%}.bp-vids{grid-auto-columns:86%}
  .icards::-webkit-scrollbar,.news::-webkit-scrollbar,.bp-vids::-webkit-scrollbar{display:none}
  .icard,.post,.bp-vid{scroll-snap-align:start}
  a.soon-card{display:none}
}
@media (max-width:560px){.perks li{flex-direction:row;align-items:center;gap:.55rem;padding:.6rem .65rem;font-size:.8rem;line-height:1.3}.perks svg{width:1.65rem;height:1.65rem;padding:.33rem}}
.cb-where{display:grid;gap:.8rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.cb-where .addr,.cb-where .stand-live{margin:0}
.cb-map{display:inline-flex;align-items:center;min-height:40px;gap:.45rem;width:max-content;color:var(--gold2);font-weight:700;font-size:.9rem}.cb-map:hover{text-decoration:underline}.cb-map svg{width:17px;height:17px}
/* /events/: Lade-Hinweis und „Bald neue Events“ teilen sich denselben Platz (kein Layout-Sprung) */
.ev-list:empty{display:none}
.ev-msg{display:grid}.ev-msg>p{grid-area:1/1}.ev-msg>p[hidden]{display:block;visibility:hidden}.ev-empty .ev-load{color:var(--muted)}
.pd-more>.dist{margin-top:.2rem}.a-lm .pd-more{margin-top:.8rem}
.lg-port{display:inline-block;width:9px;height:9px;border-radius:50%;background:#7fb2ff;box-shadow:0 0 0 2px rgba(127,178,255,.25)}
/* Steckbrief-Knöpfe (Handy): Exposé über die ganze Breite, darunter Teilen + Story nebeneinander */
@media (max-width:640px){#facts .sec-head .btns .btn:first-child{flex-basis:100%}#facts .sec-head .btns .btn{flex:1 1 40%}}
/* Umrechnung „≈ € …“ (site.js füllt .fx erst nach dem Laden): Zeile vorab reservieren, wenn nicht ฿ gewählt ist (Kopf-Skript setzt html[data-cur]) – kein Layout-Sprung */
html:not([data-cur="THB"]) .fx[data-thb]:empty::before{content:"\a0"}

/* Kunden-Anfragen (.lf-* – Report sofort, Preisliste & Grundrisse, Rückruf; Logik static/js/lead.js). Versteckt, bis das Postfach eingerichtet ist (hidden). */
.lf-box[hidden],.lf[hidden],.lf-done[hidden],.lf-err[hidden]{display:none!important}
.lf-in{animation:lfIn .6s var(--ease) both}
@keyframes lfIn{from{opacity:0;transform:translateY(12px)}}
.lf-box{position:relative;overflow:hidden;margin-top:clamp(1.4rem,3vw,2.2rem);padding:clamp(1.2rem,3vw,2.2rem);border-radius:var(--r-lg);background:linear-gradient(155deg,rgba(214,178,112,.11),#121720 38%,#0b0e13);border:1px solid rgba(214,178,112,.28);box-shadow:inset 0 1px 0 rgba(243,220,170,.12),0 30px 80px -40px rgba(0,0,0,.85)}
.lf-box::before{content:"";position:absolute;top:-40%;inset-inline-end:-18%;width:60%;aspect-ratio:1;background:radial-gradient(closest-side,rgba(214,178,112,.14),transparent);pointer-events:none}
.lf-box>*{position:relative;min-width:0}
.lf-box-pr{display:grid;gap:1.4rem}
@media (min-width:900px){.lf-box-pr{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);column-gap:clamp(2rem,4vw,3.5rem);align-items:start}.lf-box-pr .lf-copy{position:sticky;top:96px}}
.lf-copy .h3{margin:0 0 .6rem}.lf-copy .muted{margin:0 0 1.1rem}
.lf-ben{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;gap:.55rem}
.lf-ben li{display:flex;align-items:flex-start;gap:.6rem;font-weight:600;font-size:.95rem;line-height:1.4}
.lf-ben svg{flex:none;width:20px;height:20px;padding:3px;border-radius:50%;color:#16120a;background:linear-gradient(150deg,var(--gold2),var(--gold) 60%,var(--gold-d));stroke-width:2.4}
.lf{display:grid;gap:1rem;min-width:0}
.lf-f{display:grid;gap:.4rem;min-width:0;font-size:.82rem;font-weight:600;color:var(--muted)}
.lf-f>span i{font-style:normal;font-weight:500;opacity:.8}
.lf-f input,.lf-f select{min-height:48px}
.lf input[dir=ltr]{text-align:start}[dir=rtl] .lf input[dir=ltr]{text-align:right}
.lf-row2,.lf-row3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.lf-row3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lf-lr{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:1.6rem}
.lf-cl{font-size:.82rem;font-weight:600;color:var(--muted)}
.lf-seg{display:inline-flex;flex:none;padding:2px;border-radius:999px;border:1px solid var(--line2);background:rgba(255,255,255,.03)}
.lf-seg label{position:relative;cursor:pointer}
.lf-seg input,.lf-chip input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;margin:0;padding:0}
.lf-seg span{display:block;padding:.22rem .62rem;border-radius:999px;font-size:var(--fs-xs);font-weight:800;color:var(--muted);white-space:nowrap;transition:background .2s,color .2s}
.lf-seg input:checked+span{background:rgba(214,178,112,.2);color:var(--gold2)}
.lf-seg input:focus-visible+span,.lf-chip input:focus-visible+span{outline:2px solid var(--gold2);outline-offset:2px}
.lf-fs{border:0;margin:0;padding:0;min-width:0}
.lf-fs legend{padding:0;margin:0 0 .5rem;font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--muted)}
.lf-chips{display:flex;flex-wrap:wrap;gap:.45rem}
.lf-chip{position:relative;cursor:pointer}
.lf-chip span{display:inline-flex;align-items:center;min-height:40px;padding:.45rem .9rem;border-radius:999px;border:1px solid var(--line2);background:rgba(255,255,255,.035);font-size:.86rem;font-weight:700;line-height:1.25;color:var(--text);transition:background .2s,border-color .2s,transform .15s,box-shadow .2s}
.lf-chip:hover span{border-color:rgba(214,178,112,.55)}
.lf-chip:active span{transform:scale(.96)}
.lf-chip input:checked+span{background:linear-gradient(150deg,var(--gold2),var(--gold) 60%,var(--gold-d));border-color:transparent;color:#16120a;box-shadow:0 10px 22px -14px rgba(214,178,112,.8)}
.lf-optl{margin:.2rem 0 -.3rem;display:flex;align-items:center;gap:.7rem;font-size:.78rem;font-weight:700;color:var(--gold2)}
.lf-optl::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(214,178,112,.35),transparent)}
[dir=rtl] .lf-optl::after{background:linear-gradient(270deg,rgba(214,178,112,.35),transparent)}
.lf-ok{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem;align-items:start;font-size:.8rem;line-height:1.55;color:var(--muted);cursor:pointer}
.lf-ok input{width:24px;height:24px;min-height:0;margin:.05rem 0 0;padding:0;accent-color:var(--gold);cursor:pointer}
.lf-ok a{color:var(--gold2);text-decoration:underline;text-underline-offset:2px}
.lf [aria-invalid=true]{border-color:#ff7b7b!important;box-shadow:0 0 0 3px rgba(255,107,107,.15)}
.lf-ok input[aria-invalid=true]{outline:2px solid #ff7b7b;outline-offset:2px}
.lf-err{margin:0;padding:.65rem .85rem;border-radius:12px;background:rgba(255,107,107,.1);border:1px solid rgba(255,107,107,.35);color:#ffb0b0;font-weight:700;font-size:.85rem;line-height:1.45}
.lf-go{justify-content:center;min-height:52px}
.lf-go:disabled{opacity:.7;cursor:progress;transform:none}
.lf[aria-busy=true] .lf-go svg{animation:lfSpin 1s linear infinite}
@keyframes lfSpin{to{transform:rotate(360deg)}}
.lf-sec{display:flex;align-items:center;gap:.45rem;margin:0;font-size:.76rem;color:var(--muted)}
.lf-sec svg{width:15px;height:15px;color:var(--gold)}
.lf-hp{position:absolute!important;inset-inline-start:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.lf-done{display:grid;justify-items:start;gap:.7rem;padding:.4rem 0;outline:0;animation:lfIn .6s var(--ease) both}
.lf-done h3{margin:0;font-size:clamp(1.3rem,2.6vw,1.7rem);letter-spacing:-.02em}
.lf-done p{margin:0;color:#d9d4cb;max-width:34rem}
.lf-badge{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;color:#16120a;background:linear-gradient(150deg,var(--gold2),var(--gold) 60%,var(--gold-d));box-shadow:0 14px 30px -12px rgba(214,178,112,.8),0 0 0 6px rgba(214,178,112,.12);animation:lfPop .7s var(--ease) both}
.lf-badge svg{width:28px;height:28px;stroke-width:2.4}
@keyframes lfPop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.08);opacity:1}100%{transform:none}}
/* Report: Formular = der Weg zum PDF (ersetzt den Download-Knopf, sobald das Postfach eingerichtet ist) – edle Karte mit Goldschimmer */
.lf-rp{position:relative;overflow:hidden;max-width:34rem;padding:clamp(1.1rem,3vw,1.55rem);border-radius:var(--r-lg);background:linear-gradient(155deg,rgba(214,178,112,.14),#121720 40%,#0b0e13);border:1px solid rgba(214,178,112,.36);box-shadow:inset 0 1px 0 rgba(243,220,170,.14),0 30px 70px -36px rgba(0,0,0,.9)}
.lf-rp::before{content:"";position:absolute;top:-45%;inset-inline-end:-25%;width:70%;aspect-ratio:1;background:radial-gradient(closest-side,rgba(214,178,112,.16),transparent);pointer-events:none}
.lf-rp>*{position:relative;min-width:0}
.lf-rph{display:flex;gap:.8rem;align-items:center}
.lf-rph h2{margin:0;font-size:1.12rem;line-height:1.25;letter-spacing:-.01em}
.lf-rph p{margin:.2rem 0 0;color:var(--muted);font-size:.86rem;line-height:1.45}
/* Rückruf (Kontakt) */
.lf-box-cb{margin-top:1.2rem;padding:clamp(1rem,2.6vw,1.5rem)}
.lf-cbh{display:flex;gap:.8rem;align-items:flex-start}
.lf-cbh h3{margin:0 0 .2rem;font-size:1.1rem}.lf-cbh p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}
.lf-ic{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:14px;background:rgba(214,178,112,.12);border:1px solid rgba(214,178,112,.4);color:var(--gold2)}
.lf-ic svg{width:21px;height:21px}
/* Handy-Kontaktleiste weicht über dem Formular */
body.lf-near .dock{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translate(-50%,calc(100% + 24px))!important}
@media (max-width:640px){.lf-row2{grid-template-columns:minmax(0,1fr)}.lf-rp .lf-row2,.lf-row3{grid-template-columns:repeat(2,minmax(0,1fr))}.lf-row3>:first-child{grid-column:1/-1}.lf-chip span{font-size:.84rem;padding:.42rem .8rem}.lf-box-pr{padding:1.15rem 1rem 1.25rem}.lf-ben li{font-size:.9rem}}
@media (prefers-reduced-motion:reduce){.lf-in,.lf-done,.lf-badge,.lf[aria-busy=true] .lf-go svg{animation:none}}
/* Rechtliche Hinweise /legal/ (legalPage in tools/build.mjs): Kernaussagen als 3 Kacheln, Abschnitte nummeriert, Kontakt-Kasten – ruhig, gut lesbar */
.lgp-in{max-width:880px}.lgp-head{margin:1rem 0 1.6rem}.lgp-head .lead{max-width:44rem}
.lgp-key{list-style:none;margin:0 0 2.4rem;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.lgp-key li{display:flex;gap:.75rem;align-items:center;padding:1rem 1.1rem;border-radius:var(--r);background:linear-gradient(155deg,rgba(214,178,112,.1),var(--bg2) 60%);border:1px solid rgba(214,178,112,.28)}
.lgp-key b{font-size:.92rem;line-height:1.35;font-weight:700}
.lgp-ki{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--gold2);border:1px solid rgba(214,178,112,.45);background:rgba(7,9,13,.5)}.lgp-ki svg{width:20px;height:20px}
.lgp-list{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}
.lgp-list li{padding:1.15rem 0;border-top:1px solid var(--line);scroll-margin-top:100px}
.lgp-list h2{display:flex;gap:.7rem;align-items:baseline;margin:0 0 .45rem;font-size:1.08rem;line-height:1.35}
.lgp-list h2 span{flex:none;font-size:.78rem;font-weight:800;letter-spacing:.08em;color:var(--gold)}
.lgp-list p{margin:0;color:#d4cfc6;line-height:1.65;max-width:46rem}
.lgp-ct{margin-top:2rem;padding:1.3rem 1.4rem;border-radius:var(--r-lg);background:var(--bg2);border:1px solid var(--line2)}.lgp-ct .h3{margin:0 0 .6rem}
.lgp-ct p{margin:.3rem 0;color:#d4cfc6;overflow-wrap:anywhere}.lgp-ct a{color:var(--gold2)}.lgp-ct a:hover{text-decoration:underline}
@media (max-width:760px){.lgp-key{grid-template-columns:1fr}.lgp-key li{padding:.85rem 1rem}}
html:is(:lang(th),:lang(my),:lang(fa),:lang(ar),:lang(he),:lang(zh),:lang(ko)) .lgp-list h2 span{letter-spacing:normal}
/* Partner-Programm /partner/ (partnerLanding() in tools/build.mjs): Hero mit Partnerseiten-Vorschau (rein dekorativ), Ablauf, Leistungen, Regeln + Provision
   „nach Vereinbarung“, Fragen, Bewerbung (X Leads Formular „partner“ + WhatsApp an Danial). Alles mit pl- Präfix, logische Eigenschaften (RTL). */
.pl-hero{position:relative;overflow:hidden;isolation:isolate}
.pl-glow{position:absolute;z-index:-1;width:min(720px,120vw);aspect-ratio:1;border-radius:50%;top:-12%;inset-inline-end:-18%;background:radial-gradient(closest-side,rgba(214,178,112,.2),transparent);filter:blur(8px);pointer-events:none}
.pl-hero-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.pl-h1{font-size:clamp(2.5rem,6.2vw,4.9rem)}
.pl-h1 em{display:block}
.pl-facts{list-style:none;margin:1.8rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem .6rem}
.pl-facts li{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .85rem;border-radius:999px;border:1px solid rgba(214,178,112,.3);background:rgba(214,178,112,.07);font-size:.86rem;font-weight:700;color:#ecdcb8}
.pl-facts svg{width:16px;height:16px;color:var(--gold2);stroke-width:2.2}
.pl-mock{position:relative;justify-self:center;width:min(340px,86vw)}
.pl-phone{position:relative;display:grid;gap:1rem;padding:1.6rem 1.2rem 1.3rem;border-radius:38px;background:linear-gradient(160deg,#151b24,#0a0d12 70%);border:1px solid rgba(214,178,112,.32);box-shadow:0 50px 90px -40px rgba(0,0,0,.9),inset 0 0 0 6px rgba(255,255,255,.025);transform:rotate(-2.5deg)}
.pl-notch{justify-self:center;width:84px;height:6px;border-radius:9px;background:rgba(255,255,255,.12);margin-top:-.6rem}
.pl-ph-top{display:flex;align-items:center;gap:.6rem}
.pl-ph-mono{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(214,178,112,.55);font-family:var(--serif);font-style:italic;color:var(--gold2);font-size:.95rem;direction:ltr}
.pl-ph-t{display:flex;flex-direction:column;line-height:1.3;min-width:0}.pl-ph-t b{font-size:.9rem}.pl-ph-t small{font-size:var(--fs-xs);color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-ph-hero{display:grid;justify-items:center;gap:.7rem;padding:1.3rem .5rem;border-radius:24px;background:radial-gradient(circle at 50% 30%,rgba(214,178,112,.16),transparent 70%),rgba(255,255,255,.02);border:1px solid var(--line)}
.pl-ph-ring{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(214,178,112,.5);box-shadow:0 0 0 8px rgba(214,178,112,.06),0 0 40px rgba(214,178,112,.18)}
.pl-ph-ring b{font-family:var(--serif);font-style:italic;font-weight:500;font-size:2.6rem;background:linear-gradient(140deg,#fff1cf,#d6b270 55%,#a8854a);-webkit-background-clip:text;background-clip:text;color:transparent;direction:ltr}
.pl-ph-link{font-size:.76rem;font-weight:700;color:var(--gold2);padding:.3rem .7rem;border-radius:999px;background:rgba(214,178,112,.1);border:1px solid rgba(214,178,112,.25)}
.pl-ph-stats{display:grid;gap:.55rem}
.pl-ph-stats div{display:grid;gap:.3rem}.pl-ph-stats small{font-size:var(--fs-xs);color:var(--muted);font-weight:700}
.pl-ph-stats i{display:block;height:7px;border-radius:9px;background:rgba(255,255,255,.07);position:relative;overflow:hidden}
.pl-ph-stats i::after{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,var(--gold-d),var(--gold2));transform-origin:left;animation:plGrow 2.4s var(--ease) both .4s}
[dir=rtl] .pl-ph-stats i::after{transform-origin:right}
@keyframes plGrow{from{transform:scaleX(0)}to{transform:none}}
.pl-ph-cta{display:grid;grid-template-columns:1fr auto;gap:.5rem}
.pl-ph-cta span{display:grid;place-items:center;height:42px;border-radius:999px;background:linear-gradient(135deg,var(--gold2),var(--gold) 55%,var(--gold-d));color:#16120a}
.pl-ph-cta span+span{width:42px;background:rgba(255,255,255,.05);border:1px solid var(--line2);color:var(--gold2)}
.pl-ph-cta svg{width:20px;height:20px}
.pl-mock-tag{position:absolute;bottom:-14px;inset-inline-start:-10px;display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .9rem;border-radius:999px;background:rgba(7,9,13,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(214,178,112,.4);font-size:.8rem;font-weight:800;color:var(--gold2);box-shadow:0 14px 30px -14px #000}
.pl-mock-tag svg{width:18px;height:18px}
.pl-steps-l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;counter-reset:s}
.pl-steps-l li{position:relative;padding:1.4rem 1.3rem 1.5rem;border-radius:var(--r-lg);border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01))}
.pl-sn{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;margin-bottom:1rem;font-weight:800;color:var(--gold2);border:1px solid rgba(214,178,112,.5);background:radial-gradient(circle at 30% 25%,rgba(243,220,170,.16),transparent 70%)}
.pl-steps-l h3{margin:0 0 .4rem;font-size:1.1rem;line-height:1.3}
.pl-steps-l p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.65}
.pl-get-g{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.pl-get-c{padding:1.4rem;border-radius:var(--r-lg);border:1px solid rgba(214,178,112,.18);background:radial-gradient(380px 180px at 0% 0%,rgba(214,178,112,.08),transparent 70%),var(--bg2)}
.pl-get-c h3{margin:.9rem 0 .35rem;font-size:1.1rem}
.pl-get-c p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.65}
.pl-gi{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;color:var(--gold2);background:rgba(214,178,112,.1);border:1px solid rgba(214,178,112,.28)}
.pl-gi svg{width:24px;height:24px}
.pl-rules-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,4vw,3.5rem);align-items:start}
.pl-rules-l{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.6rem}
.pl-rules-l li{display:flex;gap:.7rem;align-items:flex-start;padding:.85rem 1rem;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.02);line-height:1.55}
.pl-rules-l svg{flex:none;width:22px;height:22px;padding:3px;margin-top:.05rem;border-radius:50%;color:#16120a;background:linear-gradient(150deg,var(--gold2),var(--gold) 60%,var(--gold-d));stroke-width:2.4}
.pl-comm{position:sticky;top:100px;padding:clamp(1.4rem,3vw,2rem);border-radius:var(--r-lg);border:1px solid rgba(214,178,112,.35);background:radial-gradient(500px 260px at 100% 0%,rgba(214,178,112,.18),transparent 65%),var(--bg2);box-shadow:0 30px 70px -40px rgba(0,0,0,.9)}
.pl-comm h3{margin:1rem 0 .5rem;font-size:clamp(1.3rem,2.4vw,1.6rem);letter-spacing:-.01em}
.pl-comm p{margin:0;color:#d9d4cb;line-height:1.7}
.pl-comm .pl-comm-n{display:flex;gap:.55rem;align-items:flex-start;margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.84rem;color:var(--muted)}
.pl-comm-n svg{flex:none;width:17px;height:17px;margin-top:.2rem;color:var(--gold)}
.pl-faq-in{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(2rem,4vw,4rem);align-items:start}
.pl-apply-in{display:grid;gap:clamp(1.6rem,4vw,3rem);align-items:start}
.pl-apply-in:has(.pl-ap-f:not([hidden])){grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.pl-ap-c .lead{margin-bottom:1.4rem}
.pl-dan{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem 1rem;padding:1rem 1.1rem;border-radius:var(--r);border:1px solid rgba(214,178,112,.3);background:linear-gradient(155deg,rgba(214,178,112,.1),var(--bg2) 60%);max-width:34rem}
.pl-dan img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid rgba(214,178,112,.6)}
.pl-dan>div{flex:1;min-width:11rem;display:flex;flex-direction:column;line-height:1.45}.pl-dan span{color:var(--muted);font-size:.88rem}
.pl-legal{display:flex;gap:.55rem;align-items:flex-start;margin:1.4rem 0 0;max-width:36rem;font-size:.8rem;line-height:1.7;color:var(--muted)}
.pl-legal svg{flex:none;width:16px;height:16px;margin-top:.2rem;color:var(--gold)}.pl-legal a{color:var(--gold2);text-decoration:underline;text-underline-offset:2px}
.pl-ap-f{margin-top:0}
.lf-ap textarea{min-height:0;resize:vertical}
@media (max-width:1100px){.pl-steps-l{grid-template-columns:repeat(2,minmax(0,1fr))}.pl-get-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.pl-hero-in,.pl-rules-in,.pl-faq-in,.pl-apply-in:has(.pl-ap-f:not([hidden])){grid-template-columns:minmax(0,1fr)}.pl-mock{margin-top:1rem}.pl-comm{position:static}}
@media (max-width:600px){.pl-steps-l,.pl-get-g{grid-template-columns:minmax(0,1fr)}.pl-hero .btns .btn{width:100%;justify-content:center}.pl-phone{transform:none}}
[dir=rtl] .pl-hero .btn-gold svg,[dir=rtl] .lf-ap .lf-go svg{transform:scaleX(-1)}
@media (prefers-reduced-motion:reduce){.pl-ph-stats i::after{animation:none}}
/* Sehr kleine Handys (≤ 359 px, 13.10.): nichts ragt über den Rand – lange E-Mails/Nummern umbrechen, Knöpfe dürfen zweizeilig werden */
.agent>div,.contact-copy,.book{min-width:0}
.agent-links a{overflow-wrap:anywhere;word-break:break-word;max-width:100%}
@media (max-width:359px){.btn{white-space:normal;text-align:center;line-height:1.25;max-width:100%}}


/* Bedienbarkeit (17.10.): sichtbarer Tastatur-Fokus überall (nur Tastatur, nicht beim Tippen/Klicken), „Zum Inhalt springen“, Nach-oben-Knopf mit Lesefortschritt */
:where(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
:where(input,select,textarea):focus-visible{outline:2px solid rgba(214,178,112,.55);outline-offset:2px}
main:focus{outline:0}
.skip{position:fixed;z-index:200;top:10px;inset-inline-start:10px;padding:.7rem 1.1rem;border-radius:999px;background:var(--gold);color:#16120a;font-weight:800;font-size:.9rem;transform:translateY(-160%);transition:transform .25s var(--ease)}
.skip:focus{transform:none}
.totop{position:fixed;z-index:57;inset-inline-end:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));display:none;place-items:center;width:46px;height:46px;padding:0;border:0;border-radius:50%;background:rgba(13,17,23,.82);backdrop-filter:blur(12px);color:var(--gold2);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s,transform .4s var(--ease),visibility 0s .4s,background .25s;--p:0}
.totop.on{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .4s var(--ease),visibility 0s,background .25s}
.totop:hover{background:rgba(214,178,112,.16)}
.totop svg{width:46px;height:46px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.totop path{stroke-width:2}
.totop circle{stroke:rgba(214,178,112,.9);stroke-width:1.5;stroke-dasharray:var(--p) 100;transform:rotate(-90deg);transform-origin:center}
.totop::before{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line2)}
@media (min-width:861px){.totop{display:grid}}
@media print{.totop,.skip{display:none!important}}
/* Startseite #projects: „Zuletzt angesehen“ (site.js, localStorage xp-rv) – erscheint nur, wenn schon Projektseiten besucht wurden */
.rv{display:flex;align-items:center;gap:.6rem 1rem;flex-wrap:wrap;margin:0 0 1.4rem}
.rv-h{font-size:var(--fs-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
[dir=rtl] .rv-h,:is([lang=th],[lang=my],[lang^=zh],[lang=ko]) .rv-h{letter-spacing:.02em}
.rv-l{display:flex;gap:.5rem;flex-wrap:wrap;min-width:0}
.rv-i{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;padding:4px .95rem 4px 4px;border-radius:999px;border:1px solid var(--line2);background:var(--bg2);font-size:.86rem;font-weight:700;max-width:100%;transition:border-color .25s,background .25s;animation:rvIn .5s var(--ease) both}
[dir=rtl] .rv-i{padding:4px 4px 4px .95rem}
.rv-i img{flex:none;width:36px;height:36px;border-radius:50%;object-fit:cover}
.rv-i span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-i:hover{border-color:var(--gold);background:rgba(214,178,112,.08)}
@keyframes rvIn{from{opacity:0;transform:translateY(6px)}}
@media (max-width:640px){.rv{flex-wrap:nowrap;align-items:center;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--gut));padding-inline:var(--gut)}.rv::-webkit-scrollbar{display:none}.rv-l{flex-wrap:nowrap}.rv-h{flex:none}}
@media (prefers-reduced-motion:reduce){.rv-i{animation:none}}
.rv+.filterbar{margin-top:0} /* Filter zieht sich sonst mit -1rem unter die Chips */
.rv-i{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.012)),var(--bg2);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
/* Handy: Telefon/E-Mail in Berater-Karten waren nur 23 px hoch (Tippziel) → mind. 40 px, Abstand dafür 0 */
@media (max-width:860px){.agent-links{gap:0;margin-top:.2rem}.agent-links a{min-height:40px}}

/* ===== Atmosphäre (17.10., Danial: „zu viel flaches Schwarz“) =====
   Weiche Meer-/Lagunen-/Sand-Farbfelder statt reinem Schwarz – alles vorgerechnet: Verläufe + winziges Nebelbild img/bg/mist-sea.webp
   (0,7 KB, aus dem CC0-Foto static/img/sell/hero.webp stark weichgezeichnet + abgedunkelt). KEIN Live-Blur → flüssig auf dem iPhone.
   Bewusst schwarz bleiben: Karte, Fußzeile, Besuch (eigene Bühne), Events (eigenes Bild). */
.match-sec,#projects,#how,.sec-team,#faq,#news,#contact{position:relative;isolation:isolate}
.match-sec::before,#projects::before,#how::before,.sec-team::before,#faq::before,#news::before,#contact::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent)} /* Ränder weich → keine Kanten zwischen Bereichen */
.match-sec::before{background:radial-gradient(48% 46% at 100% 10%,rgba(47,184,176,0.202),transparent 72%),radial-gradient(44% 40% at 0% 92%,rgba(56,128,200,0.186),transparent 72%)}
#projects::before{background:radial-gradient(60% 26% at 0% 4%,rgba(47,184,176,0.202),transparent 72%),radial-gradient(55% 24% at 100% 38%,rgba(56,128,200,0.186),transparent 72%),radial-gradient(70% 22% at 25% 78%,rgba(47,184,176,0.109),transparent 72%),radial-gradient(60% 18% at 90% 100%,rgba(214,178,112,0.093),transparent 72%)}
#how::before,#contact::before{background:linear-gradient(180deg,var(--bg) 0%,rgba(7,9,13,.5) 22%,rgba(7,9,13,.62) 78%,var(--bg) 100%),url(../img/bg/mist-sea.webp) 50% 55%/cover no-repeat;opacity:.75}
#contact::before{background:linear-gradient(180deg,var(--bg) 0%,rgba(7,9,13,.58) 20%,rgba(7,9,13,.7) 80%,var(--bg) 100%),url(../img/bg/mist-sea.webp) 50% 40%/cover no-repeat;transform:scaleX(-1)}
.sec-team::before{background:radial-gradient(50% 40% at 100% 0%,rgba(214,178,112,0.139),transparent 72%),radial-gradient(55% 45% at 0% 70%,rgba(47,184,176,0.155),transparent 72%)}
#faq::before{background:radial-gradient(45% 50% at 0% 30%,rgba(56,128,200,0.171),transparent 72%),radial-gradient(40% 40% at 100% 90%,rgba(47,184,176,0.124),transparent 72%)}
#news::before{background:radial-gradient(50% 55% at 100% 50%,rgba(47,184,176,0.139),transparent 72%)}
/* Handy-Startbild: unter dem Bild kein flaches Schwarz, sondern Meer-Nebel, der in die Seite ausläuft */
@media (max-width:640px){
  .hero::before{content:"";position:absolute;left:0;right:0;top:calc(64px + 42vw);bottom:0;pointer-events:none;background:linear-gradient(180deg,rgba(7,9,13,.5) 0%,rgba(7,9,13,.38) 28%,rgba(7,9,13,.5) 74%,var(--bg) 100%),url(../img/bg/mist-sea.webp) 50% 62%/cover no-repeat}
  .hero-media{-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent)} /* Bild läuft in den Meer-Nebel aus statt in Schwarz */
  .hero .hero-shade{background:linear-gradient(180deg,rgba(7,9,13,.62) 0%,rgba(7,9,13,.08) 26%,rgba(7,9,13,0) 58%,rgba(7,9,13,.22) 84%,rgba(7,9,13,0) 100%)}
  .marquee{background:linear-gradient(90deg,rgba(47,184,176,0.093),rgba(214,178,112,0.078),rgba(56,128,200,0.093))}
}
/* 404-Seite (17.10.): Hinweis + Startseite/WhatsApp + beliebte Seiten + Projekte */
.nf-in{max-width:880px}
.nf .btns{margin:1.4rem 0 2.4rem}
.nf-nav .h3{margin:0 0 .9rem}
.nf-links{list-style:none;margin:0 0 1.6rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.nf-links a{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:0 1rem;border:1px solid var(--line2);border-radius:999px;font-weight:600}
.nf-links a:hover{border-color:var(--gold);color:var(--gold2)}.nf-links svg{width:14px;height:14px;color:var(--gold)}[dir=rtl] .nf-links svg{transform:scaleX(-1)}
.nf-proj{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem}
.nf-proj a{display:grid;gap:.45rem;font-weight:700;font-size:.92rem}
.nf-proj img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;border:1px solid var(--line)}
.nf-proj a:hover span{color:var(--gold2)}
.bp-note a,.muted a[target=_blank]{text-decoration:underline;text-decoration-color:rgba(214,178,112,.55);text-underline-offset:3px} /* Links im Fließtext erkennbar (nicht nur Farbe), Lighthouse link-in-text-block */
.calc .c-v{font-size:var(--fs-xs);font-weight:600;color:var(--gold);margin-top:-.15rem;min-height:1.1em;font-variant-numeric:tabular-nums}
/* Fußzeile Handy: Links mit Daumen-Fläche ≥ 40 px (vorher ~20 px, Bewertung 17.10.) */
@media (max-width:640px){.ftr-in>div>a:not(.brand){padding:.55rem 0}.ftr-bot{gap:.2rem 1.2rem}.ftr-bot a{display:inline-flex;align-items:center;min-height:40px}}

/* ===================== Update 3 – Strang E „Polish“ (SPEC R1–R9, 17.10.2026) ===================== */
/* R4/R8 Effekt-Budget: Endlos-Animationen außerhalb der Sicht pausieren (site.js setzt .anim-off per IntersectionObserver) */
.anim-off,.anim-off::before,.anim-off::after{animation-play-state:paused!important}
/* Startbild: Text sofort lesbar (kein Unsichtbar-/Unschärfe-Start, Bewertung Runde 2 #2) – nur ein kurzes Einschweben */
.hero-in>*,.hero .stats,.phero-in>*,.intro-on .hero-in>*,.intro-on .hero .stats{opacity:1;animation:riseT .6s var(--ease) both;animation-delay:0s}
@keyframes riseT{from{transform:translateY(10px)}to{transform:none}}
.hero .h1 em{animation-iteration-count:2} /* Goldschimmer zweimal, danach ruhig (Effekt-Budget) */
.hwx-dot,.hwx-ic .ray{animation-iteration-count:3}
.stand-live.is-open .sl-status i{animation-iteration-count:4}
.pin{animation-iteration-count:3}
.x3d-btn::before{animation-iteration-count:2}
/* 3 Wege: EINE wischbare Zeile unter den Kennzahlen */
.ways{position:relative;z-index:2;width:100%;align-self:stretch;display:flex;gap:.6rem;margin-top:.9rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.ways::-webkit-scrollbar{display:none}
.way{flex:none;display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:0 1.05rem;border-radius:999px;border:1px solid rgba(214,178,112,.32);background:rgba(10,13,18,.55);color:var(--text);font-weight:700;font-size:.92rem;white-space:nowrap;transition:border-color .25s,background .25s}
.way svg{width:18px;height:18px;color:var(--gold2)}
.way:hover{border-color:var(--gold);background:rgba(214,178,112,.1)}
.hf-pf{margin-top:.6rem}
.hf-roi strong svg{width:clamp(1.5rem,2.6vw,2rem);height:clamp(1.5rem,2.6vw,2rem);color:var(--gold2)}
.hf-roi span i{font-style:normal;color:var(--gold2)}
@media (max-width:640px){
  .hero-media{height:calc(56px + 70vw)}
  .hero .hero-shade{height:calc(56px + 70vw)}
  .hero-in{margin-top:-1.6rem}
  .hero .hwx-w{position:absolute;top:-2.9rem;inset-inline-start:var(--gut);margin:0}
  .hero .kicker{margin-bottom:.55rem}
  .hero .h1{font-size:clamp(2.3rem,10vw,2.6rem);margin-bottom:.7rem}
  .hero .lead{font-size:1rem;line-height:1.5;margin-bottom:1.1rem}
  .hero .btns{flex-wrap:nowrap;gap:.55rem}
  .hero .btns .btn-lg{flex:1 1 0;min-width:0;justify-content:center;padding:.85rem .6rem;font-size:.92rem;white-space:normal;text-align:center;line-height:1.2}
  .hero .stats{margin-top:1rem}
  .hfacts>a{padding:.7rem .85rem}
  .hfacts strong{font-size:1.2rem}
  .hfacts span{font-size:var(--fs-xs)}
  .hf-live .sl-status{min-height:1.6rem;font-size:.92rem}
  .way{font-size:.88rem;padding:0 .9rem}
}
/* Projekte: Ansicht Liste | Karte, Finder-Kachel, Finder-Feld, Preis-Pins */
.pv{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line2);border-radius:999px;background:rgba(7,9,13,.6)}
.pv-b{display:inline-flex;align-items:center;gap:.45rem;min-height:40px;padding:0 1rem;border:0;border-radius:999px;background:none;color:var(--muted);font:700 .88rem/1 var(--ff);cursor:pointer}
.pv-b svg{width:16px;height:16px}
.pv-b.on{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#16120a}
.pv-b:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.chip.zero:not(.on){display:none}
.card-find{display:flex;flex-direction:column;justify-content:flex-end;gap:.55rem;min-height:100%;padding:1.4rem;border-radius:var(--r-lg);border:1px solid rgba(214,178,112,.35);background:radial-gradient(120% 90% at 85% 10%,rgba(214,178,112,.2),transparent 60%),linear-gradient(180deg,#121720,var(--bg2));color:var(--text);transition:border-color .3s,transform .4s var(--ease)}
.card-find:hover{border-color:var(--gold);transform:translateY(-3px)}
.card-find .kicker{margin:0}
.card-find strong{font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.25;letter-spacing:-.01em}
.card-find .btn{align-self:flex-start;margin-top:.4rem}
.cf-ic{display:grid;place-items:center;width:52px;height:52px;margin-bottom:auto;border-radius:16px;border:1px solid rgba(214,178,112,.35);background:rgba(214,178,112,.08);color:var(--gold2)}
.cf-ic svg{width:26px;height:26px}
.pmap{margin-top:.4rem}
.pmap .map{height:min(70vh,560px)}
.ppin-w{background:none;border:0}
.ppin{position:absolute;left:0;top:0;transform:translate(-50%,-100%);display:inline-block;padding:.3rem .6rem;border-radius:999px;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#16120a;font:800 var(--fs-xs)/1.2 var(--ff);white-space:nowrap;box-shadow:0 6px 16px -6px rgba(0,0,0,.8);border:1px solid rgba(7,9,13,.6)}
.ppin::after{content:"";position:absolute;left:50%;bottom:-5px;width:9px;height:9px;margin-left:-4.5px;background:var(--gold);transform:rotate(45deg);border-right:1px solid rgba(7,9,13,.6);border-bottom:1px solid rgba(7,9,13,.6);z-index:-1}
@media (max-width:640px){.pv-b{padding:0 .8rem}.card-find{padding:1rem;gap:.4rem}.card-find strong{font-size:1rem}.cf-ic{width:42px;height:42px;border-radius:13px}.cf-ic svg{width:22px;height:22px}.card-find .btn{padding:.5rem .8rem;font-size:var(--fs-xs)}.pmap .map{height:62vh}}
.fadesk-sec#fadesk{padding:0 0 clamp(2rem,5vw,3rem)}
/* Warum X Property: So arbeiten wir + Versprechen + Bauträger (Text) + Team in EINEM Abschnitt */
.devs{margin:1.6rem 0 0;color:var(--muted);font-size:.95rem;line-height:1.6}
/* Kontakt im Abschnitt #meet (23.10.2026, vorher U3-ORDER im Besuch-Bereich): unter der Buchung v2 – ohne eigenes Band/Nebelbild, nur Abstand + feine Linie, kompakte Überschrift */
.meet .contact{background:none;border-top:1px solid var(--line);margin-top:clamp(1.8rem,4.5vw,2.8rem);padding-top:clamp(1.5rem,4vw,2.4rem)}
.meet #contact::before{content:none}
.vc-h{font-size:clamp(1.6rem,3vw,2.2rem)}
.vc2 .vc-h{margin:0 0 1rem;font-size:clamp(1.25rem,2.2vw,1.6rem)}
@media (min-width:861px){.vc2 .contact-in{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.6rem,3.5vw,3rem)}.vc2 .book{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.vc2 .book>label:has(textarea),.vc2 .book>.btn{grid-column:1/-1}}
@media (max-width:640px){.vc2 .vc-h{margin-bottom:.7rem}.vc2 .agent{gap:.8rem;padding:.8rem}.vc2 .agent-img{width:60px;height:60px}.vc2 .contact-in{gap:1rem}}
/* Stand ganz unten (#visit, 23.10.2026): Info-Kachel rechts neben der Überschrift (Handy darunter), dann echte Fotos + 3D-Weg */
.visit .sec-head{align-items:center}
.vinfo{position:relative;display:grid;gap:.85rem;align-content:start;width:min(100%,25rem);padding:clamp(1.05rem,2.4vw,1.45rem);border-radius:var(--r-lg);background:linear-gradient(160deg,rgba(214,178,112,.10),rgba(20,26,34,.86) 45%,var(--bg2));border:1px solid rgba(214,178,112,.28);box-shadow:inset 0 1px 0 rgba(243,220,170,.12),0 24px 60px -36px rgba(0,0,0,.9)}
.vinfo .addr,.vinfo .stand-live{margin:0}
.vinfo .btns{display:flex;flex-wrap:wrap;gap:.5rem}.vinfo .btns .btn{flex:1 1 auto;justify-content:center}
.vinfo .btns svg{color:currentColor}.vinfo .btn-ghost svg{color:var(--gold)}
.vinfo .rate-g{margin:0}
@media (max-width:640px){.vinfo{width:100%}.visit .sec-head .muted{display:none} /* Handy: Adresse steht strukturiert in der Kachel (spart ~100 px, Startseite ≤ vorher) */}
.visit .jr:last-child{margin-bottom:0} /* Weg zum Stand steht am Ende des Besuch-Bereichs */
/* Kontakt: LINE-Reiter (nur mit config.channels.line) */
.cpanel[data-t=ln] .cp-wa,.cpanel[data-t=ln] .cp-cb,.cpanel:not([data-t=ln]) .cp-ln{display:none}
.cpanel:has(.cp-ln) .ctabs{display:flex}
.cpanel:has(.lf-box-cb[hidden]) #ct-cb,.cpanel:not(:has(.lf-box-cb)) #ct-cb{display:none}
.ln-box{display:grid;gap:1rem;padding:1.4rem;border-radius:var(--r-lg);border:1px solid var(--line2);background:rgba(10,13,18,.6)}
.ln-box h3{margin:0 0 .3rem;font-size:1.15rem}.ln-box p{margin:0}.ln-box .btn{justify-self:start}
/* Pattaya verstehen: Kennzahlen 2×2, Link zum Ratgeber, Neuigkeiten-Streifen */
.istats{grid-template-columns:1fr 1fr;max-width:640px}
.imore{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:1.2rem 0 0}
.infra .pev{margin-top:clamp(2rem,5vw,3rem)}
.nstrip{margin-top:clamp(2rem,5vw,3rem)}
.ns-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.3rem 1rem;margin-bottom:1rem}
.ns-head .h3{margin:0}.ns-head p{margin:0}
.ns-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.ns-it{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:.9rem;padding:.6rem;border-radius:var(--r);border:1px solid var(--line);background:rgba(255,255,255,.03);transition:border-color .25s}
.ns-it:hover{border-color:rgba(214,178,112,.5)}
.ns-img{display:block;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--bg3)}.ns-img img{width:100%;height:100%;object-fit:cover}
.ns-b{display:grid;gap:.15rem;min-width:0}.ns-b small{color:var(--gold);font-size:var(--fs-xs);font-weight:700}.ns-b strong{font-size:1rem;line-height:1.3}
@media (max-width:900px){.ns-row{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.ns-row::-webkit-scrollbar{display:none}.ns-it{scroll-snap-align:start}}
/* Weg zum Stand (R1/R4): kürzere Fahrt, Platzhalter statt Inline-SVG (Datei lädt nur ohne 3D) */
.jr-ph{display:block;width:100%;aspect-ratio:1070/770;background:radial-gradient(70% 60% at 55% 40%,rgba(214,178,112,.08),transparent 70%)}
.jr.jr-on .jr-ph{flex:1;min-height:0;aspect-ratio:auto}
.jr.jr-3d .jr-ph{display:none}
/* Ratgeber: Karte + Zeitplan + Projekt-Karten der Infrastruktur (bis 17.10. auf der Startseite) */
.gd-ibody{display:grid;gap:1.4rem;margin:1.4rem 0}
.gd-icards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin:0 0 1.2rem}
.imap .route-flow{animation-iteration-count:6}
/* Fußzeile am Handy kompakter (R1-Höhe): Projekte + Lagen zweispaltig, Kontakte nebeneinander, Tippflächen ≥ 44 px */
.ftr-bot a{min-height:44px}
@media (max-width:640px){
  .ftr{padding:2.6rem 0 3rem}
  .ftr-in{gap:1.6rem}
  .ftr-in>div:nth-child(2){display:grid;grid-template-columns:1fr 1fr;column-gap:1rem}
  .ftr-in>div:nth-child(2) .ftr-t{grid-column:1/-1}
  .ftr-in>div:nth-child(2) p{margin:0;font-size:.85rem;overflow-wrap:anywhere}
  .ftr-in>div:nth-child(3){display:grid;grid-template-columns:1fr 1fr;column-gap:1rem}
  .ftr-in>div:nth-child(3) .ftr-t{grid-column:1/-1}
  .ftr-in>div:nth-child(3)>a:not(.brand){display:flex;align-items:center;min-height:44px;padding:0;line-height:1.3}
  .ftr-pl{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:1rem}
  .ftr-pl>a{display:flex;align-items:center;min-height:44px;padding:0;line-height:1.3}
  .ftr-bot{margin-top:1.8rem;padding-top:1rem}
  .ftr-lang-g{grid-template-columns:repeat(4,minmax(0,1fr))}
}
/* Startseite am Handy kompakter (R1: ≤ 13.500 px) – Inhalte bleiben, nur Abstände/Anordnung */
@media (max-width:640px){
  .sec{padding:2.6rem 0}
  .sec-head{margin-bottom:1.5rem}
  .is-home .show{padding:1.2rem}
  .is-home .show>p:not(.kicker){font-size:.92rem;line-height:1.5;margin:.3rem 0 .9rem}
  .is-home .perks{margin-bottom:1rem}
  .is-home .perks li{flex-direction:row;align-items:center;gap:.5rem;padding:.55rem .6rem;font-size:var(--fs-xs)}
  .is-home .perks svg{width:1.6rem;height:1.6rem;padding:.3rem}
  .vb-times{display:flex;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * clamp(1.25rem,3vw,2.2rem));padding:2px clamp(1.25rem,3vw,2.2rem) 4px;overscroll-behavior-x:contain}
  .vb-times::-webkit-scrollbar{display:none}
  .vb-times button{flex:0 0 4.4rem}
  .is-home .steps{grid-template-columns:1fr 1fr;gap:.6rem}
  .is-home .steps li{padding:1rem .9rem}
  .is-home .steps span{font-size:1.9rem}
  .is-home .steps h3{margin:.4rem 0 .3rem;font-size:1rem;line-height:1.3}
  .is-home .steps p{font-size:.88rem;line-height:1.5}
  .is-home .contact textarea{min-height:0;height:4.2rem}
}
/* Projektkarten am Handy (2 Spalten): Bild etwas flacher, ab-Preis + Fertigstellung nebeneinander, Beleg-Chip auf dem Bild (keine Zusatz-Zeile) */
.card-pf{padding:0 1.4rem 1.2rem}
.card-pf .proof{max-width:100%}
@media (max-width:640px){
  #projects .card:not(.c-wide) .card-img{aspect-ratio:4/3.7}
  #projects .card:not(.c-wide) .card-meta{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:.45rem}
  #projects .card:not(.c-wide) .card-meta>div{min-width:0}
  #projects .card:not(.c-wide) .card-meta .fx{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #projects .card .card-pf{padding:0 .75rem .7rem;margin-top:-.2rem}
  #projects .card .card-pf .proof .pf-b{min-height:26px;padding:.15rem .5rem .15rem .4rem}
  #projects .card:not(.c-wide) .cmp-btn{top:calc(92.5cqw - 48px)}
  .is-home .show>.addr{margin-bottom:.6rem}
  .fadesk{grid-template-columns:96px minmax(0,1fr);text-align:start;gap:.9rem}
  .fadesk-img{margin:0;width:96px}
  .fadesk .h2{font-size:1.25rem}
  .fadesk .muted{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.7;margin:0 0 .6rem}
  .fadesk-l{margin:0 0 .7rem}
  .fadesk .btns{grid-column:1/-1;justify-content:stretch}.fadesk .btns .btn{flex:1;justify-content:center}
  .fadesk-l,.fadesk .btns{justify-content:flex-start}
  .ask{padding:.9rem}
  .faq .qa summary{padding-block:.95rem}
  .ftr-lang-g a{min-height:46px;padding:.3rem .2rem}
}
.fresult .pv{flex:none}
.filterbar.pv-map :is(.fpanel,.ftoggle,.fres,.freset){display:none!important}
.filterbar.pv-map{margin-bottom:1rem}
@media (max-width:640px){
  .fresult .pv-b{width:40px;min-height:40px;padding:0;justify-content:center}
  .fresult .pv-b span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
  .sec{padding:2.3rem 0}
  .is-home .show>p:not(.kicker){display:none}
  .is-home .show .addr{margin-bottom:.4rem}
  .is-home .show .btns{margin-top:.2rem}
  .sec-team .sec-head{margin-bottom:1rem}
  .sec-team .sec-head .kicker{display:none}
  .sec-team .sec-head .h2{font-size:1.6rem;margin-bottom:.4rem}
  .is-home .pf-prom{margin-top:1.1rem;padding:14px}
  .is-home .pf-prom h3{font-size:1rem;margin-bottom:.6rem}
  .is-home .pf-prom ul{gap:7px}
  .is-home .pf-prom li{font-size:.88rem;line-height:1.45}
  .fadesk-l{display:none}
}
@media (max-width:640px){#projects .card:not(.c-wide) .card-meta small{text-transform:none;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
/* R8/R9 Effekt-Budget (Credit-Karte v3: nur das Randlicht läuft dauerhaft, Status-Puls 3×, Knopf-Streif 2× – direkt in den Regeln oben) */
.rpt-led .rpt::before{animation-iteration-count:2}
.rpt-led::before{animation-iteration-count:3}
.show-glow{animation-iteration-count:2}
/* Schrift ≥ 12 px auch in eingebetteten Bausteinen auf Kundenseiten (Events-Leiste, KI-Hinweis am Marktplatz-Band) */
:root:not(#_) :is(.pev-dt small,.pev-rel,.pev-note){font-size:var(--fs-xs)}
body .mk-aib{font-size:max(12px,.75rem)}
:root:not(#_) .pev-rel.now::before{animation-iteration-count:3} /* U3-ORDER: Events stehen jetzt direkt vor der Danial-Karte – pevents.css (lädt später, Kurzschreibweise „infinite“) darf das nicht überschreiben */
/* Robustheit (Bewertung Runde 2 #26): Einblenden nur, wenn site.js läuft (html.sjs); ohne Skript bzw. wenn es ausfällt, erscheint alles nach spätestens 2,5 s.
   Ohne Unschärfe-Filter (rechenintensiv auf großen Flächen) – nur Deckkraft + Verschiebung. */
.reveal{filter:none;transition:opacity 1s var(--ease),transform 1s var(--ease)}
html:not(.js) .reveal{opacity:1;transform:none}
.js:not(.sjs) .reveal:not(.in){animation:revealFb .4s 2.5s forwards}
@keyframes revealFb{to{opacity:1;transform:none}}
/* Projektseite (R3): Wohnungstypen am Handy 4 Karten + „Alle N anzeigen“ (alle Karten + Grundrisse bleiben im HTML), Ausstattung als Akkordeon */
.ut-all{display:none;margin:1rem auto 0}
.ut-all .ut-all2,.ut-all[aria-expanded=true] .ut-all1{display:none}.ut-all[aria-expanded=true] .ut-all2{display:inline}
@media (max-width:640px){.js .ut-grid:not(.all)>.ut:nth-child(n+5){display:none}.js .ut-all{display:flex}}
.fac-acc{align-items:start}
.fac-it{padding:0 1.2rem;border:1px solid var(--line);border-radius:var(--r);background:var(--bg2)}
.fac-it summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:56px;cursor:pointer}
.fac-it summary::-webkit-details-marker{display:none}
.fac-it summary h3{margin:0}
.fac-it[open] .qa-i{transform:rotate(45deg)}
.fac-it p{margin:0 0 1.1rem}
.pintro-h{margin:0 0 .6rem}
.rpt-h{margin:0;font:inherit}
.rpt-h strong{display:block}
/* R7 Grundrisse ruhig gerahmt (statt grell weißer Kästen): dunkler Rahmen, Plan auf warmem Papierton, leicht gedämpft */
.ut-pic{background:linear-gradient(160deg,#1b2029,#11151c);padding:10px}
.ut-pic .ut-plan,.ut-pic .gal-it{width:100%;height:100%;padding:0;border:0;background:#f3efe6;border-radius:10px;overflow:hidden}
.ut-pic img{width:100%;height:100%;object-fit:contain;filter:brightness(.95) contrast(1.02)}
.ugal.dark .ut-pic .ut-plan,.ugal.dark .ut-pic .gal-it{background:#0b0e13}
.gal-plans .gal-it{background:#f3efe6}
/* Projektseite am Handy kompakter (R3: ≤ 14.000 px) – nichts entfernt, nur Anordnung */
@media (max-width:640px){
  .is-project .ut-acts{grid-template-columns:1fr 1fr}
  .is-project .ut-acts .btn{padding:.7rem .6rem;font-size:.85rem;white-space:normal;line-height:1.25;text-align:center}
  .is-project .ut-pic{aspect-ratio:4/2.8;padding:6px}
  .is-project .bp-media{grid-auto-flow:column;grid-template-columns:none!important;grid-auto-columns:86%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
  .is-project .bp-media::-webkit-scrollbar{display:none}
  .is-project .bp-media>*{scroll-snap-align:start}
  .is-project .bp-media .ba{aspect-ratio:4/3.2}
  .fac-it summary{min-height:48px}
  .fac-acc{gap:.5rem}
  .is-project .pintro .big{font-size:1.02rem;line-height:1.55;margin-bottom:1rem}
  .is-project .kpi{padding:.75rem .8rem}
  .is-project .calc-list div{padding:.6rem .8rem}
  .is-project .calc-out{gap:.55rem}
  .is-project .cb-side{gap:.7rem;padding:1rem}
  .is-project .deposits>div{padding:.7rem .8rem}
  .is-project .refs .ref-t{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .is-project .zero{gap:.8rem}
}
@media (max-width:640px){
  .is-project .sec{padding:1.9rem 0}
  .is-project .sec-tight{padding:1.5rem 0}
  .is-project .sec-head{margin-bottom:1rem;gap:.8rem}
  .is-project .ut-b dl{display:grid;grid-template-columns:1fr;gap:.25rem;margin:0}
  .is-project #progress .bp-tl-l li{padding-bottom:.6rem}
  .is-project .cb-where{gap:.4rem}
  .is-project .dist li{padding-block:.45rem}
}
.calc-list [hidden]{display:none!important} /* ohne Kredit (100 % Eigenkapital) keine „0 ฿“-Rate (Bewertung Runde 2 #17) */
.c-src{display:block;margin-top:.3rem;color:var(--muted);font-size:var(--fs-xs);line-height:1.4}
@media (max-width:640px){
  .is-project .h2{font-size:1.7rem;line-height:1.12}
  .is-project .reasons li{font-size:.9rem}
}
@media (max-width:640px){
  .is-project .keybar-in{grid-template-columns:repeat(3,minmax(0,1fr))}
  .is-project .keybar-in>div{padding:.75rem .6rem;border-left:0;border-top:1px solid var(--line)}
  .is-project .keybar-in>div:not(:nth-child(3n+1)){border-left:1px solid var(--line)}
  .is-project .keybar-in strong{font-size:1rem}
  .is-project .keybar-in .fx{font-size:var(--fs-xs)}
  .js .is-project .dev .muted:not(.open){display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
  .dev-more{display:none}
  .js .is-project .dev-more{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;background:none;color:var(--gold2);font-weight:700;cursor:pointer}
  .is-project #facts .btns{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
  .is-project #facts .btns .btn-gold{grid-column:1/-1;justify-content:center}
  .is-project #facts .btns .btn-ghost{justify-content:center}
  .is-project .cb-where .stand-live{display:none}
  .is-project .bp-tl-l li{padding-bottom:.45rem;line-height:1.4}
  .is-project .bp-note{font-size:var(--fs-xs)}
}
@media (max-width:640px){
  .is-project .gal-plans{grid-auto-columns:62%}
  .is-project .ut-foot{margin-top:.8rem;font-size:var(--fs-xs);line-height:1.5}
  .is-project .phero .h1{font-size:clamp(2.1rem,9vw,2.5rem);margin-bottom:.5rem}
  .is-project .phero .lead{margin-bottom:.7rem}
  .is-project .phero .card-tags{margin-bottom:.6rem}
  .is-project .pagent{padding:.9rem 1rem}
  .is-project .pagent .kicker{margin-bottom:.5rem}
  .is-project .grid-swipe .card-img{aspect-ratio:16/10}
  .is-project .bp-media .ba,.is-project .bp-media .bp-tl{max-height:220px}
}
@media (max-width:640px){
  .is-project .reasons{gap:.4rem}
  .is-project .reasons li{padding:.45rem .75rem;font-size:.86rem;line-height:1.35}
  .is-project .disclaimer{font-size:var(--fs-xs);padding:.6rem .8rem}
  .is-project .zero-seal{width:76px;height:76px}
  .is-project .zero p{font-size:.9rem;line-height:1.45;margin:0}
  .is-project #calc .sec-head .muted{font-size:.92rem}
}

/* R2 (Update 3, Strang E): Untergrenze 12 px für Bausteine aus fremden Dateien (Marktplatz market-public.css / market-sell.css, Strang B) –
   dort stehen 0,62–0,74 rem (≈ 10–11,8 px). :not(#_) hebt die Spezifität, damit die Regel unabhängig von der Lade-Reihenfolge gilt.
   Für B/G: Werte in market-*.css auf var(--fs-xs) bzw. max(12px,…) setzen, dann diesen Block löschen. Nur Elemente, die bei 390/1440 unter 12 px lagen. */
:root:not(#_) :is(.mkx-fld span,.mkx-stats dt,.mkf-k,.mk-fee-n,.mkf-pj-i em,.mkf-b-i em,.mkf-pj-s,.mkf-b-f i,.lc-tag,.lc-ver,.mk-card .lc-ver,.lc-feats i,.sx-hcard-k,.sx-hcard-n,.sx-ai,.sx-kick,.sx-form .st-l,.sx-mring b,.st-pl,.sx-pvt button,.sx-sb b,.sx-tasks em){font-size:var(--fs-xs)}
@media (max-width:640px){:root:not(#_) :is(.sx-hcard-g,.sx-rail button){font-size:var(--fs-xs)}}
/* R2: Zahlungsplan-Zusatz „(6×)“ (<small> = 83 %) und Streckenkarte im Ratgeber am Handy (viewBox 360 → ~0,9 × → Beschriftung ≥ 12 px) */
.paybar small{font-size:inherit}
@media (max-width:640px){.imap text{font-size:14px}.imap .region{font-size:14px;letter-spacing:.2em}}
/* Bewertung Runde 2 #4: Sprachwahl im Preislisten-Formular nennt jede Sprache in ihrer Schrift – Systemschrift, sonst lädt die Projektseite ~280 KB Web-Schriften (Arabisch, Thai, Myanmar, Hebräisch …) */
.lf select[name=pl],.lf select[name=pl] option{font-family:var(--sys)}
/* Bewertung Runde 2 #22: „Meeting type“ war bei 390 px abgeschnitten (neben dem Datum) – jetzt Name | Datum in einer Reihe, Projekt + Art je volle Breite (gleich viele Reihen) */
.book .row2-nd{grid-template-columns:minmax(0,1fr) auto}
.book .row2-nd input[type=date]{min-width:9.5rem}
/* R3 /sell/: Kopfleiste weicht beim Runterscrollen (site.js body.hdr-off) – Schritt-Leiste rückt nach oben (--hdr am Element, Hero-Abstände bleiben), am Handy nur die Schritte sichtbar */
.hdr{transition:transform .32s var(--ease),background .3s,border-color .3s,backdrop-filter .3s}
.hdr-off .hdr{transform:translateY(-105%)}
.hdr-off .sx-bar{--hdr:0px}
@media (max-width:640px){.hdr-off .sx-bar{top:-2.1rem}}
@media (prefers-reduced-motion:reduce){.hdr{transition:background .3s,border-color .3s}}
/* Handy: Buchen-Knopf + „In den Kalender“ (nur Symbol, Text bleibt für Screenreader) in einer Reihe; „Weitere Projekte“ als kompakte Wisch-Karten (Projektseite ≤ 14.000 px auch auf Deutsch) */
@media (max-width:640px){
  .vb-foot .btns{flex-wrap:nowrap}.vb-foot .vb-wa{flex:1 1 auto}
  .vb-foot .vb-ics{flex:0 0 52px;min-width:52px;padding:0}.vb-foot .vb-ics span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.vb-foot .vb-ics svg{width:22px;height:22px}
  .is-project .grid-swipe :is(.card-tag,.card-units){display:none}
}
/* Projektseite Handy: Entfernungen zweispaltig (Name über Entfernung), Zahlungsbalken flacher – alle Sprachen näher an ≤ 14.000 px */
@media (max-width:640px){
  .is-project #location .dist{display:grid;grid-template-columns:1fr 1fr;column-gap:1rem}
  .is-project #location .dist li{display:grid;gap:.1rem;align-content:start;padding-block:.5rem}
  .is-project #location .dist li b{font-size:.95rem}
  .is-project .paybar div{padding:.65rem .55rem}.is-project .paybar b{font-size:1.05rem;line-height:1.15}.is-project .paybar span{line-height:1.3}
}
/* „Weiterlesen“ beim Bauträger nur am Handy (Text dort auf 5 Zeilen gekürzt) – am Desktop steht der ganze Text */
.dev-more{display:none}
@media (max-width:640px){.js .is-project .dev-more{display:inline-flex}}
/* R7 Desktop: Bauträger-Bilanz zweispaltig – Referenz-Karten quer (Bild links, Text rechts), auch eine einzelne Referenz füllt die halbe Breite */
@media (min-width:900px){
  .refs-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ref{flex-direction:row}
  .ref>.ref-img{flex:0 0 46%;width:46%;aspect-ratio:auto;min-height:15rem}
  .ref>.ref-img :is(img,video){width:100%;height:100%;object-fit:cover}
  .ref-b{flex:1;justify-content:center}
}
/* R4 Tempo: Abschnitte weit unter dem Startbild erst zeichnen, wenn sie in die Nähe kommen (content-visibility) – entlastet den ersten Aufbau (LCP).
   Platzhalter = echte Inhaltshöhe ohne Innenabstand (Handy/Desktop, gemessen 17.10.), „auto“ merkt sich danach die wirkliche Größe. Bilder/Inhalte bleiben unverändert im HTML. */
/* U3-ORDER 18.10.: neue Reihenfolge (#how nach Projekten, #contact im Besuch-Bereich, #team eigener Abschnitt) – Platzhalter neu gemessen (EN, 390 + 1440); .credit = Danial-Karte v4 (19.10., Inhalt ohne Innenabstand) */
/* 23.10.2026: #meet (Buchung v2 + Kontakt) nach den FAQ, #visit (Stand) ganz unten – neu gemessen (EN, 390 + 1440, ohne content-visibility), dazu #sell #team #infra #faq .credit .ftr
   (Abweichungen verschoben Sprungziele während der weichen Fahrt – site.js justiert zusätzlich nach); #contact steckt in #meet; #how pflegt W2 (So arbeiten wir) */
.is-home :is(#how,#visit,#meet,#report,#sell,#team,#infra,#faq),.is-home .credit,.is-home .ftr{content-visibility:auto}
.is-home #visit{contain-intrinsic-size:auto 1430px}.is-home #report{contain-intrinsic-size:auto 381px}.is-home #sell{contain-intrinsic-size:auto 420px}.is-home #how{contain-intrinsic-size:auto 703px}.is-home #meet{contain-intrinsic-size:auto 1449px}.is-home #team{contain-intrinsic-size:auto 1444px}.is-home #infra{contain-intrinsic-size:auto 1811px}.is-home #faq{contain-intrinsic-size:auto 773px}.is-home .credit{contain-intrinsic-size:auto 242px}.is-home .ftr{contain-intrinsic-size:auto 651px}
@media (max-width:640px){.is-home #visit{contain-intrinsic-size:auto 1356px}.is-home #report{contain-intrinsic-size:auto 312px}.is-home #sell{contain-intrinsic-size:auto 406px}.is-home #how{contain-intrinsic-size:auto 935px}.is-home #meet{contain-intrinsic-size:auto 1881px}.is-home #team{contain-intrinsic-size:auto 848px}.is-home #infra{contain-intrinsic-size:auto 1406px}.is-home #faq{contain-intrinsic-size:auto 915px}.is-home .credit{contain-intrinsic-size:auto 260px}.is-home .ftr{contain-intrinsic-size:auto 1095px}}
@media (min-width:641px) and (max-width:900px){.is-home .credit{contain-intrinsic-size:auto 237px}}
@media print{.is-home :is(#how,#visit,#meet,#report,#sell,#team,#infra,#faq),.is-home .credit,.is-home .ftr{content-visibility:visible}}
/* Review 17.10. (nach R1): Sprungziele unter der festen Kopfleiste – #team (Hauptmenü), #news, #sell, #where, #match lagen 37–55 px unter dem Kopf */
:is(#team,#news,#sell,#where,#match,#pattaya-events,#fadesk){scroll-margin-top:calc(var(--hdr,74px) + 12px)}
/* Bewertung Runde 2 #16 (Rest): Tippflächen ≥ 44 px am Handy – Fußzeilen-Kontakte (Telefon/E-Mail) + „Area guides“; Event-Pfeile überall (Zeile ist 84 px hoch, wächst nicht) */
@media (max-width:640px){
  .ftr-in>div:nth-child(2) p a{display:flex;align-items:center;min-height:44px;line-height:1.25}
  .ftr-in>div:nth-child(2) p br{display:none}
  .ftr-in .ftr-h2 a{display:inline-flex;align-items:center;min-height:44px}
}
:root:not(#_) .pev-kgo{min-width:44px;min-height:44px}
/* Projekt-Raster ohne Einzel-Element in der letzten Reihe (Review 17.10.): Handy (≤ 640 px) breite erste Karte bei ungerader Anzahl (.c-wide);
   2 Spalten (641–1020 px) und 3 Spalten (> 1020 px): die Finder-Kachel füllt die letzte Reihe auf (data-r2/data-r3 = Rest der sichtbaren Karten, build.mjs + Filter in site.js) */
@media (min-width:641px) and (max-width:1020px){#pgrid[data-r2="0"] .card-find{grid-column:1/-1}}
@media (min-width:1021px){#pgrid[data-r3="0"] .card-find{grid-column:1/-1}#pgrid[data-r3="1"] .card-find{grid-column:span 2}}
/* R13: Projekt-Video im Kopf (nur mit projects.mjs video) – liegt genau über dem Titelbild, blendet erst beim Abspielen ein; „weniger Bewegung“ = nie */
.phero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s var(--ease);pointer-events:none}
.phero-vid.on{opacity:1}
@media (max-width:640px){.phero-vid{inset:0 0 auto 0;height:calc(64px + 58vw)}}
@media (prefers-reduced-motion:reduce){.phero-vid{display:none}}
/* Burmesisch (Review 17.10.): Fließtext braucht Zeilenhöhe 1.8 (:lang(my) oben), Überschriften, Knöpfe und Kennzahlen nicht – vorher waren alle my-Seiten 7–8 % höher
   und die Startbild-Kennzahlen lagen bei 390×844 unter dem ersten Bildschirm (SPEC R1 [K]) */
:lang(my) :is(h1,h2,h3,h4,.h1,.h2,.h3){line-height:1.45}
:lang(my) :is(.btn,.pill,.chip,.kicker,.pv-b,.way){line-height:1.45}
:lang(my) .hero .h1{max-width:none;font-size:clamp(2.2rem,4.2vw,3.8rem)} /* 12ch erzwang 3 Zeilen in 105 px – Knöpfe lagen bei 1440×900 unter dem Bildschirm */
@media (max-width:640px){
  :lang(my) .hero .h1{font-size:1.7rem}
  :lang(my) .hero .lead{font-size:.92rem;line-height:1.6}
  :lang(my) .hfacts :is(strong,span,em,b){line-height:1.35}
  :lang(my) .hero-media,:lang(my) .hero .hero-shade{height:calc(64px + 70vw)}
  .ftr-lang-g a{min-height:46px;padding-block:.35rem}
}
/* Bewertung Runde 2 #25: Hochformat-/kleine Bilder erschienen in der Lightbox winzig (Bild nie größer als seine Datei) – jetzt füllt jedes Bild die Fläche (contain, ohne Zuschnitt) */
.lightbox img{width:94vw;height:84vh;object-fit:contain;border-radius:0}
/* Projektseite Handy (Review 17.10.: ru/ro/de/my über 14.000 px): Teilen + Story im Steckbrief-Kopf nur als Symbol (Name bleibt für Screenreader) – eine Knopf-Reihe statt zwei;
   Burmesisch: Fließtext 1,7 statt 1,8 (Überschriften 1,45, s. oben) */
@media (max-width:640px){
  .is-project #facts .sec-head .btns{grid-template-columns:minmax(0,1fr) 44px 44px}
  .is-project #facts .sec-head .btns .btn-gold{grid-column:auto;min-width:0}
  .is-project #facts :is(.pshare,.pstory){width:44px;min-height:44px;padding:0;justify-content:center}
  .is-project #facts :is(.pshare,.pstory) span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  :lang(my){line-height:1.7}
  .is-project .grid-swipe .card-body{padding:.85rem .95rem .95rem}
  .is-project .grid-swipe .card-meta{margin-top:.55rem}
}
/* U3-FIX (SPEC §14 Startseite Handy ≤ 13.500 px, /de/ /fa/ ≤ 14.000 – auch mit Marktplatz-Angeboten): nur Abstände/Anordnung, keine Inhalte entfernt.
   X-Proof-Kasten ohne doppelte Kennzeile (Überschrift beginnt mit „X Proof –“), Schritte enger, Team-Kopf enger, Strand-Fahrt kürzerer Scrollweg */
@media (max-width:640px){
  .is-home .pf-prom>.kicker{display:none}
  .is-home .pf-prom{padding:12px 14px}
  .is-home .pf-prom .pf-go{margin-top:.4rem}
  .is-home .steps{gap:.7rem}
  .is-home .steps li{padding:1rem .95rem}
  .is-home .steps span{font-size:1.9rem}
  .is-home .steps h3{margin:.45rem 0 .3rem;font-size:1.05rem}
  .is-home .sec-team .sec-head{gap:.5rem}
  .is-home .sec-team .rail-nav .btn{min-height:44px;padding-block:.45rem}
}
@media (max-width:640px){.is-home .faq .qa summary{padding-block:.75rem;font-size:1rem}.is-home .sec{padding:2.05rem 0}}
/* U3-FIX: „Preisliste anfordern“ am Handy zugeklappt (lead.js fold) – Überschrift + Knopf statt ~1.400 px Formular */
.lf-unfold{min-height:48px;width:100%;justify-content:center}
.lf-box.lf-fold{margin-top:.8rem;padding:0;background:none;border:0;box-shadow:none;overflow:visible}
.lf-box.lf-fold::before,.lf-box.lf-fold::after,.lf-box.lf-fold .lf-copy>:not(.lf-unfold),.lf-box.lf-fold form.lf{display:none}
@media (max-width:640px){
  .js .ugal>.ut-all:has(+ .lf-box.lf-fold){display:inline-flex;width:calc(50% - .35rem);vertical-align:top;justify-content:center;text-align:center;white-space:normal;line-height:1.25;min-height:52px;margin:1rem 0 0;padding-inline:.6rem}
  .js .ugal>.ut-all + .lf-box.lf-fold{display:inline-block;width:calc(50% - .35rem);vertical-align:top;margin:1rem 0 0;margin-inline-start:.5rem}
  .js .ugal>.ut-all + .lf-box.lf-fold .lf-unfold{min-height:52px;white-space:normal;line-height:1.25;padding-inline:.6rem}
  .is-project .sec{padding:1.7rem 0}
  .is-project .sec-head{margin-bottom:1.2rem}
  .ut-b{gap:.3rem;padding:.85rem .9rem .9rem}
  .ut dl{gap:.25rem .6rem;margin-top:.15rem}
  .ut-x{padding-top:.4rem}
  .is-project .gal-plans{grid-auto-columns:50%}
}
/* ===================== U3-POLISH (18.10.2026, Vor-Bewertung 8,1: Aufbau + Handy) ===================== */
/* Projektkarten: Karte als Spalte – der Beleg-Chip (.card-pf) steht unter dem Link statt abgeschnitten (vorher .card-link height:100% → Chip unsichtbar + Leerfläche) */
#projects .card{display:flex;flex-direction:column}
#projects .card>.card-link{height:auto;flex:1 1 auto}
.pill .pl-s{display:none}
@media (max-width:640px){
  #projects .card:not(.c-wide) .pill .pl-l{display:none}
  #projects .card:not(.c-wide) .pill .pl-s{display:inline}
  #projects .card:not(.c-wide) .card-meta{grid-template-columns:minmax(0,1fr) minmax(0,auto)}
  #projects .card .card-pf{padding:0 .55rem .45rem;margin-top:-.35rem}
}
/* Menü Desktop: Einträge nie zweizeilig (DE/RU/RO „Inserieren“ …) */
@media (min-width:1101px){.nav-in>a{white-space:nowrap}}
/* Unterseiten am Handy: erster Inhalt beginnt unter der festen Kopfleiste (65 px) + 16 px – vorher lag „X AGENTS“/404/Brotkrümel darunter */
@media (max-width:1100px){.sec.page-top:not(.rp-hero){padding-top:calc(84px + env(safe-area-inset-top,0px))}}
/* Desktop ab 1280 px: Projekte in 4 Spalten (7 Projekte + Finder = 2 volle Reihen statt 3, keine Einzelkarte) – Startseite am Desktop ~900 px kürzer */
@media (min-width:1280px){
  #projects .grid-p{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}
  #pgrid .card-find,#pgrid[data-r3] .card-find{grid-column:auto}
  #pgrid[data-r4="0"] .card-find{grid-column:1/-1}#pgrid[data-r4="1"] .card-find{grid-column:span 3}#pgrid[data-r4="2"] .card-find{grid-column:span 2}
  #projects .grid-p .card-body{padding:1.05rem 1.1rem 1.1rem}
  #projects .grid-p .card-tag{font-size:1.02rem;margin-bottom:.9rem}
  #projects .grid-p .card-meta{gap:.45rem}
  #projects .grid-p .card-meta strong{font-size:.92rem}
  #projects .grid-p .card-pf{padding:0 1.1rem 1rem}
}
/* Vertrauen: echte Logos der vermittelten Projekte/Bauträger (build.mjs devLogos) – helle, gleich große Kacheln, ruhig, keine Animation */
.dlogos{list-style:none;margin:1rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:.6rem}
.dlogos a{display:grid;place-items:center;height:68px;padding:.55rem .8rem;border-radius:14px;background:#f6f2ea;border:1px solid rgba(214,178,112,.35);transition:transform .3s var(--ease),box-shadow .3s}
.dlogos a:hover,.dlogos a:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(214,178,112,.6)}
.dlogos img{display:block;max-width:100%;max-height:54px;width:auto;height:auto;object-fit:contain}
@media (max-width:640px){.dlogos{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.dlogos a{height:56px;padding:.4rem .5rem;border-radius:12px}.dlogos img{max-height:38px}}
/* R3FIX (18.10.): Marktplatz-Band #sell lädt market-public.css + market-offer.css erst kurz vor der Sicht (site.js data-lazycss, 1000 px vorher). Bis dahin: Inhalt nicht
   zeichnen, Höhe ≈ gemessene Höhe des fertigen Bands ohne Inserate/Gründer-Kasten (Median über en de ru th fa ar zh, Burmesisch eigener Wert; Abweichung je Sprache
   meist < 50 px und nur außerhalb des Bildschirms) → kein spürbarer Sprung beim Nachladen. Neu messen: Band gestaltet, [data-mko-fd] verborgen, Breiten 390/768/1024/1440. */
.js #sell.lzc{height:406px;overflow:hidden;content-visibility:hidden}
@media (min-width:641px){.js #sell.lzc{height:505px}}
@media (min-width:900px){.js #sell.lzc{height:470px}}
@media (min-width:1280px){.js #sell.lzc{height:420px}}
html.js:lang(my) #sell.lzc{height:501px}
@media (min-width:641px){html.js:lang(my) #sell.lzc{height:560px}}
@media (min-width:900px){html.js:lang(my) #sell.lzc{height:570px}}
@media (min-width:1280px){html.js:lang(my) #sell.lzc{height:530px}}
/* R3FIX (18.10., Bewertung Runde 3: Sprungleiste 34 px, Galerie-Chips 35 px): Tippfläche 44 px, sichtbare Pille bleibt gleich groß
   (Sprungleiste: durchsichtiger Rand oben/unten + background-clip; Galerie-Chips: Pille als ::before, Knopf selbst 44 px) */
.pnav-in{padding-block:.2rem}
.pnav a{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;border-block:5px solid transparent;background-clip:padding-box}
.gal-tabs button{position:relative;isolation:isolate;min-height:44px;border-color:transparent;background:none}
.gal-tabs button::before{content:'';position:absolute;inset:4px 0;z-index:-1;border:1px solid var(--line);border-radius:99px;background:var(--bg2);transition:border-color .25s,background .25s}
.gal-tabs button.on{background:none;border-color:transparent}
.gal-tabs button.on::before{border-color:var(--gold-d);background:rgba(214,178,112,.13)}
/* Website-Beiträge 18.10.: RU-Report-Knopf sprengte die Karte (Text rechts abgeschnitten); DE-Preise brachen in den 2-spaltigen Handy-Karten um („3,58 / Mio. ฿“) */
.rpt-txt{min-width:0}.rpt-txt .btn{white-space:normal;text-align:left;max-width:100%}
@media (max-width:640px){html:lang(de) #projects .card:not(.c-wide) .card-meta{grid-template-columns:1fr;gap:.3rem}}
/* Condo-Karten-Band (20.10., Wunsch Danial): EIN schmales, langes Band direkt unter dem Projekt-Raster → /map/ (ersetzt den Link in der Kicker-Zeile).
   Gleiche Sprache wie die Projektkarten (dunkles Glas, Gold-Kante, runde Ecken). Bewegung nur transform/opacity, startet mit .in (sichtbar), endlich
   (Pins fallen einmal ein, Ring pulst 3×, Lichtstreif 2×; Hover = Streif neu) – kein Dauer-Loop; „weniger Bewegung“ = still. */
.mpb{position:relative;display:flex;align-items:center;gap:clamp(.7rem,1.6vw,1.4rem);min-height:68px;margin-top:.7rem;padding-block:.55rem;padding-inline:0 .75rem;border-radius:20px;overflow:hidden;isolation:isolate;color:var(--text);text-decoration:none;background:linear-gradient(100deg,rgba(79,209,197,.09),rgba(18,23,32,.94) 34%,#0b0e13 78%,rgba(214,178,112,.07));border:1px solid rgba(214,178,112,.3);box-shadow:inset 0 1px 0 rgba(243,220,170,.12),0 18px 40px -28px rgba(0,0,0,.9);transition:border-color .3s,transform .4s var(--ease),box-shadow .4s}
.mpb:hover,.mpb:focus-visible{border-color:var(--gold);box-shadow:inset 0 1px 0 rgba(243,220,170,.2),0 22px 46px -26px rgba(214,178,112,.35)}
.mpb-art{position:relative;flex:none;align-self:stretch;width:96px;margin:-.55rem 0;-webkit-mask-image:linear-gradient(90deg,#000 62%,transparent);mask-image:linear-gradient(90deg,#000 62%,transparent)}
[dir=rtl] .mpb-art{-webkit-mask-image:linear-gradient(270deg,#000 62%,transparent);mask-image:linear-gradient(270deg,#000 62%,transparent)}
[dir=rtl] .mpb-art svg{transform:scaleX(-1)} /* Meer liegt am Kartenrand, nicht unter der Maske */
.mpb-art svg{position:absolute;inset:0;display:block;width:100%;height:100%;fill:none}
.mpb-sea{fill:rgba(79,209,197,.13)}.mpb-cst{stroke:rgba(214,178,112,.75);stroke-width:1.1}
.mpb-st{stroke:rgba(214,178,112,.2);stroke-width:.8;stroke-linecap:round}
.mpb-dt{stroke:#4fd1c5;stroke-width:3.4;stroke-linecap:round;opacity:.75}
.mpb-p{fill:var(--gold);stroke:#0b0e13;stroke-width:1;transform-box:fill-box;transform-origin:50% 100%}
.mpb-r{stroke:var(--gold2);stroke-width:1.2;opacity:0;transform-box:fill-box;transform-origin:center}
/* v2.1 (20.10.): Canvas-Bucht (js/mpb.js, Quelle tools/mpb/) deckt nur die Kunst + 8 px; der Auslauf unter dem Text kommt einmal als Hintergrundbild (JS). .cv = erstes Bild steht → harter Wechsel:
   SVG + Maske ganz weg (nur der leere Platzhalter bleibt; eine versteckte Masken-Ebene kostete je Bild Layerize-Zeit), Straßen-Pseudo weg */
.mpb-cv{position:absolute;inset-block:0;inset-inline-start:0;z-index:-1;display:block;width:104px;height:100%;pointer-events:none;opacity:0}
[dir=rtl] .mpb-cv{transform:scaleX(-1)}.mpb.cv .mpb-cv{opacity:1}.mpb.cv .mpb-art{visibility:hidden;-webkit-mask-image:none;mask-image:none}.mpb.cv .mpb-art svg{display:none}.mpb.cv::before{content:none}
.mpb-sw{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(100deg,transparent 35%,rgba(243,220,170,.12) 50%,transparent 65%);transform:translateX(-110%)}
.mpb-tx{flex:1;min-width:0;display:grid;gap:.18rem}
.mpb-tx b{font-size:.98rem;font-weight:800;letter-spacing:-.01em;line-height:1.2;color:var(--gold2)}
.mpb-tx small{font-size:max(12px,.76rem);line-height:1.35;color:var(--muted)}
.mpb-go{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;width:38px;height:38px;border-radius:999px;border:1px solid rgba(214,178,112,.45);background:rgba(214,178,112,.1);color:var(--gold2);font-weight:700;font-size:.86rem}
.mpb-go>span{display:none}.mpb-go svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.mpb:hover .mpb-go svg{transform:translateX(3px)}[dir=rtl] .mpb-go svg{transform:scaleX(-1)}[dir=rtl] .mpb:hover .mpb-go svg{transform:scaleX(-1) translateX(3px)}
.sjs .mpb:not(.in) .mpb-p{opacity:0}
.mpb.in .mpb-p{animation:mpbDrop .7s .45s var(--ease) both}.mpb.in .mpb-p:nth-of-type(6){animation-delay:.65s}.mpb.in .mpb-p:nth-of-type(7){animation-delay:.85s}
.mpb.in .mpb-r{animation:mpbPing 2.2s 1.5s ease-out 3}
.mpb.in .mpb-sw{animation:mpbSw 1.8s 1.1s var(--ease) 2}
@media (hover:hover){.mpb:hover .mpb-sw{animation:mpbSw2 1.1s var(--ease)}}
@keyframes mpbDrop{from{opacity:0;transform:translateY(-9px) scale(.8)}to{opacity:1;transform:none}}
@keyframes mpbPing{from{opacity:.85;transform:scale(.5)}to{opacity:0;transform:scale(2.6)}}
@keyframes mpbSw{to{transform:translateX(110%)}}@keyframes mpbSw2{from{transform:translateX(-110%)}to{transform:translateX(110%)}}
@media (min-width:641px){.mpb{--mpa:clamp(200px,24vw,300px);min-height:88px;margin-top:1.1rem;padding-block:.7rem;padding-inline:0 1.1rem;border-radius:var(--r-lg)}.mpb-art{width:var(--mpa);margin:-.7rem 0}.mpb-cv{width:calc(var(--mpa) + 8px)}.mpb-tx b{font-size:1.25rem}.mpb-tx small{font-size:.86rem}
  /* Straßen laufen dünn unter dem Text weiter (Pseudo-Element = kein DOM-Knoten) */
  .mpb::before{content:"";position:absolute;inset-block:0;inset-inline:calc(var(--mpa) - 40px) 0;z-index:-1;pointer-events:none;background:radial-gradient(circle,rgba(79,209,197,.6) 0 1.5px,transparent 2px) 58% 8%/6px 6px no-repeat,radial-gradient(circle,rgba(79,209,197,.6) 0 1.5px,transparent 2px) 69% 8%/6px 6px no-repeat,radial-gradient(circle,rgba(79,209,197,.6) 0 1.5px,transparent 2px) 63% 87%/6px 6px no-repeat,radial-gradient(circle,rgba(79,209,197,.6) 0 1.5px,transparent 2px) 76% 87%/6px 6px no-repeat,radial-gradient(circle,rgba(79,209,197,.6) 0 1.5px,transparent 2px) 84% 8%/6px 6px no-repeat,linear-gradient(rgba(214,178,112,.15),rgba(214,178,112,.15)) 0 8%/100% 1px no-repeat,linear-gradient(rgba(79,209,197,.11),rgba(79,209,197,.11)) 0 87%/100% 1px no-repeat;-webkit-mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.4) 60%,transparent 94%);mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.4) 60%,transparent 94%)}
  [dir=rtl] .mpb::before{-webkit-mask-image:linear-gradient(270deg,#000,rgba(0,0,0,.4) 60%,transparent 94%);mask-image:linear-gradient(270deg,#000,rgba(0,0,0,.4) 60%,transparent 94%);background-position:42% 8%,31% 8%,37% 87%,24% 87%,16% 8%,0 8%,0 87%}
  .mpb-go{width:auto;height:44px;padding:0 1.1rem}.mpb-go>span{display:inline}}
@media (prefers-reduced-motion:reduce){.mpb-p,.mpb-r,.mpb-sw{animation:none!important}.sjs .mpb:not(.in) .mpb-p{opacity:1}.mpb-go svg{transition:none}}
/* Ausverkauft · Fertigstellung bald (tools/sold-out.mjs, 20.10.2026): schlanker Streifen unter dem Karten-Band – Handy 3 Zeilen (≈ 64 px), Desktop eine Zeile.
   Bild = Deko, Hauptlink (Gebäudeseite) macht per ::after die ganze Karte klickbar, Link zum Schwesterprojekt liegt darüber. Keine Endlos-Animation. */
.sop{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto auto;column-gap:.65rem;row-gap:0;align-items:center;margin-top:.4rem;padding:4px;padding-inline-end:.8rem;border-radius:18px;border:1px solid rgba(214,178,112,.34);background:linear-gradient(160deg,rgba(214,178,112,.1),rgba(12,20,32,.72) 55%);isolation:isolate}
.sop:hover,.sop:focus-within{border-color:var(--gold)}
.sop-im{grid-row:1/3;width:46px;height:46px;border-radius:12px;object-fit:cover;border:1px solid rgba(214,178,112,.5)}
.sop-a{display:grid;gap:0;min-width:0;color:var(--text);text-decoration:none}
.sop-a::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:0}
.sop-a:focus-visible{outline:none}.sop-a:focus-visible::after{outline:2px solid var(--gold2);outline-offset:2px}
.sop-n{display:flex;align-items:center;gap:.45rem;min-width:0;font-weight:800;font-size:.9rem;line-height:1.18;color:var(--gold2)}
.sop-n bdi{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sop-b{flex:none;padding:1px 7px;border-radius:999px;border:1px solid var(--gold);color:var(--gold2);background:rgba(11,19,32,.7);font-size:12px;font-weight:800;line-height:1.25;letter-spacing:.06em;text-transform:uppercase}
.sop-k{font-size:max(12px,.76rem);line-height:1.22;color:var(--muted)}
.sop-fl{display:none}
.sop-sis{position:relative;z-index:1;grid-column:2;display:inline-flex;align-items:center;gap:.35rem;justify-self:start;min-width:0;max-width:100%;padding-block:6px;margin-block:-6px;font-size:12px;line-height:1.22;color:var(--muted);text-decoration:none}.sop-lg{display:none}
.sop-sis>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sop-sis b{color:var(--text);font-weight:700}
.sop-sis svg{flex:none;width:13px;height:13px;color:var(--gold)}[dir=rtl] .sop-sis svg{transform:scaleX(-1)}
.sop-sis:hover b,.sop-sis:focus-visible b{color:var(--gold2);text-decoration:underline;text-underline-offset:3px}
@media (min-width:641px){.sop{grid-template-columns:60px minmax(0,1fr) auto;grid-template-rows:auto;column-gap:1rem;margin-top:.7rem;padding:8px;padding-inline-end:1.1rem;border-radius:var(--r-lg)}
  .sop-im{grid-row:auto;width:60px;height:60px}.sop-n{font-size:1rem}.sop-k{font-size:.82rem}.sop-fl{display:inline}
  .sop-sis{grid-column:3;justify-self:end;padding:.55rem .9rem;margin-block:0;border-radius:999px;border:1px solid rgba(214,178,112,.4);background:rgba(214,178,112,.08);font-size:.82rem}.sop-sh{display:none}.sop-sis>.sop-lg{display:inline}}
/* Menüpunkt „Karte“ (20.10.): 7 Links + Sprache passen jetzt in ALLEN 12 Sprachen ab 1101 px in eine Zeile (gemessen 1101/1180/1280/1366/1440, auch mit dem
   Live-Text „List your condo“ statt „Marketplace“) – vorher ragten WhatsApp/3D-Knopf bei 1101 px (fast alle Sprachen) und bei ru/my/th/ar/ro sogar bis 1440 px
   aus der Leiste: Abstände wachsen mit der Breite, lange Schriften etwas kleiner, WhatsApp-Knopf bis 1279 px nur Symbol (Text bleibt für Screenreader). */
@media (min-width:1101px){.hdr-in{gap:clamp(.8rem,1.2vw,1.5rem)}.nav{gap:clamp(.8rem,1.45vw,1.8rem)}
  html:is(:lang(ru),:lang(my),:lang(th),:lang(ar),:lang(ro),:lang(fa),:lang(he)) .nav{font-size:.86rem;gap:clamp(.7rem,1.05vw,1.4rem)}html:lang(my) .nav{font-size:.8rem;gap:clamp(.6rem,.95vw,1.3rem)}}
@media (min-width:1101px) and (max-width:1279px){.hdr-cta{padding-inline:.85rem}.hdr-cta>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
/* Warteliste „Coming soon“ (29.10.2026, tools/coming-soon.mjs): Startseiten-Band .wsb unter dem Ausverkauft-Streifen (waagerecht wischbar, Karte = a + Bild +
   Status · Fertigstellung + Name + Lage · Bauträger + „ab“-Preis, CTA als ::after), Abzeichen .pill-wait (Projektkarte/-kopf), Kasten .wlx auf Projektseiten mit waitlist.
   Seite /coming-soon/: static/css/soon.css. Keine Endlos-Animation, Schrift ≥ 12 px, RTL über logische Eigenschaften. */
.wsb{margin-top:.75rem;padding-top:.7rem;border-top:1px solid rgba(214,178,112,.16)}
.wsb-hd{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;margin:0 0 .5rem}
.wsb-h{min-width:0;margin:0;font-size:var(--fs-xs);line-height:1.3;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--gold)}
.wsb-s{display:none;margin-inline-start:.7rem;font-size:1rem;letter-spacing:0;text-transform:none;font-weight:700;color:var(--text)}
.wsb-all{flex:none;display:inline-flex;align-items:center;min-height:32px;font-size:max(12px,.8rem);font-weight:700;color:var(--gold2);text-decoration:none;white-space:nowrap}
.wsb-all::after{content:"\00a0→"}[dir=rtl] .wsb-all::after{content:"\00a0←"}
.wsb-all:hover,.wsb-all:focus-visible{text-decoration:underline;text-underline-offset:3px}
.wsb-row{display:flex;gap:.6rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:2px;scrollbar-width:none;padding:2px;margin:-2px}
.wsb-row::-webkit-scrollbar{display:none}
.wsb-c{flex:0 0 min(78vw,280px);scroll-snap-align:start;display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:.7rem;align-content:start;padding:8px;padding-inline-end:.8rem;border-radius:16px;border:1px solid rgba(214,178,112,.3);background:linear-gradient(160deg,rgba(214,178,112,.1),rgba(12,20,32,.76) 60%);color:var(--text);text-decoration:none;transition:border-color .2s,transform .2s}
.wsb-c:hover,.wsb-c:focus-visible{border-color:var(--gold);transform:translateY(-1px)}
.wsb-c:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.wsb-c img,.wsb-ph{grid-column:1;grid-row:1/span 5;align-self:start;width:64px;height:64px;border-radius:12px;object-fit:cover;border:1px solid rgba(214,178,112,.45);background:#0d1117}
.wsb-ph{display:grid;place-items:center;font-weight:800;font-size:1rem;color:var(--gold2);background:radial-gradient(circle at 30% 25%,rgba(243,220,170,.25),rgba(12,20,32,.92))}
.wsb-c>span:not(.wsb-ph),.wsb-c>b,.wsb-c::after{grid-column:2;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wsb-st{font-size:12px;font-weight:800;letter-spacing:.03em;line-height:1.3;color:var(--gold)}
.wsb-p .wsb-st{color:#f0b67a}
.wsb-c b{font-size:.95rem;line-height:1.25}
.wsb-m{font-size:12px;line-height:1.3;color:var(--muted)}
.wsb-pr{font-size:12px;font-weight:700;line-height:1.3;color:var(--text)}
.wsb-c::after{content:attr(data-cta) "\00a0→";margin-top:.15rem;font-size:12px;font-weight:800;line-height:1.35;color:var(--gold2)}
[dir=rtl] .wsb-c::after{content:attr(data-cta) "\00a0←"}
[dir=rtl] .wsb-c b{text-align:right}
@media (min-width:641px){.wsb{margin-top:1rem;padding-top:1rem}.wsb-s{display:inline}.wsb-c{flex-basis:292px;grid-template-columns:72px minmax(0,1fr)}.wsb-c img,.wsb-ph{width:72px;height:72px}}
.pill-wait{color:#f0b67a}
.wlx{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem 1.1rem;align-items:start;padding:clamp(1.1rem,3vw,1.8rem);border-radius:var(--r-lg);border:1px solid rgba(214,178,112,.36);background:linear-gradient(155deg,rgba(214,178,112,.13),#121720 45%,#0b0e13)}
.wlx-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:var(--gold2);background:rgba(214,178,112,.12);border:1px solid rgba(214,178,112,.4)}
.wlx-ic svg{width:24px;height:24px}
.wlx .kicker{margin-bottom:.45rem}.wlx .h3{margin:0 0 .5rem}
.wlx-r{margin:0 0 .35rem;font-weight:700;color:var(--text)}
.wlx .muted{margin:0 0 .7rem}
.wlx-l{display:flex;gap:.45rem;align-items:flex-start;margin:0;font-size:max(12px,.8rem);line-height:1.45;color:var(--muted)}
.wlx-l svg{flex:none;width:16px;height:16px;margin-top:.1rem;color:var(--gold)}
.wlx-go{grid-column:1/-1;justify-self:start}
@media (min-width:900px){.wlx{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.wlx-go{grid-column:auto}}
