:root{
  --dark:#300E47;--purple:#782AAC;--green:#71D154;--red:#F1493C;
  --yellow:#FDDE42;--white:#FFF;--gray-light:#F8F7F9;
  --gray-mid:#C4C0C7;--gray-dark:#645C6A;
  --font-h:'IBM Plex Mono',monospace;--font-b:'Roboto',sans-serif
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-b);color:var(--dark);background:var(--white);overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}

/* PAGE SWITCH */
.pg{display:none}.pg.on{display:block}

/* NAV */
nav{position:fixed;top:0;left:0;width:100%;z-index:1000;background:var(--red);transition:box-shadow .3s}
nav.sc{box-shadow:0 4px 20px rgba(48,14,71,.3)}
.nw{max-width:1200px;margin:0 auto;padding:0 28px;display:flex;align-items:center;height:80px;gap:14px}
.nl{display:flex;align-items:center;margin-right:4px;cursor:pointer}
.nl img{height:54px;width:auto}
.nl-fb{color:var(--white);font-family:var(--font-h);font-weight:600;font-size:1.05rem;display:none}
.nt{display:flex;gap:5px;flex:1}
.nb{background:rgba(255,255,255,.15);border:none;color:var(--white);font-family:var(--font-h);font-weight:500;font-size:.78rem;padding:8px 17px;border-radius:6px;cursor:pointer;transition:.2s;white-space:nowrap}
.nb:hover{background:rgba(255,255,255,.28)}
.nb.on{background:var(--yellow);color:var(--dark)}
.ncta{background:var(--purple);color:var(--white);font-family:var(--font-h);font-size:.78rem;font-weight:500;padding:10px 20px;border-radius:6px;border:none;cursor:pointer;transition:.2s;white-space:nowrap}
.ncta:hover{background:var(--dark)}
.burg{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:8px;margin-left:auto}
.burg span{width:28px;height:3px;background:var(--white);border-radius:2px}
.mm{display:none;position:fixed;top:80px;left:0;width:100%;background:var(--red);padding:20px 28px;flex-direction:column;z-index:999;max-height:calc(100vh - 80px);overflow-y:auto}
.mm.op{display:flex}
.mm-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.mb{flex:1;min-width:100px;background:rgba(255,255,255,.15);border:none;color:var(--white);font-family:var(--font-h);font-size:.8rem;padding:10px 12px;border-radius:6px;cursor:pointer;text-align:center}
.mb.on{background:var(--yellow);color:var(--dark)}
.mm hr{border:none;border-top:1px solid rgba(255,255,255,.2);margin:6px 0}
.mml a,.mml button{color:var(--white);font-weight:700;font-size:.95rem;padding:9px 0;display:block;border:none;background:none;cursor:pointer;font-family:var(--font-b);text-align:left}

/* HERO */
.hero{margin-top:80px;background:var(--dark);position:relative;overflow:hidden;min-height:88vh;display:flex;align-items:center}
.hbg{position:absolute;inset:0}
.hbg img{width:100%;height:100%;object-fit:cover;opacity:.35}
.hi{position:relative;z-index:2;display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:center;padding:80px 0}
.hi h1{font-family:var(--font-h);font-size:clamp(2rem,4.5vw,3.4rem);color:var(--white);line-height:1.15;margin-bottom:20px;letter-spacing:-.03em}
.hi h1 em{font-style:italic;color:var(--yellow);font-family:var(--font-b);font-weight:300;font-size:.85em}
.ht p{color:rgba(255,255,255,.85);font-size:1.05rem;line-height:1.7;margin-bottom:32px;max-width:540px}
.hst{display:flex;gap:28px;margin-top:36px}
.hst strong{font-family:var(--font-h);font-size:2rem;display:block;color:var(--yellow)}
.hst span{font-size:.82rem;color:rgba(255,255,255,.7)}
.hm{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:155px 215px;gap:10px;height:380px}
.hm div{border-radius:12px;overflow:hidden}
.hm div:first-child{grid-row:span 2}
.hm img{width:100%;height:100%;object-fit:cover;cursor:pointer}

/* BUTTONS */
.btn-g{display:inline-flex;align-items:center;gap:8px;background:var(--green);color:var(--dark);font-family:var(--font-h);font-weight:500;font-size:.95rem;padding:15px 34px;border-radius:6px;border:none;cursor:pointer;transition:.2s}
.btn-g:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(113,209,84,.4)}
.btn-p{display:inline-flex;align-items:center;gap:8px;background:var(--purple);color:var(--white);font-family:var(--font-h);font-weight:500;font-size:.95rem;padding:15px 34px;border-radius:6px;border:none;cursor:pointer;transition:.2s}
.btn-p:hover{background:var(--dark);transform:translateY(-2px)}
.btn-y{display:inline-flex;align-items:center;gap:8px;background:var(--yellow);color:var(--dark);font-family:var(--font-h);font-weight:500;font-size:.9rem;padding:11px 26px;border-radius:6px;border:none;cursor:pointer;transition:.2s;white-space:nowrap}
.btn-y:hover{background:var(--green)}

/* SEC INTRO */
.si{text-align:center;margin-bottom:52px}
.si h2{font-family:var(--font-h);font-size:clamp(1.8rem,4vw,2.8rem);letter-spacing:-.03em;margin-bottom:.3rem}
.si .sub{font-size:1.05rem;color:var(--purple);font-style:italic}
.al{width:72px;height:5px;border-radius:3px;margin-bottom:1.6rem}

/* ───────── DA BIN ICH ───────── */
.dbi-intro{margin-top:80px}
.dbi-img-ph{width:100%;height:100%;background:linear-gradient(135deg,var(--purple),var(--dark));display:flex;align-items:center;justify-content:center;font-size:6rem}
.dbi-g{display:grid;grid-template-columns:380px 1fr;gap:60px;align-items:center}
.dbi-ph{border-radius:20px;overflow:hidden;box-shadow:0 16px 50px rgba(48,14,71,.12);aspect-ratio:4/5;background:linear-gradient(135deg,#4a2070,var(--dark));display:flex;align-items:center;justify-content:center;font-size:7rem}
.dbi-ph img{width:100%;height:100%;object-fit:cover}
.dbi-tx h1{font-family:var(--font-h);font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.22;letter-spacing:-.03em;margin-bottom:20px}
.dbi-tx h1 em{font-style:italic;color:var(--red);font-family:var(--font-b);font-weight:300}
.dbi-tx p{color:var(--gray-dark);line-height:1.8;margin-bottom:1rem;font-size:.98rem}

/* STORY */
.story{padding:80px 0;background:var(--gray-light)}
.story>div>h2{font-family:var(--font-h);font-size:clamp(1.4rem,3vw,2rem);letter-spacing:-.03em;margin-bottom:40px}
.sb{display:grid;grid-template-columns:300px 1fr;gap:36px;align-items:start;margin-bottom:56px}
.sb.r{grid-template-columns:1fr 300px}
.sb.r .si2{order:2}.sb.r .st{order:1}
.si2{border-radius:14px;overflow:hidden;box-shadow:0 10px 35px rgba(48,14,71,.09);aspect-ratio:4/3;background:#ddd;display:flex;align-items:center;justify-content:center;font-size:4rem}
.si2 img{width:100%;height:100%;object-fit:cover}
.st p{color:var(--gray-dark);line-height:1.85;font-size:.97rem;margin-bottom:.9rem}
.sq{background:var(--green);border-radius:12px;padding:22px 26px;margin-top:12px}
/* Named photo placeholders */
.sph{position:relative;border-radius:14px;overflow:hidden;background:#ede8f5}
.sph img{width:100%;height:100%;object-fit:cover;display:block}
.sph img.missing{display:none}
.sph .ph-info{display:none;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;text-align:center;height:100%;min-height:220px}
.sph img.missing + .ph-info{display:flex}
.ph-info .ph-icon{font-size:2.4rem}
.ph-info .ph-name{font-family:var(--font-h);font-size:.72rem;color:var(--purple);word-break:break-all;background:rgba(120,42,172,.1);padding:5px 10px;border-radius:6px}
.ph-info .ph-hint{font-size:.7rem;color:var(--gray-dark)}
.sph-sm{aspect-ratio:4/3}
.sph-lg{aspect-ratio:3/4;height:100%;min-height:280px}
.sq p{font-style:italic;font-size:.97rem;color:var(--dark);margin:0!important}

/* STORY BLOCKS */
.story-block{margin-bottom:60px;padding-bottom:60px;border-bottom:1px solid var(--gray-light)}
.story-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.story-block>p{color:var(--gray-dark);line-height:1.8;margin-bottom:1rem;font-size:.98rem}
.story-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.sph-sq{aspect-ratio:4/3;cursor:pointer}
@media(max-width:600px){.story-photos{grid-template-columns:1fr 1fr}}

/* MEINE BÜHNE */
.buhne{padding:80px 0;background:var(--white)}
/* big header */
.bh-head{margin-bottom:48px}
.bh-head h1{font-family:var(--font-h);font-size:clamp(2.5rem,7vw,5rem);color:var(--red);letter-spacing:-.04em;line-height:1;margin-bottom:0}
/* intro quote card */
.bh-quote{background:var(--white);border-radius:16px;padding:40px 48px;box-shadow:0 4px 30px rgba(48,14,71,.06);margin-bottom:48px}
.bh-quote p{font-family:var(--font-h);font-size:clamp(1rem,2vw,1.25rem);color:var(--dark);line-height:1.55}

/* the mosaic layout from screenshots */
.bh-mosaic{position:relative;min-height:500px;margin-bottom:60px}
/* colored decoration blocks */
.bh-dec{position:absolute;border-radius:12px;z-index:0}
.bh-content-card{background:var(--white);border-radius:16px;padding:36px 40px;box-shadow:0 6px 30px rgba(48,14,71,.08);position:relative;z-index:2;max-width:520px}
.bh-content-card h2{font-family:var(--font-h);font-size:1.5rem;font-weight:500;color:var(--dark);margin-bottom:14px;letter-spacing:-.02em}
.bh-content-card p{color:var(--gray-dark);line-height:1.75;font-size:.92rem}

/* Studio section — 2 col with decorative images */
.bh-studio{padding:60px 0;background:var(--yellow);position:relative;overflow:hidden}
.bh-studio-g{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:stretch}
.bh-block h2{font-family:var(--font-h);font-size:1.4rem;font-weight:500;color:var(--dark);margin-bottom:14px}
.bh-block p{color:var(--dark);line-height:1.75;font-size:.93rem;margin-bottom:16px;opacity:.85}
.bh-img{border-radius:14px;overflow:hidden;box-shadow:0 8px 28px rgba(48,14,71,.12);aspect-ratio:4/3;background:#eee;margin-bottom:18px;display:flex;align-items:center;justify-content:center;font-size:3rem}
.bh-img img{width:100%;height:100%;object-fit:cover;display:block}
/* size tags */
.sz-head{font-family:var(--font-h);font-size:.9rem;font-weight:500;color:var(--dark);margin-bottom:10px}
.sz-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px}
.sz{display:inline-block;padding:5px 14px;border-radius:20px;font-family:var(--font-h);font-size:.76rem;font-weight:500;color:var(--white)}
.sz.r{background:var(--red)}.sz.o{background:#e06020}.sz.g{background:var(--green);color:var(--dark)}.sz.p{background:var(--purple)}.sz.d{background:var(--dark)}
.sz.a{background:rgba(48,14,71,.12);color:var(--dark)}
.sz.y{background:var(--yellow);color:var(--dark)}
.sz-table{display:flex;gap:8px;align-items:flex-start}
.sz-col{display:flex;flex-direction:column;gap:6px}

/* Mobiles Fotostudio slider card */
.mob-card{background:var(--white);border-radius:16px;box-shadow:0 6px 30px rgba(48,14,71,.1);overflow:hidden;position:relative;z-index:2;display:flex;flex-direction:column}
.mob-slider{position:relative;flex-shrink:0}
.mob-slide{display:none}
.mob-slide.on{display:block}
.mob-slide img{width:100%;height:300px;object-fit:cover;display:block}
.sl-btn{position:absolute;top:50%;transform:translateY(-50%);background:var(--green);color:var(--dark);border:none;border-radius:50%;width:36px;height:36px;font-size:1.2rem;cursor:pointer;z-index:3;display:flex;align-items:center;justify-content:center;font-weight:700}
.sl-prev{left:10px}.sl-next{right:10px}
.mob-body{padding:28px}
.mob-body h2{font-family:var(--font-h);font-size:1.25rem;font-weight:500;margin-bottom:10px}
.mob-body p{color:var(--gray-dark);font-size:.9rem;line-height:1.7}

/* scattered images section */
.scatter{background:var(--green);padding:60px 0;position:relative;overflow:hidden}
.scatter-g{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.sc-thumb{border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .3s;background:#ddd;display:flex;align-items:center;justify-content:center;font-size:3rem}
.sc-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sc-thumb:hover{transform:scale(1.03)}
.sc-main{border-radius:16px;overflow:hidden;box-shadow:0 12px 40px rgba(48,14,71,.2);cursor:pointer;background:#ddd;display:flex;align-items:center;justify-content:center;font-size:4rem}
.sc-main img{width:100%;height:100%;object-fit:cover;display:block}

/* REQUISITEN — purple background like screenshot */
.req{padding:80px 0;background:var(--purple)}
.req-g{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:stretch}
.req-card{background:var(--white);border-radius:16px;padding:32px;box-shadow:0 6px 28px rgba(48,14,71,.1)}
.req-card-img{border-radius:10px;overflow:hidden;margin-bottom:22px}
.req-card-img img{width:100%;height:100%;object-fit:cover}
.req-card h3{font-family:var(--font-h);font-size:1.2rem;font-weight:500;margin-bottom:12px;color:var(--dark)}
.req-card p{color:var(--gray-dark);font-size:.9rem;line-height:1.7}
.req-right{display:flex;flex-direction:column;gap:16px}
.req-thumb{border-radius:12px;overflow:hidden;cursor:pointer;background:#ddd;display:flex;align-items:center;justify-content:center;font-size:2.5rem}
.req-thumb img{width:100%;height:100%;object-fit:cover;display:block}

/* TEAM */
.team{padding:80px 0;background:var(--dark)}
.team h2{font-family:var(--font-h);font-size:clamp(1.5rem,3vw,2.2rem);letter-spacing:-.03em;color:var(--white);margin-bottom:14px}
.team-desc{color:rgba(255,255,255,.75);font-size:.95rem;line-height:1.7;max-width:720px;margin-bottom:44px}
.tm-grid{display:flex;flex-direction:column;gap:5px}
.tm-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.tm-pc{border-radius:12px 12px 0 0;overflow:hidden}
.tm-pc .tm-img{height:210px;overflow:hidden;background:rgba(0,0,0,.2)}
.tm-pc .tm-img img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.tm-pc .tm-img img.missing{display:none}
.tm-pc .tm-img img.missing + .ph-info{display:flex!important}
.tm-pc .tm-name{padding:12px 14px}
.tm-pc .tm-name .role{font-size:.7rem;color:rgba(255,255,255,.65);margin-bottom:2px}
.tm-pc .tm-name .name{font-family:var(--font-h);font-size:1rem;font-weight:600;color:var(--white)}
.tm-row{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.tm-row:last-child .tm-cell{border-radius:0 0 12px 12px}
.tm-cell{padding:10px 14px}
.tm-cell .q{font-size:.68rem;color:rgba(255,255,255,.6);margin-bottom:2px;line-height:1.3}
.tm-cell .a{font-size:.82rem;font-weight:700;color:var(--white);line-height:1.35}
.tm-cr{background:#3a9e1a}
.tm-cp{background:var(--purple)}
.tm-cy{background:var(--yellow)}
.tm-cy .role,.tm-cy .q{color:rgba(48,14,71,.55)!important}
.tm-cy .name,.tm-cy .a{color:var(--dark)!important}
.tm-cg{background:var(--red)}


/* GALLERY PREVIEW STRIP */
.gp{padding:56px 0;background:var(--purple)}
.gp-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px}
.gp-h h2{font-family:var(--font-h);color:var(--white);font-size:clamp(1.3rem,3vw,1.9rem);letter-spacing:-.03em}
.gp-strip{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:8px}
.gp-item.gp-v{grid-row:span 2}
.gp-item.gp-w{grid-column:span 2}
.gp-item{border-radius:9px;overflow:hidden;cursor:pointer;background:#222;display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.gp-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gp-item:hover img{transform:scale(1.08)}

/* ───────── FÜR DICH ───────── */
/* PRICES */
.prices{padding:80px 0}
.o-sec{margin-bottom:48px}
.o-sec-head{margin-bottom:14px}
.o-title{font-family:var(--font-h);font-size:clamp(1.4rem,2.5vw,1.9rem);color:var(--dark);letter-spacing:-.03em;font-weight:500;margin-bottom:4px}
.o-sub{font-size:.9rem;color:var(--purple);font-style:italic}
/* card layout */
.offer{background:var(--white);border-radius:16px;box-shadow:0 4px 24px rgba(48,14,71,.09);display:grid;grid-template-columns:514px 1fr 160px;overflow:hidden;transition:.3s}
.offer:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(48,14,71,.14)}
.o-ph{position:relative;overflow:hidden;background:var(--gray-light);width:514px;height:385px;flex-shrink:0}
.o-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
/* middle col */
.o-bd{padding:40px 50px 40px 50px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.o-bd p{color:var(--gray-dark);font-size:.95rem;line-height:1.8;flex:1}
.o-price-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.o-pl{font-family:var(--font-h);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-dark);display:block;margin-bottom:2px}
.o-pv{font-family:var(--font-h);font-size:2.4rem;font-weight:600;color:var(--dark);line-height:1}
.obk{background:var(--purple);color:var(--white);font-weight:700;padding:16px 36px;border-radius:8px;font-size:1.05rem;border:none;cursor:pointer;font-family:var(--font-b);transition:.2s;white-space:nowrap}
.obk:hover{background:var(--dark)}
/* right col: stats */
.o-mt{padding:40px 28px;border-left:1px solid var(--gray-light);display:flex;flex-direction:column;gap:28px;align-items:flex-start;justify-content:center}
.o-stat{display:flex;flex-direction:column}
.o-num{font-family:var(--font-h);font-size:2.2rem;font-weight:600;color:var(--dark);line-height:1}
.o-lbl{font-size:.78rem;color:var(--gray-dark);margin-top:5px;line-height:1.4}
/* promos */
.promos{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:14px}
.prc{border-radius:16px;padding:34px}
.prc.re{background:var(--red)}.prc.dk{background:var(--dark)}
.prc h3{font-family:var(--font-h);font-size:1.2rem;font-weight:500;color:var(--white);margin-bottom:12px;line-height:1.3}
.prc p{font-size:.89rem;color:rgba(255,255,255,.87);line-height:1.7;margin-bottom:18px}
.prc-btn{background:var(--purple);color:var(--white);font-weight:700;padding:10px 22px;border-radius:6px;font-size:.86rem;border:none;cursor:pointer;font-family:var(--font-b);transition:.2s}
.prc-btn:hover{background:rgba(255,255,255,.2)}

/* *7 IMMER BEI MIR */
.immer{padding:76px 0;background:var(--gray-light)}
.immer h2{font-family:var(--font-h);font-size:clamp(1.3rem,3vw,1.9rem);letter-spacing:-.02em;margin-bottom:36px}
.ig7{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.ic7{background:var(--white);border-radius:13px;padding:22px 18px;box-shadow:0 4px 18px rgba(48,14,71,.05)}
.ic7 .ico{font-size:1.7rem;margin-bottom:11px}
.ic7 h4{font-family:var(--font-h);font-size:.87rem;font-weight:500;margin-bottom:7px}
.ic7 p{font-size:.81rem;color:var(--gray-dark);line-height:1.6}

/* FAQ */
.faq{padding:80px 0;background:var(--green)}
.faq .wrap{}
.faq h2{font-family:var(--font-h);font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:-.03em;margin-bottom:.3rem}
.faq .sub{font-size:1rem;color:rgba(48,14,71,.75);font-style:italic;display:block;margin-bottom:44px}
.fcat{margin-bottom:44px}
.fct{font-family:var(--font-h);font-size:clamp(1.1rem,2.5vw,1.5rem);color:var(--dark);margin-bottom:14px;font-weight:500;letter-spacing:-.02em}
.fl{display:flex;flex-direction:column;gap:6px}
.fi{background:rgba(255,255,255,.9);border-radius:10px;overflow:hidden}
.fq{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:700;font-size:.92rem;border:none;background:none;width:100%;text-align:left;font-family:var(--font-b);color:var(--dark)}
.fq:hover{background:rgba(255,255,255,.5)}
/* question text fills all available space, chevron stays right */
.fq-text{flex:1;padding-right:14px}
.fchev{width:22px;height:22px;border-radius:50%;background:var(--yellow);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s;font-size:.62rem;color:var(--dark)}
.fi.op .fchev{transform:rotate(180deg)}
.fa{max-height:0;overflow:hidden;transition:max-height .45s ease,padding .3s;padding:0 20px;color:var(--gray-dark);line-height:1.7;font-size:.9rem}
.fi.op .fa{max-height:500px;padding:0 20px 16px}

/* Expandable review */
.tk-expand-text{overflow:hidden;transition:max-height .4s ease}
.tk-expand-text.collapsed{max-height:8.5em}
.tk-read-more{background:none;border:none;color:var(--purple);font-family:var(--font-h);font-size:.8rem;font-weight:500;cursor:pointer;padding:6px 0 0;display:inline-block;transition:.2s}
.tk-read-more:hover{color:var(--dark)}

/* TESTIMONIALS */
.testi{padding:80px 0}
/* b2c — сдвиг на 1 карточку, видно 3 */
#tksl-b2c{overflow:hidden}
.tk-track-b2c{display:flex;gap:22px;transition:transform .45s ease}
#tksl-b2c .tk{flex-shrink:0}
.tg3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.tk{background:var(--white);border:2px solid var(--gray-light);border-radius:18px;padding:26px;transition:.3s;position:relative;display:flex;flex-direction:column}
.tk:hover{transform:translateY(-4px);box-shadow:0 12px 35px rgba(48,14,71,.08)}
.tk::before{content:'\201C';font-family:var(--font-h);font-size:3rem;color:var(--purple);opacity:.1;position:absolute;top:8px;left:18px;line-height:1}
.tk-hd{display:flex;align-items:center;gap:11px;margin-bottom:13px}
.tk-av{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);font-weight:700;flex-shrink:0;overflow:hidden}
.tk-av img{width:100%;height:100%;object-fit:cover}
.tk-nm{font-weight:700;font-size:.9rem}
.tk-stars{color:#f5a623;font-size:.85rem}
.tk>p{color:var(--gray-dark);line-height:1.7;font-size:.87rem;flex:1}
.tk-photo{margin-top:14px}
/* Testimonials Slider */
.tk-slider{position:relative;overflow:hidden}
.tk-track{display:flex;transition:transform .45s ease}
.tk-group{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;min-width:100%;flex-shrink:0}
.tk-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:28px}
.tk-prev,.tk-next{background:var(--purple);color:var(--white);border:none;border-radius:50%;width:44px;height:44px;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}
.tk-prev:hover,.tk-next:hover{background:var(--dark)}
.tk-dots{display:flex;gap:8px}
.tk-dot{width:10px;height:10px;border-radius:50%;background:var(--gray-light);cursor:pointer;transition:.2s}
.tk-dot.on{background:var(--purple)}

/* B2B SECTIONS */
.whom{padding:80px 0;background:var(--gray-light)}
.whom h2{font-family:var(--font-h);font-size:clamp(1.8rem,4vw,2.8rem);letter-spacing:-.03em}
.wg{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.wc{background:var(--white);border-radius:15px;padding:28px 24px;box-shadow:0 6px 25px rgba(48,14,71,.05);border-left:4px solid var(--purple);transition:.3s}
.wc:nth-child(2){border-color:var(--green)}.wc:nth-child(3){border-color:var(--red)}.wc:nth-child(4){border-color:var(--yellow)}.wc:nth-child(5){border-color:var(--green)}.wc:nth-child(6){border-color:var(--purple)}
.wc:hover{transform:translateY(-4px);box-shadow:0 12px 35px rgba(48,14,71,.1)}
.wc .wico{font-size:1.9rem;margin-bottom:13px}
.wc h3{font-family:var(--font-h);font-size:1rem;font-weight:500;margin-bottom:7px}
.wc p{color:var(--gray-dark);font-size:.88rem;line-height:1.6}

.ab2b{padding:80px 0}
.ab-g{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ab-g h2{font-family:var(--font-h);font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:-.03em;margin-bottom:.3rem}
.ab-g p{color:var(--gray-dark);line-height:1.8;font-size:.97rem;margin-bottom:.9rem}
.ab-feats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.af{background:var(--gray-light);border-radius:11px;padding:16px;text-align:center}
.af strong{font-family:var(--font-h);font-size:1.4rem;color:var(--purple);display:block;margin-bottom:3px}
.af span{font-size:.8rem;color:var(--gray-dark)}
.ab-img{border-radius:18px;overflow:hidden;box-shadow:0 16px 50px rgba(48,14,71,.12);aspect-ratio:4/5;background:linear-gradient(135deg,#4a2070,var(--dark));display:flex;align-items:center;justify-content:center;font-size:7rem}
.ab-img img{width:100%;height:100%;object-fit:cover}

.srvs{padding:80px 0;background:var(--gray-light)}
.sg{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:48px}
.sc2{background:var(--white);border-radius:18px;overflow:hidden;box-shadow:0 8px 30px rgba(48,14,71,.06);transition:.3s;display:flex;flex-direction:column}
.sc2:hover{transform:translateY(-6px);box-shadow:0 16px 45px rgba(48,14,71,.12)}
.sc2-img{height:210px;overflow:hidden;background:#eee;display:flex;align-items:center;justify-content:center;font-size:3rem}
.sc2-img img{width:100%;height:100%;object-fit:cover}
.sc2-bd{padding:24px;flex:1;display:flex;flex-direction:column}
.sc2-bd h3{font-family:var(--font-h);font-size:1.08rem;font-weight:500;margin-bottom:9px}
.sc2-bd p{color:var(--gray-dark);font-size:.88rem;line-height:1.7;flex:1;margin-bottom:16px}
.sc2-bd .sbtn{background:var(--purple);color:var(--white);font-weight:700;padding:10px 22px;border-radius:6px;font-size:.86rem;border:none;cursor:pointer;font-family:var(--font-b);transition:.2s;align-self:flex-start}
.sc2-bd .sbtn:hover{background:var(--dark);transform:translateY(-2px)}

.proc{padding:80px 0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:48px}
.step{text-align:center}
.sn{font-family:var(--font-h);font-size:2.8rem;font-weight:600;color:var(--green);opacity:.3;margin-bottom:9px}
.step h3{font-family:var(--font-h);font-size:.97rem;font-weight:500;margin-bottom:7px}
.step p{color:var(--gray-dark);font-size:.86rem;line-height:1.6}

/* EASTER */
.easter{padding:72px 0;background:var(--gray-light);text-align:center}
.et{font-family:var(--font-h);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--purple);margin-bottom:5px}
.ep{font-family:var(--font-h);font-size:clamp(2rem,5vw,3rem);font-weight:600;color:var(--dark);margin-bottom:9px;letter-spacing:-.03em}
.ed{font-size:.97rem;color:var(--gray-dark);margin-bottom:36px;font-style:italic}
.eg{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:32px}
.eg div{border-radius:13px;overflow:hidden;aspect-ratio:4/3;cursor:pointer;background:#eee;display:flex;align-items:center;justify-content:center;font-size:2rem}
.eg img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.eg div:hover img{transform:scale(1.05)}

/* CONTACT */
.contact{padding:120px 0;background:var(--dark);position:relative;overflow:hidden}
.contact::before{content:'';position:absolute;width:380px;height:380px;background:var(--purple);border-radius:50%;bottom:-180px;left:-80px;opacity:.15}
.cg{display:grid;grid-template-columns:1fr 1fr;gap:56px;position:relative;z-index:2}
.ci h2{font-family:var(--font-h);color:var(--white);font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:-.03em;margin-bottom:8px}
.cd{margin-top:26px;display:flex;flex-direction:column;gap:14px}
.cdet{display:flex;align-items:center;gap:13px}
.cico{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex-shrink:0}
.cico.pu{background:var(--purple)}.cico.gr{background:var(--green);color:var(--dark)}.cico.re{background:var(--red)}
.ctx span{display:block;font-size:.75rem;color:var(--gray-mid)}
.ctx a,.ctx p{color:var(--white);font-weight:700;font-size:.95rem;margin:0}
.ctx a:hover{color:var(--yellow)}
.csoc{display:flex;gap:10px;margin-top:22px}
.cs{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.05rem;transition:.2s}
.cs:hover{transform:translateY(-3px)}
.cs.wa{background:#25D366}.cs.ig{background:linear-gradient(135deg,#f09433,#dc2743,#bc1888)}
.cf{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:32px}
.cf h3{color:var(--white);font-family:var(--font-h);font-weight:500;font-size:1.1rem;margin-bottom:5px}
.cf .fsub{color:var(--gray-mid);margin-bottom:20px;font-size:.86rem}
.fg{margin-bottom:12px}
.fg label{display:block;color:var(--gray-mid);font-size:.78rem;margin-bottom:3px}
.fg input,.fg select,.fg textarea{width:100%;padding:11px 14px;border-radius:9px;border:2px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:var(--white);font-family:var(--font-b);font-size:.91rem;outline:none;transition:.2s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--purple)}
.fg select option{background:var(--dark)}
.fg textarea{min-height:82px;resize:vertical}
.fg input::placeholder,.fg textarea::placeholder{color:var(--gray-dark)}
.fck{display:flex;align-items:flex-start;gap:9px;margin:14px 0;color:var(--gray-mid);font-size:.78rem;line-height:1.5}
.fck input{width:17px;height:17px;margin-top:2px;accent-color:var(--purple)}
.fck a{color:var(--yellow);text-decoration:underline}
.fsub-btn{width:100%;padding:13px;border:none;border-radius:6px;background:var(--purple);color:var(--white);font-family:var(--font-h);font-weight:500;font-size:.96rem;cursor:pointer;transition:.2s}
.fsub-btn:hover{background:#6320a0;transform:translateY(-2px)}
.fsucc{display:none;text-align:center;padding:38px 20px;color:var(--white)}
.fsucc.sh{display:block}
.fsucc .si{font-size:2.8rem;margin-bottom:.8rem}
.fsucc h3{font-family:var(--font-h);font-size:1.15rem;margin-bottom:.4rem}
.fsucc p{color:var(--gray-mid)}

/* GALLERY PAGE */
.gal-page{margin-top:80px;padding:80px 0}
.gal-page h1{font-family:var(--font-h);font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.03em;margin-bottom:.3rem}
/* GALLERY */
.gal-page{padding:100px 0;background:var(--dark);position:relative;overflow:hidden}
.gal-page::before{content:'';position:absolute;width:500px;height:500px;background:var(--purple);border-radius:50%;top:-200px;right:-100px;opacity:.12}
.gal-page h1{color:var(--white);font-size:clamp(1.8rem,4vw,2.8rem);letter-spacing:-.03em}
.gal-page .sub{color:var(--green);font-size:1.2rem;margin-bottom:48px;font-family:var(--font-b);font-weight:300;font-style:italic}
.gal-page .al{background:var(--yellow)}
.port-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:12px}
.port-item{border-radius:12px;overflow:hidden;position:relative;cursor:pointer;transition:transform .3s}
.port-item:hover{transform:scale(1.02)}
.port-item.w2{grid-column:span 2}
.port-item.h2{grid-row:span 2}
.port-item img{width:100%;height:100%;object-fit:cover}
.port-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(48,14,71,.7) 0%,transparent 50%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:20px}
.port-item:hover .port-overlay{opacity:1}
.port-overlay span{color:var(--white);font-family:var(--font-h);font-size:.85rem;font-weight:500}

/* FOOTER */
footer{background:var(--red);padding:40px 28px 18px}
.finner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;color:var(--white)}
.fb h4{font-family:var(--font-h);font-weight:500;font-size:1.05rem;margin-bottom:5px}
.fb p{opacity:.8;font-size:.82rem;line-height:1.6}
.fc h5{font-weight:700;margin-bottom:11px;font-size:.86rem}
.fc a,.fc button{display:block;color:rgba(255,255,255,.8);font-size:.82rem;margin-bottom:5px;transition:.2s;cursor:pointer;background:none;border:none;font-family:var(--font-b);text-align:left;padding:0}
.fc a:hover,.fc button:hover{color:var(--yellow)}
.fbot{max-width:1200px;margin:22px auto 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.2);display:flex;justify-content:space-between;color:rgba(255,255,255,.6);font-size:.76rem}

/* WA FLOAT */
.wa{position:fixed;bottom:22px;right:22px;z-index:998;width:54px;height:54px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;font-size:1.4rem;box-shadow:0 6px 20px rgba(37,211,102,.4);transition:.2s}
.wa:hover{transform:scale(1.1)}

/* LIGHTBOX */
.lb{display:none;position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.92);align-items:center;justify-content:center;cursor:zoom-out}
.lb.on{display:flex}
.lb img{max-width:82vw;max-height:88vh;object-fit:contain;border-radius:8px;cursor:default}
.lbc{position:absolute;top:18px;right:26px;color:#fff;font-size:2.5rem;cursor:pointer;z-index:2001;line-height:1;font-family:var(--font-h)}
.lbp,.lbn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:none;color:#fff;font-size:3rem;width:54px;height:54px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2001;padding:0;transition:.2s}
.lbp{left:18px}.lbn{right:18px}
.lbp:hover,.lbn:hover{background:rgba(255,255,255,.25)}
.lb-cnt{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.6);font-family:var(--font-h);font-size:.8rem;z-index:2001}



/* ANIMATIONS */
.fu{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.fu.v{opacity:1;transform:none}

/* RESPONSIVE */
@media(max-width:1024px){
  .hi,.cg,.ab-g,.dbi-g,.bh-studio-g,.scatter-g,.req-g,.sb,.sb.r{grid-template-columns:1fr}
  .sb.r .si2,.sb.r .st{order:unset}
  .hm{display:none}
  .wg,.sg{grid-template-columns:repeat(2,1fr)}
  .steps,.tg3{grid-template-columns:1fr 1fr}
  .port-grid{grid-template-columns:repeat(2,1fr)}
  .finner{grid-template-columns:1fr 1fr}
  .offer{grid-template-columns:320px 1fr 140px}
  .o-ph{width:320px;height:240px}
  .ig7{grid-template-columns:repeat(2,1fr)}
  .promos{grid-template-columns:1fr}
  .tm-photos,.tm-row{grid-template-columns:1fr 1fr}
  .gp-strip{grid-template-columns:repeat(3,1fr)}
  .nt .nb{font-size:.73rem;padding:7px 12px}
  .ncta{display:none}
}
@media(max-width:768px){
  .nt{display:none}.burg{display:flex}
  .hero{min-height:auto}
  .wg,.sg,.tg3,.steps,.ig7{grid-template-columns:1fr}
  .tm-photos,.tm-row{grid-template-columns:1fr 1fr}
  .port-grid{grid-template-columns:1fr 1fr;grid-auto-rows:200px}
  .port-item.w2{grid-column:span 1}.port-item.h2{grid-row:span 1}
  .finner{grid-template-columns:1fr;gap:16px}
  .fbot{flex-direction:column;gap:5px;text-align:center}
  .hst{flex-direction:column;gap:12px}
  .eg{grid-template-columns:1fr 1fr}
  .offer{grid-template-columns:1fr}
  .o-ph{min-height:220px;height:220px}
  .o-mt{border-left:none;border-top:1px solid var(--gray-light);flex-direction:row;flex-wrap:wrap;gap:18px}
  .gp-strip{grid-template-columns:repeat(3,1fr)}
}

/* ── HOME PAGE ── */
.home-hero{position:relative;height:100vh;min-height:500px;overflow:hidden;background:var(--dark)}
.hs-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;background-size:cover;background-position:center}
.hs-slide.on{opacity:1}
.hs-slide img{width:100%;height:100%;object-fit:cover;display:block}
.hs-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(48,14,71,.35) 0%,rgba(48,14,71,.6) 100%)}
.hs-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}
.hs-content h1{font-family:var(--font-h);font-size:clamp(2rem,5vw,3.5rem);color:var(--white);letter-spacing:-.03em;margin-bottom:16px;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.hs-content p{color:rgba(255,255,255,.85);font-size:clamp(.95rem,2vw,1.2rem);max-width:600px;margin-bottom:36px;line-height:1.6}
.hs-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.hs-btn{padding:13px 28px;border-radius:8px;border:none;cursor:pointer;font-family:var(--font-h);font-size:.9rem;font-weight:600;transition:.2s}
.hs-btn.primary{background:var(--green);color:var(--dark)}
.hs-btn.primary:hover{background:#5bc040}
.hs-btn.secondary{background:rgba(255,255,255,.18);color:var(--white);border:2px solid rgba(255,255,255,.5)}
.hs-btn.secondary:hover{background:rgba(255,255,255,.3)}
.hs-nav{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:8px;align-items:center}
.hs-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:.2s;border:none;padding:0}
.hs-dot.on{background:var(--white);transform:scale(1.3)}
.hs-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.4);color:var(--white);font-size:1.3rem;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;backdrop-filter:blur(4px)}
.hs-arrow:hover{background:rgba(255,255,255,.35)}
.hs-arrow.prev{left:20px}
.hs-arrow.next{right:20px}
/* Home sections */
.home-secs{background:var(--dark);padding:72px 0 80px}
.home-secs h2{font-family:var(--font-h);color:var(--white);font-size:clamp(1.4rem,3vw,2rem);letter-spacing:-.03em;text-align:center;margin-bottom:10px}
.home-secs .sub{color:rgba(255,255,255,.55);text-align:center;margin-bottom:52px;font-size:.95rem}
.hs-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.hs-card{background:rgba(255,255,255,.06);border-radius:14px;overflow:hidden;cursor:pointer;transition:.25s;border:1px solid rgba(255,255,255,.08)}
.hs-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.11)}
.hs-card-img{height:180px;overflow:hidden;background:rgba(0,0,0,.3)}
.hs-card-img img{width:100%;height:100%;object-fit:cover;transition:.4s}
.hs-card:hover .hs-card-img img{transform:scale(1.04)}
.hs-card-body{padding:18px}
.hs-card-body h3{font-family:var(--font-h);color:var(--white);font-size:.95rem;margin-bottom:6px}
.hs-card-body p{color:rgba(255,255,255,.55);font-size:.8rem;line-height:1.5;margin-bottom:14px}
.hs-card-body .hs-link{color:var(--green);font-size:.78rem;font-weight:700;font-family:var(--font-h)}
@media(max-width:900px){.hs-cards{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.hs-cards{grid-template-columns:1fr 1fr}.hs-card-img{height:130px}}

/* ── COOKIE BANNER ── */
.ck-banner{position:fixed;bottom:0;left:0;right:0;background:var(--dark);border-top:3px solid var(--purple);padding:18px 24px;z-index:9999;display:flex;align-items:center;gap:20px;flex-wrap:wrap;box-shadow:0 -4px 24px rgba(0,0,0,.4)}
.ck-banner.hidden{display:none}
.ck-text{flex:1;min-width:200px;color:rgba(255,255,255,.8);font-size:.82rem;line-height:1.5}
.ck-text a{color:var(--green);text-decoration:underline}
.ck-btns{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap}
.ck-accept{background:var(--green);color:var(--dark);border:none;padding:10px 22px;border-radius:6px;font-family:var(--font-h);font-weight:700;font-size:.82rem;cursor:pointer}
.ck-reject{background:transparent;color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.25);padding:10px 16px;border-radius:6px;font-family:var(--font-h);font-size:.82rem;cursor:pointer}
.ck-reject:hover{border-color:rgba(255,255,255,.5);color:var(--white)}

/* KONTAKT INTRO */
.kontakt-intro{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;margin-bottom:48px}
.kontakt-intro-heading{font-family:var(--font-h);font-size:clamp(2rem,5vw,3.5rem);color:var(--white);letter-spacing:-.04em;margin-bottom:24px;line-height:1}
.kontakt-intro-heading span{color:var(--red)}
.kontakt-intro-text p{color:rgba(255,255,255,.82);line-height:1.8;margin-bottom:1rem;font-size:.97rem}
.kontakt-intro-text .pflicht{color:var(--yellow);font-size:.85rem;margin-top:8px}
.kontakt-intro-photo{border-radius:16px;overflow:hidden;order:-1}
.kontakt-intro-photo img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:768px){.kontakt-intro{grid-template-columns:1fr}.kontakt-intro-photo{order:0}}

/* BWA WHATSAPP BANNER */
.bwa{background:var(--green);border-radius:14px;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.bwa span{font-family:var(--font-h);font-size:.95rem;color:var(--dark);font-weight:500}
.btn-wa{background:var(--dark);color:var(--white);font-family:var(--font-h);font-size:.88rem;font-weight:500;padding:10px 22px;border-radius:6px;text-decoration:none;transition:.2s;display:inline-block}
.btn-wa:hover{background:var(--purple)}

/* SECTION TITLE RED */
.section-title-red{font-family:var(--font-h);font-size:clamp(2.5rem,7vw,5rem);color:var(--red);letter-spacing:-.04em;line-height:1;margin-bottom:32px}

/* FAQ WRAP */
.faq-wrap{max-width:800px}

/* IMMER BEI MIR PHOTO CELL */
.ic7-photo{border-radius:13px;overflow:hidden;background:var(--gray-light)}
.ic7-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ic7-photo .ph-info{height:100%;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;text-align:center}

/* Mobile menu links */
.mm a{ color:var(--white);font-weight:700;font-size:.95rem;padding:9px 0;display:block;text-decoration:none; }