/* ============================================================
   Reisebüro Bahar — "Der Reiseschalter"
   Warm store palette (Leuchtrot + Creme + Ink + Messing),
   built from the paraphernalia of travel: split-flap board,
   boarding-pass tickets, a paper receipt, passport stamps.
   Bricolage Grotesque (display) + IBM Plex Mono (codes/data).
   ============================================================ */
:root{
  /* --- colors (locked) --- */
  --ink:#1B1410; --ink-2:#251A13; --ink-3:#2F2118;
  --paper:#F3E9D8; --paper-2:#ECDFC9;
  --bone:#FBF6EC;                 /* light hero + trust ground (anti-mud) */
  --text:#241A16; --text-soft:#5C4E44;
  --cream:#F5ECDC; --cream-soft:rgba(245,236,220,.72); --cream-faint:rgba(245,236,220,.6);
  --red:#D8402A; --red-d:#B4301D;
  --brass:#B9862F; --brass-d:#8A611C;
  --wa:#25D366; --wa-d:#1EBE5A;   /* WhatsApp only */
  --line-d:rgba(245,236,220,.14);
  --line-l:rgba(36,26,20,.14);
  /* --- radii --- */
  --r-s:8px; --r-m:12px; --r-l:16px; --r:var(--r-m);
  /* --- shadows (warm-tinted, never pure black) --- */
  --sh-1:0 1px 2px rgba(27,20,16,.06),0 3px 10px rgba(27,20,16,.08);
  --sh-2:0 14px 30px -14px rgba(27,20,16,.38);
  --sh-3:0 34px 64px -30px rgba(27,20,16,.5);
  /* --- tracking --- */
  --tr-label:.14em; --tr-btn:.06em;
  /* --- space --- */
  --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px; --s-7:48px; --s-8:64px;
  --sp-section:clamp(104px,13vh,168px);
  --sp-section-sm:clamp(64px,8vh,96px);
  --tilt:1.5deg;
  /* --- easing --- */
  --e-out:cubic-bezier(.16,1,.3,1);
  --e-pop:cubic-bezier(.34,1.3,.5,1);
  --e-io:cubic-bezier(.4,0,.2,1);
  --e:var(--e-out);
  --max:1240px;
  --pad:clamp(20px,5vw,64px);
  --mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,monospace;
  --disp:'Bricolage Grotesque',system-ui,sans-serif;
}
/* skip link */
.skip{position:fixed;top:-60px;left:12px;z-index:10000;background:var(--ink);color:var(--cream);font-family:var(--mono);font-size:.8rem;padding:10px 16px;border-radius:var(--r-s);transition:top .2s var(--e-io)}
.skip:focus{top:12px}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--text);
  font-family:var(--disp);font-size:clamp(16px,1.02vw,17.5px);line-height:1.55;font-weight:400;
  overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--red);color:#fff}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}

/* type */
.serif-xl{font-family:var(--disp);font-weight:800;font-size:clamp(2.3rem,6vw,4.6rem);line-height:.98;letter-spacing:-.04em}
.serif-l{font-family:var(--disp);font-weight:700;font-size:clamp(1.55rem,3.2vw,2.3rem);line-height:1.02;letter-spacing:-.025em}
.ink-red{color:var(--red)}
.lead{font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--text-soft);max-width:56ch;line-height:1.5}

/* brand */
.brand{display:inline-flex;align-items:center;gap:11px;color:var(--red)}
.brand__mark{width:26px;height:26px;flex:0 0 auto;border-radius:6px;background:var(--red);position:relative}
.brand__mark::before{content:"";position:absolute;left:5px;top:15px;width:16px;height:2.4px;background:var(--cream);border-radius:2px;transform:rotate(-24deg);transform-origin:left}
.brand__mark::after{content:"";position:absolute;right:4px;top:8px;width:5px;height:5px;border-radius:50%;background:var(--cream)}
.brand__name{font-family:var(--disp);font-weight:800;font-size:1.02rem;letter-spacing:-.01em;text-transform:uppercase;color:var(--red);line-height:1}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:600;font-size:.78rem;letter-spacing:var(--tr-btn);text-transform:uppercase;
  min-height:54px;padding:0 1.7em;border-radius:var(--r-s);border:1px solid transparent;cursor:pointer;white-space:nowrap;
  transition:transform .18s var(--e-pop),background .2s var(--e-io),box-shadow .2s var(--e-io),color .2s var(--e-io)}
.btn--red{background:var(--red);color:#fff;box-shadow:0 10px 24px -12px rgba(216,64,42,.7)}
.btn--red:hover{background:var(--red-d);transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(216,64,42,.7)}
.btn--brass{background:var(--brass);color:#1c1305}
.btn--brass:hover{background:var(--brass-d);color:#fff;transform:translateY(-2px)}
.btn--ghost{border-color:currentColor;color:var(--cream)}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}

/* reveal — single restrained entrance, only where it earns it */
html:not(.js) .reveal{opacity:1!important;transform:none!important}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--e-out),transform 1.1s var(--e-out)}
.reveal.in{opacity:1;transform:none}

/* nav */
.nav{position:fixed;top:0;left:0;width:100%;z-index:900;color:var(--cream);display:flex;align-items:center;justify-content:space-between;gap:22px;
  padding:16px var(--pad);transition:background .4s var(--e),box-shadow .4s,color .3s}
.nav.scrolled{background:rgba(27,20,16,.92);backdrop-filter:blur(10px);padding-top:11px;padding-bottom:11px;box-shadow:0 1px 0 var(--line-d)}
.nav__links{display:flex;gap:26px;font-family:var(--mono);font-size:.78rem;font-weight:500;letter-spacing:.02em;text-transform:uppercase}
.nav__links a{position:relative;opacity:.9;padding:3px 0}
.nav__links a::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1.5px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--e)}
.nav__links a:hover::after{transform:scaleX(1)}
.nav__cta{font-family:var(--mono);border:1px solid var(--red);border-radius:8px;padding:.6em 1.1em;font-size:.74rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--red)}
.nav__cta:hover{background:var(--red);color:#fff}
.burger{display:none;flex-direction:column;gap:6px;width:28px;background:none;border:0;cursor:pointer;color:inherit}
.burger span{height:2px;background:currentColor;transition:.35s var(--e)}
.burger.x span:nth-child(1){transform:translateY(4px) rotate(45deg)}
.burger.x span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:899;background:var(--ink);color:var(--cream);display:flex;flex-direction:column;justify-content:center;gap:6px;padding:var(--pad);
  clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .6s var(--e),visibility .6s;pointer-events:none}
.menu.open{clip-path:inset(0 0 0 0);visibility:visible;pointer-events:auto}
.menu a{font-family:var(--disp);font-weight:800;font-size:clamp(2rem,9vw,3rem);letter-spacing:-.03em}
.menu a:hover{color:var(--red)}

/* ============ 1 HERO — Schaufenster (echte Fassade, gerahmt) ============ */
.hero{background:var(--bone);color:var(--ink)}
.hero__inner{max-width:var(--max);margin-inline:auto;padding:clamp(112px,15vh,168px) var(--pad) 0;
  display:flex;flex-direction:column;gap:clamp(26px,4vh,44px)}
.hero__head{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-5);max-width:940px}
.hero__kicker{font-family:var(--mono);font-size:clamp(.72rem,.68rem + .2vw,.8rem);font-weight:600;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--text-soft);display:inline-flex;align-items:center;gap:10px}
.hero__kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red);flex:0 0 auto}
.hero__title{font-family:var(--disp);font-weight:800;font-size:clamp(2.6rem,1.5rem + 4.9vw,5rem);line-height:.98;letter-spacing:-.04em;color:var(--ink);margin:-.15em 0 0}
.hero__title .amp{color:var(--red);font-style:normal}
.hero__sub{max-width:48ch;font-size:clamp(1.06rem,1rem + .5vw,1.3rem);line-height:1.55;color:var(--text-soft)}
.hero__chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.76rem;font-weight:600;letter-spacing:.03em;color:var(--ink);border:1px solid var(--line-l);border-radius:100px;padding:.5em 1em}
.chip--geld .chip__i{color:var(--brass-d);font-weight:700}
.hero__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:var(--s-3)}
.hero__print{position:relative;background:#fff;padding:clamp(12px,1.3vw,18px);border-radius:var(--r-m);border:1px solid var(--line-l);box-shadow:var(--sh-3);margin:0}
.hero__print img{width:100%;height:auto;border-radius:var(--r-s);display:block}
.hero__plaque{margin-top:12px;text-align:center;font-family:var(--mono);font-size:clamp(.7rem,.66rem + .2vw,.76rem);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--text-soft);position:relative;padding-top:12px}
.hero__plaque::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:52px;height:1px;background:var(--brass)}
.hero__seal{position:absolute;top:calc(clamp(12px,1.3vw,18px) + 11px);right:calc(clamp(12px,1.3vw,18px) + 11px);z-index:2;font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--brass-d);border-radius:100px;padding:.5em .85em;box-shadow:var(--sh-2)}
.hero__ledger{display:flex;align-items:center;justify-content:space-between;gap:12px 30px;flex-wrap:wrap;padding:16px 0 clamp(22px,4vh,34px);margin-top:clamp(6px,2vh,18px);border-top:1px solid var(--line-l)}
.hero__loc,.hero__status{font-family:var(--mono);font-size:.73rem;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--text-soft);display:inline-flex;align-items:center;gap:9px}
.hero__dot{width:7px;height:7px;border-radius:50%;background:var(--red);flex:0 0 auto}
.hero__status{color:var(--brass-d)}
.hero__status.is-open{color:#1a7a3e}
/* entry motion */
.hero__head>*,.hero__ledger{opacity:0;transform:translateY(22px);transition:opacity .6s var(--e-out),transform .6s var(--e-out)}
.hero__print{transform:translateY(22px);transition:transform .7s var(--e-out)}
.hero.ready .hero__head>*,.hero.ready .hero__ledger{opacity:1;transform:none}
.hero.ready .hero__print{transform:none}
.hero.ready .hero__kicker{transition-delay:.05s}
.hero.ready .hero__title{transition-delay:.12s}
.hero.ready .hero__sub{transition-delay:.19s}
.hero.ready .hero__chips{transition-delay:.26s}
.hero.ready .hero__actions{transition-delay:.33s}
.hero.ready .hero__print{transition-delay:.30s;transition-duration:.85s}
.hero.ready .hero__ledger{transition-delay:.48s}
html:not(.js) .hero__head>*,html:not(.js) .hero__print,html:not(.js) .hero__ledger{opacity:1;transform:none}
@media(max-width:640px){
  .hero__inner{padding-top:98px}
  .hero__actions{flex-direction:column;align-items:stretch;width:100%}
  .hero__actions .btn{width:100%;justify-content:center}
}

/* ============ 2 INTRO ============ */
.intro{background:var(--paper);padding:var(--sp-section) 0}
.intro__grid{max-width:var(--max);margin-inline:auto;padding-inline:var(--pad);display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,96px);align-items:center}
.intro__big{font-family:var(--disp);font-weight:800;font-size:clamp(2rem,3.8vw,3.2rem);line-height:1.03;letter-spacing:-.025em;color:var(--text);max-width:18ch}
.intro .ink-red{color:var(--red-d)}
.intro__text{margin-top:1.4em;font-size:clamp(1.08rem,1.4vw,1.26rem);color:var(--text-soft);max-width:46ch;line-height:1.6}
.intro__sign{margin-top:1.7em;font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--red-d)}
.intro__media{display:flex;justify-content:center}
.snap{position:relative;width:fit-content;background:#fff;padding:14px 14px 48px;border-radius:3px;
  box-shadow:0 34px 60px -28px rgba(36,26,20,.55);transform:rotate(-2.2deg);transition:transform .5s var(--e)}
.snap:hover{transform:rotate(0)}
.snap img{width:100%;max-width:min(420px,78vw);aspect-ratio:3/4;object-fit:cover;border-radius:2px}
.snap__cap{position:absolute;left:0;right:0;bottom:16px;text-align:center;font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;color:var(--text-soft)}
.snap::before{content:"";position:absolute;top:-13px;left:50%;transform:translateX(-50%) rotate(3deg);width:110px;height:30px;background:rgba(216,64,42,.22);border:1px dashed rgba(216,64,42,.4);border-radius:2px}
@media(max-width:960px){.intro__grid{grid-template-columns:1fr;gap:clamp(30px,6vw,50px)}.intro__media{justify-content:flex-start}}

/* ============ 3 WORLDS ============ */
.worlds{background:var(--paper-2);display:grid;grid-template-columns:1fr auto 1fr}
.world{padding:clamp(48px,7vw,96px) clamp(28px,5vw,72px);display:flex;flex-direction:column;align-items:flex-start;transition:background .35s}
.world:hover{background:rgba(216,64,42,.05)}
.world--geld:hover{background:rgba(185,134,47,.08)}
.world__ico{width:40px;height:40px;border-radius:10px;background:var(--red);position:relative;margin-bottom:20px;flex:0 0 auto}
.world__ico::before{content:"\2708\FE0E";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:1.1rem}
.world__ico--geld{background:var(--brass)}
.world__ico--geld::before{content:"⇄";color:#1c1305;font-weight:700}
.world__title{font-family:var(--disp);font-weight:800;font-size:clamp(1.6rem,2.8vw,2.3rem);letter-spacing:-.02em;color:var(--text);margin-bottom:.35em}
.world__text{color:var(--text-soft);max-width:34ch;font-size:1.02rem;line-height:1.5}
.world__go{display:inline-block;margin-top:1.2em;font-family:var(--mono);font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;color:var(--red-d);border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color .3s,transform .3s var(--e-pop)}
.world--geld .world__go{color:var(--brass-d)}
.world:hover .world__go{border-color:currentColor;transform:translateX(5px)}
.world__perf{width:0;border-left:1px solid var(--line-l);margin:clamp(48px,6vw,88px) 0;position:relative}

/* ============ 4 DEST — ticket scroll ============ */
.dest{background:var(--ink);color:var(--cream);position:relative;z-index:0}
.dest__intro{padding:var(--sp-section) var(--pad) clamp(24px,4vh,44px)}
.dest__h{color:var(--cream);margin:0 0 .4em}
.dest__h .ink-red{color:var(--red)}
.dest__lead{color:var(--cream-soft);max-width:52ch;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.5}
.dest__pin{position:relative}
.dest__track{position:sticky;top:0;height:100vh;display:flex;align-items:center;gap:clamp(18px,2.2vw,30px);padding-inline:var(--pad);will-change:transform;z-index:1}
.dest__hud{position:sticky;top:0;height:100vh;margin-top:-100vh;z-index:4;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:14vh var(--pad) 7vh}
.dest__hud-label{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.dest__prog{display:flex;align-items:center;gap:clamp(12px,2vw,22px)}
.dest__prog-a,.dest__prog-b{font-family:var(--mono);font-weight:600;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;flex:0 0 auto;white-space:nowrap}
.dest__prog-a{color:var(--cream-soft)}
.dest__prog-b{color:var(--red);min-width:6ch}
.dest__prog-rail{position:relative;flex:1;height:2px;background:repeating-linear-gradient(90deg,rgba(245,236,220,.32) 0 5px,transparent 5px 11px)}
.dest__prog-fill{position:absolute;left:0;top:0;height:100%;width:0;background:var(--red)}
.dest__prog-plane{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);color:var(--red);font-size:.95rem;line-height:1;text-shadow:0 0 10px rgba(216,64,42,.6)}

/* boarding-pass ticket (cream paper on ink) */
.tkt{flex:0 0 auto;width:min(80vw,320px);background:var(--paper);color:var(--text);border-radius:var(--r-m);display:flex;flex-direction:column;
  box-shadow:var(--sh-2);transition:box-shadow .45s var(--e-io);overflow:hidden;will-change:transform}
.tkt__main{padding:16px 18px 14px}
.tkt__win{width:100%;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:var(--paper-2)}
.tkt__win img{width:100%;height:100%;object-fit:cover}
.tkt__info{padding-top:13px}
.tkt__city{font-family:var(--disp);font-weight:800;font-size:1.5rem;letter-spacing:-.02em;color:var(--text);display:block;line-height:1}
.tkt__route{display:flex;align-items:center;gap:10px;margin-top:10px;font-family:var(--mono);font-weight:600;font-size:1.15rem;letter-spacing:.05em;color:var(--red-d);font-variant-numeric:tabular-nums}
.tkt__plane{color:var(--red);font-size:.8rem}
.tkt__meta{display:flex;justify-content:space-between;margin-top:7px;font-family:var(--mono);font-size:.72rem;color:var(--text-soft)}
.tkt__meta span:last-child{color:var(--text);font-weight:500}
/* torn stub */
.tkt__stub{position:relative;margin-top:auto;padding:14px 18px;border-top:2px dashed var(--line-l);display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--paper-2)}
.tkt__stub::before,.tkt__stub::after{content:"";position:absolute;top:-11px;width:20px;height:20px;border-radius:50%;background:var(--ink)}
.tkt__stub::before{left:-10px}.tkt__stub::after{right:-10px}
.tkt__code{font-family:var(--disp);font-weight:800;font-size:1.35rem;letter-spacing:.02em;color:var(--text)}
.tkt__bars{flex:1;height:22px;background-image:repeating-linear-gradient(90deg,var(--ink) 0 1.5px,transparent 1.5px 4.5px);opacity:.38}
.tkt__stamp{font-family:var(--mono);font-weight:600;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red);border:1.5px solid var(--red);border-radius:4px;padding:3px 8px;transform:rotate(-4deg);opacity:.7;transition:opacity .4s var(--e),transform .4s var(--e)}
.tkt.is-center{box-shadow:var(--sh-3)}
.tkt__win img{will-change:transform}
.tkt.is-center .tkt__stamp{opacity:1;transform:rotate(-4deg) scale(1.04)}
.tkt--cta{background:var(--red);color:#fff;align-items:center;justify-content:center;text-align:center}
.tkt--cta .tkt__ctabody{padding:34px 26px}
.tkt--cta h3{color:#fff;margin-bottom:.35em}
.tkt--cta p{color:rgba(255,255,255,.85);margin-bottom:1.3em;font-size:.98rem}
.tkt--cta .btn--red{background:#fff;color:var(--red-d);box-shadow:none}
.tkt--cta .btn--red:hover{background:#1b1410;color:#fff}

/* ============ 5 SERVICES ============ */
.services{background:var(--paper);position:relative;z-index:1}
.services__inner{max-width:var(--max);margin-inline:auto;padding:var(--sp-section) var(--pad)}
.services__head{display:grid;grid-template-columns:1fr .8fr;gap:clamp(20px,4vw,60px);align-items:end;margin-bottom:clamp(34px,5vh,60px)}
.services__note{color:var(--text-soft);max-width:36ch;font-size:1.05rem;line-height:1.5}
.svc{list-style:none;border-top:1px solid var(--line-l);counter-reset:s}
.svc__row{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(16px,4vw,60px);padding:clamp(22px,3.2vh,34px) 0;border-bottom:1px solid var(--line-l);align-items:baseline;counter-increment:s}
.svc__t{font-family:var(--disp);font-weight:700;font-size:clamp(1.25rem,2vw,1.7rem);letter-spacing:-.02em;color:var(--text)}
.svc__t::before{content:counter(s,decimal-leading-zero);display:block;font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.14em;color:var(--brass-d);margin-bottom:.65em}
.svc__d{color:var(--text-soft);font-size:1.02rem;line-height:1.5;max-width:42ch}
.svc__row{transition:transform .35s var(--e)}
.svc__row:hover{transform:translateX(10px)}
.svc__row:hover .svc__t{color:var(--red-d)}

/* ============ 6 GELD — receipt ============ */
.geld{background:var(--ink);color:var(--cream)}
.geld__grid{max-width:var(--max);margin-inline:auto;padding:var(--sp-section) var(--pad);display:grid;grid-template-columns:1fr .92fr;gap:clamp(34px,5vw,80px);align-items:center}
.geld .serif-xl{color:var(--cream);margin-bottom:.4em}
.geld .serif-xl .ink-red{color:var(--brass)}
.geld__lead{color:var(--cream-soft);max-width:44ch;font-size:clamp(1.05rem,1.5vw,1.22rem);line-height:1.55;margin-bottom:1.7em}
.geld__note{margin-top:1.3em;font-family:var(--mono);font-size:.78rem;color:var(--cream-soft);max-width:40ch;line-height:1.5}
.geld .btn--brass{margin-top:.2em}
/* the receipt */
.receipt{background:var(--paper);color:var(--text);border:1px solid var(--line-l);border-radius:var(--r-m);padding:28px clamp(22px,3vw,34px);position:relative;box-shadow:var(--sh-3)}
.receipt__top{text-align:center;padding-bottom:14px}
.receipt__brand{display:block;font-family:var(--disp);font-weight:800;font-size:1.3rem;letter-spacing:-.01em;color:var(--text)}
.receipt__sub{display:block;margin-top:4px;font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-d)}
.receipt__perf{border-top:2px dashed var(--line-l);margin:6px 0}
.receipt__lines{list-style:none;padding:8px 0}
.receipt__lines li{display:flex;gap:16px;padding:14px 0;align-items:flex-start}
.receipt__lines li+li{border-top:1px dotted var(--line-l)}
.receipt__step{font-family:var(--mono);font-weight:600;font-size:.9rem;color:var(--brass-d);padding-top:2px}
.receipt__lines h3{font-family:var(--disp);font-weight:700;font-size:1.08rem;color:var(--text)}
.receipt__lines p{color:var(--text-soft);font-size:.94rem;line-height:1.45;margin-top:.15em;max-width:38ch}
.receipt__foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:14px}
.receipt__foot span:first-child{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}
.receipt__ref{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brass-d)}

/* ============ 7 STAMPS ============ */
.stamps{background:var(--bone);padding:var(--sp-section-sm) 0;overflow:hidden;border-top:1px solid var(--line-l);border-bottom:1px solid var(--line-l)}
.stamps__row{display:flex;align-items:center;gap:clamp(24px,3.4vw,52px);width:max-content;animation:drift 80s linear infinite;padding-inline:40px}
.stamps:hover .stamps__row{animation-play-state:paused}
@keyframes drift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.stamp{flex:0 0 auto;display:grid;place-content:center;text-align:center;width:132px;height:132px;border-radius:50%;
  font-family:var(--mono);color:var(--red-d);position:relative;opacity:1}
.stamp--b{color:var(--brass-d);border-radius:14px;width:150px;height:120px}
.stamp::before{content:"";position:absolute;inset:0;border:1px solid currentColor;border-radius:inherit;opacity:.4}
.stamp::after{display:none}
.stamp b{font-family:var(--disp);font-weight:800;font-size:.92rem;letter-spacing:.02em;line-height:1;padding:0 6px}
.stamp i{font-style:normal;font-size:.62rem;letter-spacing:.24em;margin-top:5px;opacity:.75}
.stamp em{font-style:normal;font-size:.66rem;letter-spacing:.1em;margin-top:4px}
.stamp--photo{width:120px;height:150px;border-radius:var(--r-s);background:#fff;padding:7px;box-shadow:var(--sh-2);opacity:1;overflow:hidden}
.stamp--photo::before,.stamp--photo::after{display:none}
.stamp--photo img{width:100%;height:100%;object-fit:cover;border-radius:2px}

/* ============ 8 PROOF — Kennzahlen ============ */
.proof{background:var(--paper-2);padding:clamp(72px,12vh,150px) 0}
.proof__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(30px,5vw,72px);max-width:820px;margin-inline:auto;padding-inline:var(--pad)}
.stat{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center}
.stat__n{font-family:var(--disp);font-weight:800;font-size:clamp(3.6rem,7.5vw,6.4rem);line-height:.86;letter-spacing:-.045em;color:var(--text)}
.stat__l{font-family:var(--mono);font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft);max-width:22ch}
@media(max-width:640px){.proof__grid{grid-template-columns:1fr;gap:44px}}

/* ============ 9 VISIT ============ */
.visit{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,64px);max-width:var(--max);margin-inline:auto;padding:var(--sp-section) var(--pad);align-items:start}
.visit .serif-xl{margin-bottom:.35em}
.visit__addr{font-family:var(--disp);font-weight:500;font-size:1.3rem;line-height:1.5;color:var(--text);margin-bottom:1.4em}
.visit__label{font-family:var(--mono);font-weight:600;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red-d);margin:1.4em 0 .55em}
.visit__label--tel{margin-top:1.8em}
.hours{max-width:420px}
.hours__row{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line-l);font-family:var(--mono);font-size:.94rem;font-variant-numeric:tabular-nums}
.hours__off{color:var(--text-soft)}
.visit__phone{display:block;font-family:var(--disp);font-weight:800;font-size:clamp(1.9rem,4vw,2.7rem);letter-spacing:-.02em;color:var(--text);margin:.05em 0 .7em}
.visit__phone:hover{color:var(--red-d)}
.visit__map{border-radius:var(--r);overflow:hidden;min-height:440px;position:relative;background:var(--ink-2)}
.mapbox{position:absolute;inset:0}
.mapbox__ph{position:absolute;inset:0;background:radial-gradient(120% 90% at 60% 40%,#33241a,#1b1410)}
.mapbox__pin{position:absolute;left:58%;top:42%;transform:translate(-50%,-50%);font-family:var(--mono);font-weight:600;font-size:.78rem;background:var(--red);color:#fff;padding:5px 12px;border-radius:100px}
.mapbox__pin::after{content:"";position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--red)}
.mapbox iframe{width:100%;height:100%;border:0;display:block}
.mapbox__load{position:absolute;inset:0;margin:auto;width:fit-content;height:fit-content;display:flex;flex-direction:column;gap:2px;align-items:center;
  background:var(--red);color:#fff;border:0;border-radius:100px;padding:1em 1.7em;cursor:pointer;font-family:var(--mono);font-weight:600;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem}
.mapbox__load span{font-size:.64rem;font-weight:400;text-transform:none;letter-spacing:.02em;opacity:.85}
.mapbox__load:hover{background:var(--red-d)}

/* ============ FOOTER ============ */
.foot{background:var(--ink);color:var(--cream);padding:clamp(56px,8vh,90px) 0 40px}
.foot__brand{font-family:var(--disp);font-weight:800;font-size:clamp(2.2rem,8vw,4.4rem);letter-spacing:-.03em;text-transform:uppercase;color:var(--red);line-height:1}
.foot__cols{display:flex;flex-wrap:wrap;gap:22px 60px;margin:30px 0 26px;font-family:var(--mono);font-size:.84rem;color:var(--cream-soft);line-height:1.7}
.foot__cols a{color:var(--cream);border-bottom:1px solid transparent}
.foot__cols a:hover{border-color:var(--red)}
.foot__demo{font-size:.75rem;color:rgba(245,236,220,.4);max-width:680px;line-height:1.6}

/* ============ CHAT WIDGET ============ */
.chat-fab{position:fixed;right:20px;bottom:20px;z-index:940;display:flex;align-items:center;gap:10px;
  background:var(--red);color:#fff;border:0;border-radius:100px;padding:.85em 1.25em .85em 1.05em;cursor:pointer;
  font-family:var(--mono);font-weight:600;font-size:.8rem;letter-spacing:.04em;box-shadow:0 16px 34px -14px rgba(216,64,42,.8);
  transition:transform .3s var(--e),background .25s}
.chat-fab:hover{transform:translateY(-2px);background:var(--red-d)}
.chat-fab__ico{font-size:1.05rem}
.chat-fab__badge{position:absolute;top:-4px;right:-2px;min-width:20px;height:20px;border-radius:12px;background:#fff;color:var(--red-d);
  font-family:var(--mono);font-weight:700;font-size:.68rem;display:none;place-items:center;padding:0 5px}
.chat-fab__badge.on{display:grid}
.chat-panel{position:fixed;right:20px;bottom:20px;z-index:945;width:min(380px,calc(100vw - 32px));height:min(600px,calc(100vh - 40px));
  background:var(--paper);color:var(--text);border-radius:16px;overflow:hidden;display:none;flex-direction:column;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.6);border:1px solid var(--line-l)}
.chat-panel.open{display:flex}
.chat-head{background:var(--ink);color:var(--cream);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.chat-head__t{display:flex;align-items:center;gap:10px}
.chat-head__t b{font-family:var(--disp);font-weight:800;font-size:1rem;letter-spacing:-.01em}
.chat-head__dot{width:8px;height:8px;border-radius:50%;background:#41c07a}
.chat-head__sub{font-family:var(--mono);font-size:.66rem;letter-spacing:.05em;color:var(--cream-soft);text-transform:uppercase}
.chat-head__x{background:none;border:0;color:var(--cream);cursor:pointer;font-size:1.3rem;line-height:1;opacity:.8}
.chat-head__x:hover{opacity:1}
.chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--paper-2)}
.chat-auth{padding:22px 20px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}
.chat-auth h4{font-family:var(--disp);font-weight:800;font-size:1.25rem;letter-spacing:-.02em}
.chat-auth p{color:var(--text-soft);font-size:.9rem;line-height:1.45;margin-top:-4px}
.chat-tabs{display:flex;gap:6px;background:var(--paper-2);border-radius:10px;padding:4px;margin-top:4px}
.chat-tabs button{flex:1;border:0;background:none;padding:.7em;border-radius:7px;cursor:pointer;font-family:var(--mono);font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft)}
.chat-tabs button.on{background:#fff;color:var(--text);box-shadow:0 2px 6px -3px rgba(0,0,0,.3)}
.chat-field{display:flex;flex-direction:column;gap:5px}
.chat-field label{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft)}
.chat-field input{font:inherit;font-size:.95rem;padding:11px 13px;border:1px solid var(--line-l);border-radius:9px;background:#fff;color:var(--text)}
.chat-field input:focus{outline:none;border-color:var(--red)}
.chat-auth .btn{width:100%;text-align:center}
.chat-msg{max-width:82%;padding:9px 13px;border-radius:14px;font-size:.92rem;line-height:1.4;position:relative;word-wrap:break-word}
.chat-msg time{display:block;font-family:var(--mono);font-size:.6rem;opacity:.6;margin-top:4px;letter-spacing:.03em}
.chat-msg--me{align-self:flex-end;background:var(--red);color:#fff;border-bottom-right-radius:4px}
.chat-msg--them{align-self:flex-start;background:#fff;color:var(--text);border-bottom-left-radius:4px;box-shadow:0 2px 6px -4px rgba(0,0,0,.3)}
.chat-msg img{border-radius:8px;margin-bottom:4px;max-height:200px;cursor:pointer}
.chat-file{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.8rem;text-decoration:underline;cursor:pointer}
.chat-note{text-align:center;font-family:var(--mono);font-size:.72rem;color:var(--text-soft);padding:10px;line-height:1.4}
.chat-foot{border-top:1px solid var(--line-l);padding:10px;display:flex;align-items:center;gap:8px;background:var(--paper)}
.chat-foot__attach{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:1px solid var(--line-l);background:#fff;cursor:pointer;font-size:1.1rem;color:var(--text-soft)}
.chat-foot__attach:hover{border-color:var(--red);color:var(--red)}
.chat-foot input[type=text]{flex:1;font:inherit;font-size:.92rem;padding:10px 13px;border:1px solid var(--line-l);border-radius:100px;background:#fff}
.chat-foot input[type=text]:focus{outline:none;border-color:var(--red)}
.chat-foot__send{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:0;background:var(--red);color:#fff;cursor:pointer;font-size:1rem}
.chat-foot__send:hover{background:var(--red-d)}
.chat-logout{background:none;border:0;color:var(--cream-soft);cursor:pointer;font-family:var(--mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.05em}
.chat-logout:hover{color:var(--cream)}
.chat-err{color:var(--red-d);font-size:.82rem;text-align:center}

/* ============ RTL ============ */
[dir="rtl"] .hero__grid,[dir="rtl"] .intro__grid,[dir="rtl"] .services__head,[dir="rtl"] .svc__row,[dir="rtl"] .geld__grid,[dir="rtl"] .visit{direction:rtl}
[dir="rtl"] .hero__loc{flex-direction:row-reverse}
[dir="rtl"] .hero__actions{flex-direction:row-reverse;justify-content:flex-end}
[dir="rtl"] .board__head,[dir="rtl"] .board__row{direction:ltr}
[dir="rtl"] .tkt__route,[dir="rtl"] .proof__strip{direction:ltr}
[dir="rtl"] .chat-msg--me{align-self:flex-start}
[dir="rtl"] .chat-msg--them{align-self:flex-end}

/* ============ RESPONSIVE ============ */
@media(max-width:960px){
  .hero__grid{grid-template-columns:1fr;gap:36px}
  .intro__grid,.services__head,.geld__grid,.visit{grid-template-columns:1fr}
  .svc__row{grid-template-columns:1fr;gap:6px}
  .geld__grid{gap:44px}
}
@media(max-width:860px){
  .nav__links,.nav__cta{display:none}
  .burger{display:flex}
  .nav{gap:12px}
  .brand{gap:9px}
  .brand__mark{width:22px;height:22px}
  .brand__name{font-size:.84rem}
  .lang__btn{padding:.45em .6em}
  .worlds{grid-template-columns:1fr}
  .world__perf{width:auto;height:0;border-left:0;border-top:1px solid var(--line-l);margin:0 clamp(28px,6vw,72px)}
  .visit__map{min-height:320px}
}
@media(max-width:560px){
  .board{padding:12px}
  .board__head,.board__row{grid-template-columns:1.4fr .7fr .9fr 1.1fr;gap:6px}
  .fl{font-size:.66rem;padding:.55em .45em;letter-spacing:.02em}
  .proof__strip{flex-direction:column;gap:10px}
  .proof__dot{display:none}
  .chat-fab__label{display:none}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto!important;transition:none!important}
  .reveal{opacity:1!important;transform:none!important}
  .dest__pin{height:auto!important}
  .dest__track{position:static;height:auto;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;transform:none!important;padding-block:24px}
  .tkt{scroll-snap-align:center}
  .dest__hud{display:none}
  .stamps__row{animation:none}
}

/* ============ language switcher ============ */
.lang{position:relative;flex:0 0 auto}
.lang__btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--line-d);border-radius:8px;color:currentColor;cursor:pointer;padding:.5em .7em;font-family:var(--mono);font-size:.74rem;font-weight:600;letter-spacing:.03em}
.lang__btn:hover{border-color:var(--red)}
.lang__globe{font-size:.95rem;line-height:1}
.lang__cur{letter-spacing:.06em}
.lang__chev{font-size:.6rem;opacity:.7}
.lang__menu{position:absolute;top:calc(100% + 10px);right:0;min-width:188px;background:var(--ink-2);border:1px solid var(--line-d);border-radius:12px;padding:6px;list-style:none;
  box-shadow:0 24px 54px -20px rgba(0,0,0,.7);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s var(--e),transform .25s var(--e),visibility .25s;z-index:60}
.lang.open .lang__menu{opacity:1;visibility:visible;transform:none}
.lang__menu button{width:100%;text-align:left;background:none;border:0;color:var(--cream);cursor:pointer;font-family:var(--disp);font-size:.95rem;font-weight:500;padding:9px 11px;border-radius:8px;display:flex;gap:9px;align-items:center}
.lang__menu button:hover,.lang__menu button[aria-current="true"]{background:rgba(216,64,42,.16);color:#fff}
[dir="rtl"] .lang__menu{right:auto;left:0}
[dir="rtl"] .lang__menu button{text-align:right;flex-direction:row-reverse}
@media(max-width:860px){.lang{margin-inline-start:auto}}

/* hero title balance + chat note panel height */
.hero__title{text-wrap:balance}
.chat-panel.chat-panel--note{height:auto}

/* ============ TAPE — oversized marquee ============ */
.tape{background:var(--paper-2);overflow:hidden;padding:clamp(24px,4vh,46px) 0;border-top:1px solid var(--line-l);border-bottom:1px solid var(--line-l)}
.tape__row{display:flex;align-items:center;gap:clamp(20px,3vw,44px);width:max-content;animation:tape 34s linear infinite;white-space:nowrap}
.tape:hover .tape__row{animation-play-state:paused}
@keyframes tape{to{transform:translateX(-50%)}}
.tape__row span{font-family:var(--disp);font-weight:800;font-size:clamp(1.8rem,4.5vw,3.4rem);letter-spacing:-.02em;color:var(--text);text-transform:uppercase}
.tape__row i{color:var(--red);font-style:normal;font-size:.5em;line-height:1}

/* ============ mask reveal (scroll) ============ */
.mask{clip-path:inset(0 0 100% 0);transform:scale(1.05);will-change:clip-path,transform}
.mask.in{clip-path:inset(0 0 0 0);transform:none;transition:clip-path 1.15s var(--e),transform 1.25s var(--e)}
html:not(.js) .mask{clip-path:none;transform:none}
@media(prefers-reduced-motion:reduce){.tape__row{animation:none}.mask{clip-path:none;transform:none}.interlude__media img{transform:none!important}}

/* ============ section wipe (snami-style curtain reveal on enter) ============ */
.wipe{clip-path:inset(0 0 100% 0 round 34px 34px 0 0);will-change:clip-path}
.wipe.in{clip-path:inset(0 0 0 0 round 0 0 0 0);transition:clip-path 1.15s var(--e)}
html:not(.js) .wipe{clip-path:none}
@media(prefers-reduced-motion:reduce){.wipe{clip-path:none}}

/* ============ P0 REDESIGN — components ============ */
/* brand emblem (real Bahar sun) */
.brand__mark{width:30px;height:30px;background:none;border-radius:0}
.brand__mark::before,.brand__mark::after{display:none}
/* bigger burger tap target */
.burger{width:44px;height:44px;padding:12px 8px;justify-content:center}

/* nav over LIGHT hero (ink text until scrolled) */
.nav{color:var(--ink)}
.nav .nav__cta{color:var(--red-d);border-color:var(--red-d)}
.nav .nav__cta:hover{background:var(--red-d);color:#fff}
.nav .lang__btn{border-color:var(--line-l)}
.nav.scrolled{color:var(--cream)}
.nav.scrolled .nav__cta{color:var(--red);border-color:var(--red)}
.nav.scrolled .nav__cta:hover{background:var(--red);color:#fff}
.nav.scrolled .lang__btn{border-color:var(--line-d)}

/* buttons: WhatsApp (green, ink label ~10:1) + ink ghost */
.btn--wa{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--wa);color:var(--ink);min-height:54px;padding:0 1.7em;border-radius:var(--r-s);box-shadow:var(--sh-2);font-size:.82rem;letter-spacing:var(--tr-btn);
  transition:transform .18s var(--e-pop),background .2s var(--e-io),box-shadow .2s var(--e-io)}
.btn--wa .btn__ico{color:var(--ink);flex:0 0 auto}
.btn--wa:hover{background:var(--wa-d);transform:translateY(-2px);box-shadow:var(--sh-3)}
.btn--wa:active{transform:translateY(0) scale(.99)}
.btn--ghost-ink{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 1.5em;border:1px solid var(--ink);color:var(--ink);background:none;border-radius:var(--r-s);
  transition:transform .18s var(--e-pop),background .2s var(--e-io),color .2s var(--e-io)}
.btn--ghost-ink:hover{background:var(--ink);color:var(--bone);transform:translateY(-2px)}

/* trust band */
.trust{background:var(--bone);border-top:1px solid var(--line-l)}
.trust__grid{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;padding-block:clamp(18px,3vh,26px)}
.trust__fact{font-family:var(--mono);font-size:.8rem;letter-spacing:.02em;color:var(--text-soft);display:inline-flex;align-items:baseline;gap:8px;padding-right:28px;border-right:1px solid var(--line-l)}
.trust__fact b{font-family:var(--disp);font-weight:800;font-size:1.02rem;color:var(--ink);letter-spacing:-.01em}
.trust__langs{margin-left:auto;font-family:var(--mono);font-size:.76rem;letter-spacing:.05em;color:var(--brass-d)}
@media(max-width:760px){.trust__fact{border-right:0;padding-right:0;width:100%}.trust__langs{margin-left:0;width:100%}}

/* intro 3-print gallery */
.intro__gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,18px);align-items:start}
.print{background:#fff;padding:9px 9px 0;border-radius:var(--r-s);box-shadow:var(--sh-2);border:1px solid var(--line-l);margin:0;transition:transform .5s var(--e-out)}
.print img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:4px;display:block}
.print figcaption{padding:9px 3px 11px;text-align:center;font-family:var(--mono);font-size:.64rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft)}
.print--a{transform:rotate(calc(-1*var(--tilt)))}
.print--b{transform:translateY(-16px)}
.print--c{transform:rotate(var(--tilt))}
.print:hover{transform:translateY(-6px)}
@media(max-width:560px){.intro__gallery{grid-template-columns:1fr 1fr;gap:12px}.print--b{transform:none}.print--c{grid-column:1/-1;max-width:60%;justify-self:center}}

/* geld: echtes MoneyGram-Foto neben Beleg */
.geld__facts{display:flex;flex-wrap:wrap;gap:8px;margin:1.3em 0;list-style:none}
.geld__facts li{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;color:var(--cream);border:1px solid var(--line-d);border-radius:100px;padding:.5em .95em}
.geld__photo{margin:1.5em 0;background:#fff;padding:9px 9px 0;border-radius:var(--r-s);box-shadow:var(--sh-3);max-width:320px}
.geld__photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:4px;display:block}
.geld__photo figcaption{padding:9px 3px 11px;text-align:center;font-family:var(--mono);font-size:.64rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft)}

/* contact actions */
.visit__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:.4em}
.visit__actions .btn{min-height:52px}
.visit__callbtn{display:inline-flex;align-items:center;justify-content:center}

/* footer sitemap */
.foot__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:36px 40px}
.foot__nav{display:grid;grid-template-columns:repeat(4,auto);gap:28px 46px}
.foot__col{display:flex;flex-direction:column;gap:8px}
.foot__h{font-family:var(--mono);font-size:.7rem;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--brass);margin-bottom:3px}
.foot__col a,.foot__col span{font-family:var(--mono);font-size:.84rem;color:var(--cream-soft);line-height:1.5}
.foot__col a{border-bottom:1px solid transparent;width:fit-content}
.foot__col a:hover{color:var(--cream);border-color:var(--red)}
.foot .foot__demo{margin-top:30px;color:var(--cream-faint)}
@media(max-width:760px){.foot__nav{grid-template-columns:1fr 1fr;gap:24px 30px}}
@media(max-width:420px){.foot__nav{grid-template-columns:1fr 1fr}}

/* ============ HERO Card-Fan Carousel (portiert von 21st.dev, Marken-Palette) ============ */
.fan-stage{position:relative;width:100%;margin-top:clamp(8px,2vh,20px)}
.fan-wash{position:absolute;inset:-16% -10% -6%;z-index:0;opacity:.55;color:#C6613F;
  background:radial-gradient(56% 54% at 50% 42%, currentColor 0%, transparent 66%);
  pointer-events:none;filter:saturate(1.08);transition:opacity .6s var(--e-io)}
.fan-layout{position:relative;z-index:1;height:min(38rem,70vh);display:flex;align-items:center;justify-content:center}
.fan-card{will-change:transform;backface-visibility:hidden;position:absolute;overflow:clip;margin:0;
  border:1px solid #00000014;border-radius:clamp(18px,2.2vw,28px);
  width:min(20rem,36.84vh);height:min(35rem,64.47vh);
  box-shadow:var(--sh-3);background:var(--paper-2);opacity:0;cursor:pointer}
.fan-card img{width:100%;height:100%;object-fit:cover;display:block}
.fan-card__label{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:2.4em 1.2em 1.15em;
  font-family:var(--mono);font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-align:center;
  background:linear-gradient(0deg,rgba(20,14,10,.78),rgba(20,14,10,.28) 55%,transparent);opacity:0;transition:opacity .4s var(--e-io)}
.fan-card.is-center .fan-card__label{opacity:1}
.fan-ctrls{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:18px;margin-top:clamp(14px,3vh,30px)}
.fan-btn{width:52px;height:52px;border-radius:50%;border:1px solid var(--line-l);background:var(--bone);color:var(--ink);
  font-size:1.5rem;line-height:1;cursor:pointer;display:grid;place-items:center;
  transition:transform .2s var(--e-pop),background .2s var(--e-io),color .2s var(--e-io),box-shadow .2s}
.fan-btn:hover{background:var(--ink);color:var(--bone);transform:translateY(-2px);box-shadow:var(--sh-2)}
.fan-btn:active{transform:translateY(0) scale(.96)}
.fan-dots{display:flex;gap:8px}
.fan-dots button{width:9px;height:9px;border-radius:50%;border:0;background:var(--line-l);cursor:pointer;padding:0;
  transition:background .3s var(--e-io),transform .3s var(--e-pop)}
.fan-dots button[aria-current="true"]{background:var(--red);transform:scale(1.3)}
html:not(.js) .fan-card{opacity:1;position:relative;display:none}
html:not(.js) .fan-card:first-child{display:block;margin-inline:auto}
@media (max-width:1024px){.fan-layout{height:min(34rem,70vh)}.fan-card{border-radius:22px;width:min(16rem,32.94vh);height:min(28rem,57.65vh)}}
@media (max-width:768px){.fan-layout{height:min(28rem,70vh)}.fan-card{border-radius:18px;width:min(12rem,30vh);height:min(21rem,52.5vh)}.fan-card__label{font-size:.72rem;padding:1.8em 1em .9em}}
@media (max-width:640px){.fan-layout{height:min(26rem,70vh)}.fan-card{border-radius:16px;width:min(9rem,24.23vh);height:min(15.75rem,42.4vh)}}
@media (max-width:480px){.fan-layout{height:min(22rem,70vh)}.fan-card{border-radius:14px;width:min(7rem,22.27vh);height:min(12.25rem,38.98vh)}.fan-btn{width:46px;height:46px}}
@media(prefers-reduced-motion:reduce){.fan-wash{display:none}}

/* ============ Intro-Veil (schlicht, Marke) ============ */
.veil{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(125% 125% at 50% 40%, #241a13 0%, #17110c 62%, #120d09 100%);
  transition:opacity .7s var(--e-io),visibility .7s;clip-path:none}
.veil.gone{opacity:0;visibility:hidden;pointer-events:none}
.veil__in{display:flex;flex-direction:column;align-items:center;gap:18px}
.veil__emb{width:60px;height:60px;opacity:0;transform:translateY(8px) scale(.92);animation:veilpop .7s var(--e-out) .1s forwards}
.veil__mark{font-family:var(--disp);font-weight:800;text-transform:uppercase;letter-spacing:.16em;font-size:clamp(1rem,3vw,1.4rem);color:var(--cream);opacity:0;transform:none;animation:veilup .7s var(--e-out) .28s forwards}
.veil__line{display:none}
.veil__bar{width:min(150px,40vw);height:2px;border-radius:2px;background:rgba(245,236,220,.16);position:relative;overflow:hidden;margin-top:4px}
.veil__bar::after{content:"";position:absolute;inset:0;left:-100%;background:linear-gradient(90deg,transparent,var(--red) 45%,var(--brass));animation:veilbar 1.25s var(--e-io) .1s forwards}
@keyframes veilpop{to{opacity:1;transform:none}}
@keyframes veilup{to{opacity:1}}
@keyframes veilbar{to{left:0}}
html:not(.js) .veil{display:none}

/* ============ Film-Grain (Klammer über Hero + Body) ============ */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.04;mix-blend-mode:multiply;background-size:160px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
@media(prefers-reduced-motion:reduce){body::after{opacity:.03}}

/* ============ GELD — Partner-Logos (Aufkleber am Schalter) ============ */
.geld__partners{margin:1.5em 0 1.7em}
.geld__partners-l{display:block;font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--brass);margin-bottom:12px}
.partners{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.partners__tile{display:flex;align-items:center;justify-content:center;height:54px;padding:0 18px;background:#fff;border-radius:var(--r-s);box-shadow:var(--sh-2);transition:transform .25s var(--e-pop)}
.partners__tile:hover{transform:translateY(-2px)}
.partners__tile img{display:block;width:auto;height:24px}
.partners__tile--mg img{height:22px}
.partners__tile--ria img{height:30px}
.partners__tile--wu{background:#000;padding:0}
.partners__tile--wu img{height:54px;border-radius:var(--r-s)}
@media(max-width:560px){.partners{gap:8px}.partners__tile{height:48px;padding:0 14px}.partners__tile img{height:21px}.partners__tile--mg img{height:19px}.partners__tile--ria img{height:26px}.partners__tile--wu img{height:48px}}

/* ============ KONTAKT — WhatsApp-Nummer ============ */
.visit__phone--wa{font-size:clamp(1.45rem,3vw,2.05rem);margin-bottom:.25em}
.visit__phone--wa:hover{color:#1a7a3e}
.visit__hint{font-family:var(--mono);font-size:.78rem;color:var(--text-soft);margin:0 0 1.1em}

.visit__mail{margin-top:1.2em;font-family:var(--mono);font-size:.8rem;color:var(--text-soft)}
.visit__mail a{color:var(--text);border-bottom:1px solid var(--line-l)}
.visit__mail a:hover{color:var(--red-d);border-color:var(--red)}
