/* ============================================================
   Immobilien VAE - 2026 Relaunch
   Dark Luxury · Bronze/Gold · Sand · Mobile-First
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

:root{
  /* Palette */
  --c-bg:#070d1a;
  --c-bg-2:#0d1729;
  --c-bg-3:#152141;
  --c-surface:#0f1a30;
  --c-surface-2:#172541;
  --c-line:rgba(212,176,103,.18);
  --c-line-2:rgba(255,255,255,.08);
  --c-text:#eef1f7;
  --c-text-mute:#aab2c5;
  --c-text-soft:#7f8aa3;
  --c-gold:#d4af37;
  --c-gold-2:#e8c869;
  --c-gold-dim:#b08d24;
  --c-bronze:#b08d24;
  --c-sand:#f7efe1;
  --c-wa:#25d366;
  --c-wa-2:#1da851;
  --c-danger:#ff5d5d;
  --c-success:#3dd58c;

  /* Type */
  --font-h:"Playfair Display",Georgia,"Times New Roman",serif;
  --font-b:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;

  /* Rhythm */
  --r-1:.5rem;--r-2:.875rem;--r-3:1.25rem;--r-4:2rem;--r-5:3.25rem;--r-6:5rem;--r-7:7rem;

  /* Layout */
  --maxw:1240px;
  --pad:clamp(16px,4vw,24px);
  --radius-sm:8px;--radius:14px;--radius-lg:22px;--radius-xl:32px;

  /* Shadows / Glow */
  --sh-1:0 1px 2px rgba(0,0,0,.18);
  --sh-2:0 8px 24px rgba(0,0,0,.28);
  --sh-3:0 22px 60px rgba(0,0,0,.38);
  --glow-gold:0 0 0 1px rgba(212,176,103,.45),0 18px 48px rgba(212,176,103,.18);

  /* Motion */
  --ease:cubic-bezier(.2,.7,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --dur:.45s;
}

html,body{background:var(--c-bg);color:var(--c-text);font-family:var(--font-b);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{min-height:100%;line-height:1.65;font-size:16.5px;overflow-x:hidden}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul{list-style:none}
:focus-visible{outline:2px solid var(--c-gold-2);outline-offset:3px;border-radius:6px}
::selection{background:var(--c-gold);color:#0b1326}

/* ============ Background Atmosphere ============ */
body::before{
  content:"";position:fixed;inset:0;z-index:-2;
  background:
    radial-gradient(1200px 600px at 78% -10%,rgba(212,176,103,.16),transparent 60%),
    radial-gradient(900px 700px at -10% 22%,rgba(45,90,180,.18),transparent 60%),
    radial-gradient(1100px 700px at 50% 110%,rgba(212,176,103,.10),transparent 60%),
    linear-gradient(180deg,#060a16,#070d1a 40%,#06101e);
}
body::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:3px 3px;mix-blend-mode:overlay;opacity:.4;
}

/* ============ Typography ============ */
h1,h2,h3,h4,h5{font-family:var(--font-h);font-weight:800;letter-spacing:-.015em;line-height:1.12;color:#fff}
h1{font-size:clamp(2.2rem,5.4vw,4rem);letter-spacing:-.025em}
h2{font-size:clamp(1.7rem,3.4vw,2.65rem);letter-spacing:-.015em}
h3{font-size:clamp(1.25rem,2vw,1.55rem)}
h4{font-size:1.05rem}
p{color:var(--c-text-mute)}
.lead{font-size:clamp(1.04rem,1.35vw,1.18rem);color:var(--c-text);max-width:62ch}
.text-gold{color:var(--c-gold-2);background:linear-gradient(90deg,var(--c-gold-2),#fff3c6 40%,var(--c-gold) 70%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.eyebrow{display:inline-flex;gap:10px;align-items:center;font-size:.8rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--c-gold-2)}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--c-gold)}

/* ============ Container ============ */
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.section{padding:clamp(56px,8vw,110px) 0;position:relative}
.section--soft{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.02))}
.section--navy{background:linear-gradient(180deg,#0a142a,#0b1730)}
.section--dark{background:#04080f}
.section--cream{background:linear-gradient(180deg,#fbf5e8,#f3ead4);color:#1a1c25}
.section--cream h2,.section--cream h3,.section--cream h4{color:#101427}
.section--cream p{color:#4a5061}
.section-head{margin-bottom:clamp(28px,4vw,46px)}
.section-head.center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.section-head h2{max-width:22ch}
.section-head .lead{margin:0 auto}

/* ============ Skip Link ============ */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--c-gold);color:#0a1224;padding:10px 16px;border-radius:6px;font-weight:700;z-index:9999}
.skip-link:focus{left:12px;top:12px}

/* ============ Header / Nav ============ */
.site-header{position:sticky;top:0;z-index:100;backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);background:linear-gradient(180deg,rgba(7,13,26,.86),rgba(7,13,26,.66));border-bottom:1px solid rgba(255,255,255,.05);transition:background .3s var(--ease)}
.site-header.scrolled{background:rgba(6,11,22,.92);border-bottom-color:var(--c-line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;height:72px}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--font-h);font-weight:800;font-size:1.05rem;color:#fff}
.brand img{width:38px;height:38px;border-radius:8px;box-shadow:0 0 0 1px rgba(212,176,103,.4),0 6px 18px rgba(212,176,103,.15)}
.brand b{color:var(--c-gold-2);font-weight:800;margin-left:2px}
.brand small{display:block;font-size:.62rem;font-weight:500;color:var(--c-text-mute);letter-spacing:.12em;text-transform:uppercase;margin-top:2px;white-space:nowrap}
/* Sicheres Trenn-Padding zwischen Brand-Block und Nav-Items */
.brand{padding-right:24px}

.nav-links{display:flex;gap:2px;align-items:center}
.nav-links a{position:relative;padding:10px 10px;border-radius:10px;font-weight:500;font-size:.92rem;color:var(--c-text-mute);white-space:nowrap;transition:color .2s var(--ease),background .2s var(--ease)}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.04)}
.nav-links a[aria-current="page"]::after{content:"";position:absolute;left:10px;right:10px;bottom:5px;height:2px;background:linear-gradient(90deg,var(--c-gold),var(--c-gold-2));border-radius:2px}

.nav-cta{display:flex;gap:10px;align-items:center}
.nav-toggle{display:none;width:40px;height:40px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(212,176,103,.28);position:relative;cursor:pointer;transition:background .2s ease,border-color .2s ease}
.nav-toggle:hover{background:rgba(212,176,103,.16);border-color:rgba(212,176,103,.55)}
.nav-toggle:focus-visible{outline:2px solid var(--c-gold,#d4b067);outline-offset:2px}
.nav-toggle span,.nav-toggle::before,.nav-toggle::after{content:"";position:absolute;left:50%;top:50%;width:20px;height:2px;background:#fff;border-radius:2px;transform:translate(-50%,-50%);transition:.3s var(--ease)}
.nav-toggle::before{transform:translate(-50%,-8px)}
.nav-toggle::after{transform:translate(-50%,6px)}
.nav-toggle[aria-expanded="true"]::before{transform:translate(-50%,-50%) rotate(45deg)}
.nav-toggle[aria-expanded="true"]::after{transform:translate(-50%,-50%) rotate(-45deg)}
.nav-toggle[aria-expanded="true"] span{opacity:0}

/* Mobile menu */
/* Brand-Tagline ab Tablet-Format weg → Platz fuer Nav-Links */
@media (max-width:1366px){
  .brand small{display:none}
  .brand{padding-right:8px}
  .nav-links a{padding:9px 11px;font-size:.9rem}
  .nav{gap:12px}
}
@media (max-width:1100px){
  .nav-cta .btn span.btn-label{display:none}
  /* Alle Header-Buttons auf gleiche Höhe (40px) */
  .nav-cta .btn{padding:0;width:40px;height:40px;border-radius:50%}
  .nav-cta .btn .icon{width:18px;height:18px}
}
@media (max-width:980px){
  .nav-links{
    position:fixed;
    top:72px;left:0;right:0;bottom:0;
    width:100%;
    height:calc(100vh - 72px);
    height:calc(100dvh - 72px);
    background:#0a1224;
    background:linear-gradient(180deg,#0b1428 0%,#070d1a 100%);
    display:flex;
    flex-direction:column;align-items:stretch;justify-content:flex-start;
    padding:24px var(--pad) 40px;gap:10px;
    margin:0;
    transform:translateX(100%);transition:transform .4s var(--ease);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    z-index:95;
    border-top:1px solid rgba(212,176,103,.15);
    box-shadow:0 -2px 0 0 rgba(212,176,103,.05) inset
  }
  .nav-links.open{transform:translateX(0)}
  .nav-links li{
    display:block;width:100%;
    list-style:none;margin:0;padding:0;
    flex:0 0 auto
  }
  .nav-links a{
    display:block;width:100%;box-sizing:border-box;
    font-size:1.05rem;font-weight:600;
    padding:16px 20px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(212,176,103,.18);
    border-radius:12px;
    color:#fff;
    text-align:left
  }
  .nav-links a:hover,.nav-links a[aria-current="page"]{background:rgba(212,176,103,.14);border-color:rgba(212,176,103,.45);color:#fff}
  .nav-links a[aria-current="page"]::after{display:none}
  /* WICHTIG: btn-label NICHT wieder einblenden — sonst quetscht "Exposé anfordern" aus dem 40x40 Circle */
  .nav-toggle{display:inline-block}
}
@media (max-width:560px){
  /* Compact header: kleinere Brand, alle Buttons in einheitlicher 36px-Circle/Square-Reihe */
  .nav{gap:6px}
  .brand{font-size:.92rem;gap:8px}
  .brand img{width:32px;height:32px}
  .nav-cta{margin-left:auto;margin-right:0}
  .nav-cta .btn{padding:0;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;gap:0}
  .nav-cta .btn .icon{width:16px;height:16px}
  .nav-cta .btn span.btn-label{display:none}
  .nav-toggle{width:36px;height:36px}
}
@media (max-width:380px){
  /* Tiny phones: icon-only square */
  .nav-cta{margin-left:auto;margin-right:8px}
  .nav-cta .btn{padding:0;width:42px;border-radius:10px}
  .nav-cta .btn span.btn-label{display:none}
}

/* ============ Buttons ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 22px;border-radius:999px;font-weight:700;font-size:.96rem;letter-spacing:.005em;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease),color .25s var(--ease);white-space:nowrap;text-align:center;line-height:1}
.btn .icon{width:18px;height:18px;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--gold{background:linear-gradient(135deg,var(--c-gold-2),var(--c-gold) 50%,var(--c-bronze));color:#10182c;box-shadow:0 14px 32px rgba(212,176,103,.32),inset 0 1px 0 rgba(255,255,255,.4)}
.btn--gold:hover{box-shadow:0 22px 48px rgba(212,176,103,.45)}
.btn--wa{background:linear-gradient(135deg,#2cd270,var(--c-wa) 55%,#0fa84a);color:#fff;box-shadow:0 14px 28px rgba(37,211,102,.32),inset 0 1px 0 rgba(255,255,255,.25)}
.btn--wa:hover{box-shadow:0 22px 38px rgba(37,211,102,.5)}
.btn--ghost{background:rgba(255,255,255,.05);color:#fff;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px)}
.btn--ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(212,176,103,.4)}
.btn--dark{background:#101a30;color:#fff;border:1px solid var(--c-line)}
.btn--dark:hover{background:#16223d;border-color:var(--c-gold-dim)}
.btn--lg{padding:16px 28px;font-size:1rem;border-radius:999px}
.btn--xl{padding:18px 32px;font-size:1.08rem}
.btn--sm{padding:9px 16px;font-size:.85rem}
.btn--block{width:100%;display:flex}

.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.btn-row.center{justify-content:center}

@media (max-width:520px){
  .btn{padding:13px 18px;font-size:.92rem}
  .btn--lg{padding:14px 22px;font-size:.96rem}
  .btn--xl{padding:16px 26px;font-size:1rem}
  .btn-row .btn{flex:1 1 auto;min-width:0}
  .btn-row .btn--block{flex-basis:100%}
}

/* ============ HERO ============ */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:88px 0 60px;overflow:hidden;isolation:isolate}
.hero--sub{min-height:55vh;padding:110px 0 60px}

/* Breadcrumb */
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:.85rem;color:rgba(248,245,238,.7);margin-bottom:14px}
.breadcrumb a{color:rgba(248,245,238,.72);text-decoration:none;transition:color .2s var(--ease)}
.breadcrumb a:hover{color:var(--c-gold-2)}
.breadcrumb .sep{color:rgba(248,245,238,.35);user-select:none}
.breadcrumb [aria-current="page"]{color:var(--c-gold-2);font-weight:600}
.hero__bg{position:absolute;inset:0;z-index:1}
.hero__bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);will-change:transform;display:block;font-size:0;color:transparent;text-indent:-9999px}
.hero__overlay{position:absolute;inset:0;z-index:2;background:
  radial-gradient(60% 50% at 80% 30%,rgba(212,176,103,.22),transparent 70%),
  linear-gradient(180deg,rgba(5,8,16,.18) 0,rgba(5,8,16,.55) 70%,rgba(5,8,16,.92) 100%),
  linear-gradient(90deg,rgba(5,8,16,.45) 0,rgba(5,8,16,.05) 50%,rgba(5,8,16,.3) 100%);pointer-events:none}

.hero__content{position:relative;z-index:3;max-width:780px;display:flex;flex-direction:column;gap:18px}
.hero h1{margin-top:6px;text-shadow:0 4px 30px rgba(0,0,0,.5)}
.hero__sub{font-size:clamp(1.04rem,1.5vw,1.22rem);color:#dde3ef;max-width:60ch;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.hero__cta{margin-top:14px}
.hero__trust{margin-top:20px;display:flex;flex-wrap:wrap;gap:12px}
.hero__trust span{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:rgba(7,14,30,.55);border:1px solid rgba(212,176,103,.28);font-size:.85rem;color:#f3ecd9;backdrop-filter:blur(10px)}
.hero__trust .icon{width:16px;height:16px;color:var(--c-gold-2)}

.scroll-cue{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:3;display:inline-flex;align-items:center;gap:8px;color:#f3ecd9;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;animation:bob 2.4s var(--ease) infinite;opacity:.85}
.scroll-cue .icon{width:18px;height:18px}
@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}

/* ============ Burj Khalifa Build Hero (Homepage) ============ */
.hero--burj{position:relative;min-height:55vh;display:flex;align-items:center;padding:110px 0 60px;overflow:hidden}
.hero--burj .hero__bg img{opacity:1;transform:scale(1.1)}
.hero--burj .hero__overlay{background:
  radial-gradient(50% 60% at 75% 35%,rgba(212,176,103,.22),transparent 70%),
  linear-gradient(180deg,rgba(4,8,16,.18) 0,rgba(4,8,16,.55) 60%,rgba(4,8,16,.92) 100%),
  linear-gradient(90deg,rgba(4,8,16,.6) 0,rgba(4,8,16,.1) 55%,rgba(4,8,16,.45) 100%)}

/* ============ Burj Khalifa photo crossfade (ambient/sticky) ============
   - Desktop only (>= 1024px). Hidden below.
   - Smaller, low-opacity, sits in the background as ambient detail.
   - Stays visible once first activated (latched).
*/
.burj-stage{display:none;position:fixed;left:max(1.4vw,14px);top:50%;transform:translateY(-50%) scale(.96);width:210px;height:750px;pointer-events:none;z-index:5;opacity:0;transition:opacity 1s var(--ease),transform 1.1s var(--ease-out)}
.burj-stage.is-active{opacity:1;transform:translateY(-50%) scale(1)}
.burj-stage:hover{filter:brightness(1.05)}
.burj-photo{
  position:relative;width:210px;height:750px;display:block;
  border-radius:18px;overflow:hidden;
  background:#0a1224;
  /* Hoch-kontrast Shadow + Gold-Glow: pop without filter darkening */
  box-shadow:
    0 28px 80px rgba(0,0,0,.7),
    0 0 0 1px rgba(212,176,103,.55),
    0 0 0 4px rgba(10,18,36,.92),
    0 0 60px rgba(212,176,103,.18),
    inset 0 1px 0 rgba(255,255,255,.06)
}
/* Subtle vignette + bottom gradient for caption legibility */
.burj-photo::before{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(7,13,26,.0) 0,rgba(7,13,26,0) 60%,rgba(4,6,15,.92) 100%),
    radial-gradient(140% 80% at 50% 30%,transparent 35%,rgba(0,0,0,.35) 100%)
}
/* Gold inner border + subtle gold tinted glow on top */
.burj-photo::after{
  content:"";position:absolute;inset:0;z-index:4;pointer-events:none;
  border-radius:18px;
  box-shadow:
    inset 0 0 0 1px rgba(212,176,103,.35),
    inset 0 30px 60px -20px rgba(232,200,130,.18),
    inset 0 -10px 40px -10px rgba(212,176,103,.12)
}
.burj-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .28s linear;will-change:opacity;backface-visibility:hidden}

/* Caption: bigger, bolder, more pop */
.burj-photo__caption{
  position:absolute;left:0;right:0;bottom:0;z-index:5;
  padding:16px 14px 14px;color:#fff;font-family:var(--font-b);
  display:flex;justify-content:space-between;align-items:flex-end;gap:8px;line-height:1.2;
  background:linear-gradient(180deg,transparent 0,rgba(4,6,15,.6) 100%)
}
.burj-photo__phase{
  font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--c-gold-2);font-weight:700;opacity:1;
  text-shadow:0 1px 4px rgba(0,0,0,.6);
  white-space:nowrap;flex-shrink:0
}
.burj-photo__phase b{color:#fff;font-weight:800;font-size:.78rem;margin-right:3px;font-family:var(--font-h)}
.burj-photo__label{
  font-family:var(--font-h);font-weight:700;font-size:.85rem;
  color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.85),0 0 24px rgba(212,176,103,.35);
  text-align:right;max-width:62%;letter-spacing:.01em;
  background:linear-gradient(135deg,#fff 0,#fff3c6 50%,var(--c-gold-2) 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent
}

/* Right-side progress bar — bigger, bolder gold gradient */
.burj-progress{display:none;position:fixed;right:max(2vw,16px);top:50%;transform:translateY(-50%);z-index:5;flex-direction:column;gap:16px;align-items:flex-end;pointer-events:none;opacity:0;transition:opacity .8s var(--ease)}
.burj-progress.is-active{opacity:1}
.burj-progress__bar{
  position:relative;width:4px;height:300px;
  background:rgba(255,255,255,.08);border-radius:4px;overflow:hidden;
  box-shadow:0 0 0 1px rgba(212,176,103,.18)
}
.burj-progress__fill{
  position:absolute;left:0;right:0;top:0;
  background:linear-gradient(180deg,#fff3c6 0,var(--c-gold-2) 25%,var(--c-gold) 60%,var(--c-bronze) 100%);
  border-radius:4px;height:0;
  box-shadow:0 0 12px rgba(212,176,103,.55);
  transition:height .35s var(--ease-out)
}
.burj-progress__label{
  font-size:.72rem;letter-spacing:.24em;
  color:var(--c-gold-2);text-transform:uppercase;font-weight:700;
  writing-mode:vertical-rl;transform:rotate(180deg);
  text-shadow:0 1px 4px rgba(0,0,0,.6)
}

/* Burj animation: mobile-first, hidden by default. Enabled only on screens >= 1700px (needs space for 210px tower + content) */
@media (min-width:1700px){
  .burj-stage{display:block}
  .burj-progress{display:flex}
}

/* Burj-Section Copy: zwei Varianten je nach Animation-Sichtbarkeit (mobile-first) */
.burj-copy{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;width:100%}
.burj-copy h2{max-width:22ch}
.burj-copy .lead{margin:0 auto;max-width:60ch}
.burj-copy--animation{display:none}
.burj-copy--plain{display:flex}
/* Hero-Hinweis "Scrollen Sie nach unten..." nur bei sichtbarer Animation */
.burj-mention{display:none}
@media (min-width:1700px){
  .burj-copy--animation{display:flex}
  .burj-copy--plain{display:none}
  .burj-mention{display:inline}
}


/* ============ Stats ============ */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}
.stat{padding:24px 22px;border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));border:1px solid var(--c-line);position:relative;overflow:hidden}
.stat::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 0% 0%,rgba(212,176,103,.12),transparent 60%);opacity:.6;pointer-events:none}
.stat__num{font-family:var(--font-h);font-weight:800;font-size:clamp(2rem,3.4vw,2.8rem);color:var(--c-gold-2);line-height:1;letter-spacing:-.02em}
.stat__label{margin-top:8px;color:var(--c-text-mute);font-size:.92rem}

/* ============ Grid + Cards ============ */
.grid{display:grid;gap:22px}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid--4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

.card{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01));border:1px solid var(--c-line);border-radius:var(--radius-lg);padding:28px;position:relative;overflow:hidden;transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease)}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(180% 120% at -10% -20%,rgba(212,176,103,.12),transparent 50%);opacity:0;transition:opacity .4s var(--ease);pointer-events:none}
.card:hover{transform:translateY(-4px);border-color:rgba(212,176,103,.5);box-shadow:0 22px 50px rgba(0,0,0,.4)}
.card:hover::before{opacity:1}
.card__icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,rgba(212,176,103,.18),rgba(212,176,103,.06));border:1px solid rgba(212,176,103,.3);display:grid;place-items:center;margin-bottom:14px}
.card__icon .icon{width:24px;height:24px;color:var(--c-gold-2)}
.card h3{margin-bottom:8px;color:#fff}
.card p{font-size:.96rem}

/* ============ Icon helpers ============ */
.icon{width:20px;height:20px;flex:none}

/* ============ Featured Video ============ */
.video-feature{max-width:980px;margin:0 auto}
.video-embed{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.6);border:1px solid var(--c-line)}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-embed--wide{aspect-ratio:16/9}
.video-embed--vertical{aspect-ratio:9/16}

.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.video-card{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid var(--c-line);border-radius:var(--radius-lg);overflow:hidden}
.video-card__body{padding:18px 20px}
.video-card__body h3{font-size:1.05rem;margin-bottom:4px}
.video-card__body p{font-size:.88rem}

/* ============ Gallery ============ */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.gallery-item{position:relative;overflow:hidden;border-radius:var(--radius);background:#0a1224;border:1px solid var(--c-line)}
.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .8s var(--ease-out)}
.gallery-item:hover img{transform:scale(1.08)}
.gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px;color:#fff;background:linear-gradient(180deg,transparent,rgba(0,0,0,.78));font-weight:600;font-size:.94rem}

/* ============ Media Frame ============ */
.media-frame{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--c-line);box-shadow:0 24px 50px rgba(0,0,0,.4)}
.media-frame img{width:100%;height:100%;object-fit:cover}
.media-badge{position:absolute;left:18px;bottom:18px;background:rgba(7,13,26,.78);color:#fff;padding:10px 16px;border-radius:999px;font-size:.85rem;border:1px solid rgba(212,176,103,.4);backdrop-filter:blur(10px)}
.media-badge b{color:var(--c-gold-2);margin-right:4px}

/* ============ Split ============ */
.split{display:grid;grid-template-columns:1fr 1.05fr;gap:42px;align-items:center}
.split__media{aspect-ratio:4/3;max-height:540px}
@media (max-width:860px){.split{grid-template-columns:1fr}.split__media{aspect-ratio:16/10}}

/* ============ Checklist ============ */
.checklist{display:grid;gap:14px}
.checklist li{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;color:var(--c-text);font-size:1rem;line-height:1.55}
.checklist .icon{color:var(--c-gold-2);width:22px;height:22px;background:rgba(212,176,103,.13);border-radius:6px;padding:3px}

/* ============ Rendite-Rechner ============ */
.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.calc-card{padding:26px;border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(212,176,103,.08),rgba(212,176,103,.02));border:1px solid rgba(212,176,103,.28);position:relative;text-align:center;overflow:hidden}
.calc-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--c-gold),transparent)}
.calc-card .invest{font-size:.85rem;color:var(--c-text-mute);letter-spacing:.05em}
.calc-card .obj{font-size:.9rem;color:#fff;margin:4px 0 14px}
.calc-card .result{font-family:var(--font-h);font-weight:800;font-size:1.8rem;color:var(--c-gold-2);line-height:1.1}
.calc-card .delta{margin-top:6px;font-size:.86rem;color:var(--c-success)}
.calc-disclaimer{margin-top:18px;color:var(--c-text-soft);font-size:.82rem;text-align:center}

/* ============ Agent wrap ============ */
.agent-wrap{display:grid;grid-template-columns:.95fr 1.1fr;gap:48px;align-items:center}
.agent-photo{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5;max-height:560px;border:1px solid var(--c-line);box-shadow:0 24px 50px rgba(0,0,0,.4)}
.agent-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
@media (max-width:860px){
  .agent-wrap{grid-template-columns:1fr}
  .agent-photo{aspect-ratio:3/4;max-height:none}
  .agent-photo img{object-position:center 10%}
}

.coop-pill{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--c-line);color:var(--c-text);font-size:.92rem;font-weight:500}
.coop-pill .icon{width:18px;height:18px;color:var(--c-gold-2)}

/* ============ FAQ ============ */
.faq{display:grid;gap:12px;max-width:880px;margin:0 auto}
.faq-item{border:1px solid var(--c-line);border-radius:var(--radius);background:rgba(255,255,255,.03);overflow:hidden;transition:border-color .25s var(--ease)}
.faq-item.open{border-color:rgba(212,176,103,.55)}
.faq-q{width:100%;text-align:left;padding:18px 22px;font-weight:600;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:1rem;line-height:1.4}
.faq-q::after{content:"";width:20px;height:20px;flex:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d4b067' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:center;transition:transform .3s var(--ease)}
.faq-item.open .faq-q::after{transform:rotate(180deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-a__inner{overflow:hidden;padding:0 22px;color:var(--c-text-mute);font-size:.96rem}
.faq-item.open .faq-a__inner{padding:0 22px 22px}

/* ============ CTA Band ============ */
.cta-band{padding:46px;border-radius:var(--radius-xl);background:linear-gradient(135deg,#0e1934 0%,#13234a 50%,#0c1830 100%);border:1px solid rgba(212,176,103,.36);position:relative;overflow:hidden;text-align:center}
.cta-band::before{content:"";position:absolute;inset:-1px;background:radial-gradient(70% 90% at 30% 0%,rgba(212,176,103,.16),transparent 60%);pointer-events:none}
.cta-band h2{margin:14px auto 12px;max-width:24ch}
.cta-band p{max-width:62ch;margin:0 auto 22px}
.cta-band .eyebrow{justify-content:center}

/* ============ Floating WhatsApp ============ */
.wa-float{position:fixed;right:18px;bottom:18px;width:60px;height:60px;border-radius:50%;background:var(--c-wa);color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px rgba(37,211,102,.45),0 0 0 6px rgba(37,211,102,.18);z-index:80;transition:transform .25s var(--ease)}
.wa-float:hover{transform:scale(1.08)}
.wa-float .icon{width:30px;height:30px}
@media (max-width:560px){.wa-float{width:54px;height:54px;right:14px;bottom:14px}.wa-float .icon{width:26px;height:26px}}

/* ============ Footer ============ */
.site-footer{background:#04080f;color:var(--c-text);padding:64px 0 28px;border-top:1px solid var(--c-line)}
.coop{text-align:center;padding-bottom:36px;border-bottom:1px solid var(--c-line-2);margin-bottom:36px}
.coop h3{font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--c-text-soft);margin-bottom:12px}
.coop-name{display:inline-block;font-family:var(--font-h);font-weight:800;font-size:1.65rem;color:var(--c-gold-2);margin-bottom:14px}
.coop-details{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}

.socials{display:inline-flex;gap:12px}
.socials a{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--c-line);background:rgba(255,255,255,.03);color:#fff;transition:transform .25s var(--ease),background .25s var(--ease)}
.socials a:hover{transform:translateY(-3px)}
.socials .yt:hover{background:#ff0033;border-color:#ff0033}
.socials .ig:hover{background:linear-gradient(45deg,#fa7e1e,#d62976,#962fbf,#4f5bd5);border-color:transparent}
.socials .tt:hover{background:#000;border-color:#fff}

.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:28px}
.footer-grid h4{color:#fff;font-size:.95rem;margin-bottom:14px}
.footer-grid ul li{margin-bottom:8px}
.footer-grid ul a,.footer-grid li{color:var(--c-text-mute);font-size:.93rem;transition:color .2s var(--ease)}
.footer-grid ul a:hover{color:var(--c-gold-2)}
.footer-contact li{display:flex;gap:9px;align-items:flex-start;line-height:1.55}
.footer-contact .icon{width:16px;height:16px;color:var(--c-gold-2);margin-top:4px}
.footer-coop{margin-top:18px;padding-top:14px;border-top:1px solid var(--c-line-2);font-size:.85rem;color:rgba(255,255,255,.55);line-height:1.5}
.footer-coop strong{display:block;color:var(--c-gold-2);font-weight:700;font-family:var(--font-h);margin-top:2px}

@media (max-width:920px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr}}

.footer-bottom{margin-top:40px;padding-top:24px;border-top:1px solid var(--c-line-2);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;color:var(--c-text-soft);font-size:.84rem}
.footer-bottom nav{display:flex;gap:18px}
.footer-bottom nav a,.footer-bottom nav button{color:var(--c-text-mute);font-size:.84rem}
.footer-bottom nav a:hover,.footer-bottom nav button:hover{color:var(--c-gold-2)}

/* ============ Reveal animations ============ */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
[data-reveal].is-visible{opacity:1;transform:translateY(0)}
[data-reveal-delay="1"]{transition-delay:.12s}
[data-reveal-delay="2"]{transition-delay:.24s}
[data-reveal-delay="3"]{transition-delay:.36s}

/* ============ Trust pills + Form ============ */
.trust-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:18px}
.trust-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(7,14,30,.55);border:1px solid var(--c-line);font-size:.82rem;color:var(--c-text)}
.trust-pill .icon{width:16px;height:16px;color:var(--c-gold-2)}

.form-wrap{max-width:760px;margin:0 auto}
.form-card{padding:34px;border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid var(--c-line);box-shadow:0 30px 60px rgba(0,0,0,.35)}
.form-intro{margin-bottom:24px;text-align:center;display:flex;flex-direction:column;gap:8px;align-items:center}
.form-group{margin-bottom:22px}
.q-label{display:flex;align-items:center;gap:8px;font-weight:600;color:#fff;margin-bottom:12px;font-size:.95rem}
.q-label .icon{width:18px;height:18px;color:var(--c-gold-2)}
.req{color:var(--c-danger)}

.radio-group{display:flex;flex-wrap:wrap;gap:10px}
.radio-group.cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:520px){.radio-group.cols{grid-template-columns:1fr}}

.radio-option{position:relative;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--c-line);cursor:pointer;font-size:.94rem;transition:.25s var(--ease)}
.radio-option:hover{border-color:rgba(212,176,103,.5);background:rgba(212,176,103,.04)}
.radio-option input{position:absolute;opacity:0;pointer-events:none}
.radio-option .mark{width:18px;height:18px;border-radius:50%;border:2px solid var(--c-line);flex:none;position:relative;transition:.25s var(--ease)}
.radio-option .mark::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--c-gold-2);transform:scale(0);transition:.25s var(--ease)}
.radio-option input:checked + .mark{border-color:var(--c-gold-2)}
.radio-option input:checked + .mark::after{transform:scale(1)}
.radio-option:has(input:checked){border-color:var(--c-gold-2);background:rgba(212,176,103,.08)}

.field{width:100%;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--c-line);color:#fff;font:inherit;font-size:.96rem;transition:.25s var(--ease)}
.field:focus{outline:none;border-color:var(--c-gold-2);background:rgba(212,176,103,.06)}
textarea.field{min-height:120px;resize:vertical}
select.field,select{color-scheme:dark}
select option,select optgroup{background-color:#0a1224;color:#fff}

.form-alert{padding:14px 18px;border-radius:12px;margin-bottom:18px;display:flex;align-items:center;gap:10px;font-weight:500}
.form-alert--error{background:rgba(255,93,93,.1);border:1px solid rgba(255,93,93,.4);color:#ffcfcf}
.form-success{padding:42px 28px;border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(61,213,140,.08),rgba(255,255,255,.01));border:1px solid rgba(61,213,140,.4);text-align:center}
.form-success .tick{width:62px;height:62px;color:var(--c-success);margin-bottom:18px;display:inline-block}
.form-success h2{margin-bottom:10px}

/* ============ Legal pages ============ */
.legal-content{padding:24px 0 0}
.legal-content h2{margin-top:36px;margin-bottom:14px;color:#fff;border-left:3px solid var(--c-gold);padding-left:14px}
.legal-content h3{margin-top:24px;margin-bottom:10px;color:#fff}
.legal-content p,.legal-content li{color:var(--c-text-mute);margin-bottom:10px}
.legal-content a{color:var(--c-gold-2);text-decoration:underline}
.legal-content ul,.legal-content ol{margin:8px 0 14px 20px}
.legal-content li{margin-bottom:6px}
.legal-section{margin-bottom:18px;padding:24px;border-radius:var(--radius-lg);background:rgba(255,255,255,.03);border:1px solid var(--c-line)}

/* ============ Map page ============ */
.map-toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:22px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid var(--c-line);border-radius:var(--radius-lg);margin-bottom:20px}
.map-toolbar select,.map-toolbar input{padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid var(--c-line);color:#fff;font:inherit;font-size:.94rem}
.map-toolbar select:focus,.map-toolbar input:focus{outline:none;border-color:var(--c-gold-2)}
.map-toolbar button{padding:12px 18px;border-radius:10px;background:linear-gradient(135deg,var(--c-gold-2),var(--c-bronze));color:#0a1224;font-weight:700}

#leaflet-map{height:560px;width:100%;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--c-line);box-shadow:0 30px 60px rgba(0,0,0,.4);background:#0b1224}
@media (max-width:720px){#leaflet-map{height:440px}}

.leaflet-popup-content-wrapper{background:#0e1932;color:#fff;border:1px solid var(--c-line);border-radius:14px;box-shadow:0 20px 40px rgba(0,0,0,.5);padding:0;overflow:hidden}
.leaflet-popup-content{margin:0;width:260px!important;font-family:var(--font-b)}
.leaflet-popup-tip{background:#0e1932!important}
.leaflet-popup-close-button{
  position:absolute!important;top:10px!important;right:10px!important;
  width:28px!important;height:28px!important;padding:0!important;
  background:rgba(10,18,36,.7)!important;
  border:1px solid rgba(212,176,103,.35)!important;
  border-radius:50%!important;
  color:#fff!important;font-size:18px!important;font-weight:600!important;
  line-height:1!important;text-decoration:none!important;
  display:grid!important;place-items:center!important;
  transition:background .2s ease,transform .2s ease,border-color .2s ease
}
.leaflet-popup-close-button:hover{
  background:#0a1224!important;border-color:var(--c-gold-2)!important;
  color:#fff!important;transform:scale(1.08)
}
.lmap-pop__img{width:100%;height:130px;object-fit:cover;display:block;background:#0a1224}
.lmap-pop__body{padding:14px 16px 16px}
.lmap-pop__title{font-family:var(--font-h);font-weight:800;font-size:1.05rem;margin-bottom:6px;color:#fff;line-height:1.25}
.lmap-pop__loc{font-size:.82rem;color:var(--c-gold-2);display:flex;align-items:center;gap:5px;margin-bottom:8px}
.lmap-pop__info{display:flex;justify-content:space-between;font-size:.82rem;color:var(--c-text-mute);margin-bottom:8px;padding-bottom:10px;border-bottom:1px solid var(--c-line-2)}
.lmap-pop__price{font-family:var(--font-h);font-weight:800;font-size:1.1rem;color:var(--c-gold-2);margin-bottom:12px}
.lmap-pop__btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;padding:11px 14px;border-radius:999px;
  background:linear-gradient(135deg,#2cd270 0%,var(--c-wa) 55%,#0fa84a 100%);
  color:#fff!important;
  font-weight:700;font-size:.92rem;text-decoration:none;
  box-shadow:0 6px 18px rgba(37,211,102,.35),inset 0 1px 0 rgba(255,255,255,.25);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease)
}
.lmap-pop__btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(37,211,102,.5),inset 0 1px 0 rgba(255,255,255,.35);color:#fff!important}
.lmap-pop__btn svg{width:17px;height:17px;fill:#fff;flex:none}

.lmap-marker{background:linear-gradient(135deg,var(--c-gold-2),var(--c-bronze));width:38px;height:38px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 6px 14px rgba(0,0,0,.45),0 0 0 2px #fff;display:grid;place-items:center}
.lmap-marker::before{content:"";width:14px;height:14px;background:#0a1224;border-radius:50%}
.lmap-cluster{background:linear-gradient(135deg,var(--c-gold-2),var(--c-bronze));color:#0a1224;font-weight:800;border-radius:50%;display:grid;place-items:center;box-shadow:0 8px 18px rgba(0,0,0,.5),0 0 0 5px rgba(212,176,103,.3);font-family:var(--font-h)}

.property-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.prop-card{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid var(--c-line);border-radius:var(--radius-lg);overflow:hidden;transition:transform .35s var(--ease),border-color .35s var(--ease)}
.prop-card:hover{transform:translateY(-4px);border-color:rgba(212,176,103,.5)}
.prop-card__img{position:relative;aspect-ratio:4/3;overflow:hidden}
.prop-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}
.prop-card:hover .prop-card__img img{transform:scale(1.08)}
.prop-card__badge{position:absolute;top:12px;left:12px;z-index:3;background:var(--c-gold);color:#0a1224;font-weight:800;padding:7px 14px;border-radius:999px;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 6px 18px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.15) inset;white-space:nowrap;transform-origin:left center;transition:transform .35s var(--ease)}
.prop-card:hover .prop-card__badge{transform:scale(1.04)}
.prop-card__body{padding:18px 20px 20px}
.prop-card__title{font-family:var(--font-h);font-weight:800;color:#fff;font-size:1.08rem;margin-bottom:6px;line-height:1.3}
.prop-card__sub{color:var(--c-text-mute);font-size:.88rem;margin-bottom:14px}
.prop-card__meta{display:flex;flex-wrap:wrap;gap:14px;font-size:.85rem;color:var(--c-text-mute);padding-top:12px;border-top:1px solid var(--c-line-2);margin-top:8px}
.prop-card__meta span{display:flex;align-items:center;gap:6px}
.prop-card__meta .icon{color:var(--c-gold-2);width:14px;height:14px}
.prop-card__price{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px}
.prop-card__price b{color:var(--c-gold-2);font-family:var(--font-h);font-size:1.15rem;font-weight:800}
.prop-card__price small{color:var(--c-text-soft);font-size:.78rem}
.prop-card__actions{margin-top:14px}
.prop-card__img--clickable{cursor:pointer;position:relative}
.prop-card__img--clickable::after{
  content:"📍 Auf Karte zeigen";
  position:absolute;left:50%;bottom:12px;transform:translateX(-50%) translateY(8px);
  background:rgba(10,18,36,.88);color:var(--c-gold-2);
  font-size:.78rem;font-weight:600;letter-spacing:.02em;
  padding:6px 14px;border-radius:999px;border:1px solid rgba(212,176,103,.4);
  white-space:nowrap;pointer-events:none;
  opacity:0;transition:opacity .25s var(--ease),transform .25s var(--ease)
}
.prop-card__img--clickable:hover::after{opacity:1;transform:translateX(-50%) translateY(0)}
.prop-card__meta-link{display:flex;align-items:center;gap:6px;color:inherit;text-decoration:none;transition:color .2s var(--ease)}
.prop-card__meta-link:hover{color:var(--c-gold-2);text-decoration:underline;text-decoration-color:rgba(212,176,103,.4);text-underline-offset:3px}
.prop-card--skeleton{min-height:380px;background:linear-gradient(110deg,rgba(255,255,255,.03) 8%,rgba(255,255,255,.07) 18%,rgba(255,255,255,.03) 33%);background-size:200% 100%;animation:propSkel 1.4s linear infinite;border:1px solid var(--c-line)}
@keyframes propSkel{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ============ Über Daniel page ============ */
.timeline{position:relative;padding-left:36px;display:grid;gap:24px;list-style:none;margin:0}
.timeline::before{content:"";position:absolute;left:11px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--c-gold-2),transparent)}
.timeline-item{position:relative}
.timeline-item::before{content:"";position:absolute;left:-30px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--c-gold-2);box-shadow:0 0 0 4px rgba(212,176,103,.2)}
.timeline-item h3{font-size:1.05rem;color:#fff;margin-bottom:6px}
.timeline-item p{font-size:.94rem}

/* ============ Helpers ============ */
.center{text-align:center}
.muted{color:var(--c-text-mute)}
.divider{height:1px;background:var(--c-line-2);margin:24px 0}
.flex{display:flex}.flex-col{flex-direction:column}.gap{gap:14px}
.hide-mobile{display:initial}
.show-mobile{display:none}
@media (max-width:720px){.hide-mobile{display:none}.show-mobile{display:initial}}
.full-width{width:100%}

/* ============ Footer Partner accent ============ */
.partner-list{display:grid;gap:10px}
.partner-list a{display:flex;align-items:center;gap:10px;color:var(--c-text-mute);font-size:.92rem;transition:color .2s var(--ease)}
.partner-list a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c-gold-2);flex:none}
.partner-list a:hover{color:var(--c-gold-2)}

/* ============ Small responsive tunes ============ */
@media (max-width:520px){
  body{font-size:16px}
  .hero{padding-top:78px}
  .section{padding:54px 0}
}

/* ============ Success Modal (after form submit) ============ */
.success-modal{display:none;position:fixed;inset:0;z-index:200;background:rgba(7,14,30,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:24px;animation:successFade .3s ease}
.success-modal.is-active{display:flex}
.success-modal__box{position:relative;background:linear-gradient(180deg,#0e1c34,#070d1a);border:1px solid rgba(212,176,103,.35);border-radius:var(--radius-lg);padding:54px 38px 38px;max-width:520px;width:100%;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.6),0 0 0 1px rgba(212,176,103,.18);animation:successPop .35s cubic-bezier(.2,.9,.3,1.2)}
.success-modal__close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(212,176,103,.32);color:#fff;cursor:pointer;display:grid;place-items:center;transition:.2s ease;padding:0}
.success-modal__close:hover{background:rgba(212,176,103,.18);border-color:rgba(212,176,103,.6);transform:rotate(90deg)}
.success-modal__close:focus-visible{outline:2px solid var(--c-gold-2);outline-offset:2px}
.success-modal__close svg{width:16px;height:16px}
.success-modal .tick{width:64px;height:64px;color:#25d366;margin:0 auto 16px;display:block}
.success-modal h2{font-size:1.55rem;color:#fff;margin:0 0 12px;line-height:1.3}
.success-modal p{color:var(--c-text);line-height:1.6;margin:0 0 12px;font-size:.96rem}
.success-modal p strong{color:#fff}
.success-modal .btn-row{margin-top:18px}
.success-modal .trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}
.success-modal .trust-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:rgba(212,176,103,.1);border:1px solid rgba(212,176,103,.3);color:var(--c-gold-2);font-size:.78rem}
.success-modal .trust-pill .icon{width:14px;height:14px}
@keyframes successFade{from{opacity:0}to{opacity:1}}
@keyframes successPop{from{opacity:0;transform:translateY(24px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (max-width:560px){
  .success-modal__box{padding:46px 22px 26px}
  .success-modal h2{font-size:1.25rem}
  .success-modal .tick{width:52px;height:52px}
}
