
@font-face{font-family:Anton;src:url(fonts/anton-latin-400-normal.woff2) format('woff2');font-display:swap}
@font-face{font-family:Archivo;font-weight:500;src:url(fonts/archivo-latin-500-normal.woff2) format('woff2');font-display:swap}
@font-face{font-family:Archivo;font-weight:700;src:url(fonts/archivo-latin-700-normal.woff2) format('woff2');font-display:swap}
@font-face{font-family:Archivo;font-weight:900;src:url(fonts/archivo-latin-900-normal.woff2) format('woff2');font-display:swap}
:root{--ink:#111111;--pink:#FF2E63;--pink-dark:#D81B4F;--paper:#FFFFFF;--stone:#F2F2F2;--muted:#5A5A5A;--max:1180px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{overflow-x:hidden;font-family:Archivo,'Helvetica Neue',Arial,sans-serif;font-weight:500;font-size:18px;line-height:1.6;color:var(--ink);background:var(--paper)}
img,svg{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px}
.display{font-family:Anton,Impact,sans-serif;font-weight:400;line-height:.96;letter-spacing:.005em;text-transform:uppercase}
.display .second{color:var(--pink);display:block}
h2.display{font-size:clamp(40px,6vw,76px)}
h3{font-family:Anton,Impact,sans-serif;font-weight:400;font-size:26px;line-height:1.1;text-transform:uppercase;letter-spacing:.01em}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;font-weight:900;font-size:17px;text-decoration:none;border:2px solid var(--pink);background:var(--pink);color:#fff;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--pink-dark);border-color:var(--pink-dark)}
.btn.ghost{background:transparent;border-color:#fff;color:#fff}
.btn.ghost:hover{background:#fff;color:var(--ink)}
/* Header */
header{position:sticky;top:0;z-index:50;background:var(--ink);color:#fff}
.bar{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.logo-head{height:34px;width:auto}
header nav ul{display:flex;gap:28px;list-style:none;align-items:center}
header nav a{text-decoration:none;font-weight:700;font-size:16px}
header nav a:hover{color:var(--pink)}
header nav .btn{min-height:44px;padding:0 18px;font-size:15px}
.menu-toggle{display:none;background:none;border:2px solid #fff;color:#fff;font:inherit;font-weight:900;padding:8px 14px;cursor:pointer}
/* Hero */
.hero{background:var(--ink);color:#fff;padding:72px 0 88px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.35fr .9fr;gap:56px;align-items:end}
.hero h1{font-size:clamp(58px,9.4vw,138px)}
.claim{font-family:Anton,Impact,sans-serif;text-transform:uppercase;font-size:clamp(22px,2.4vw,30px);line-height:1.15;margin-top:28px}
.claim span{color:var(--pink)}
.quals{font-size:15px;font-weight:700;color:#BDBDBD;margin-top:10px}
.hero p.lead{font-size:20px;max-width:34em;margin-top:28px;color:#EDEDED}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
.portrait{position:relative;aspect-ratio:4/5;background:#2B2B2B}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}
.portrait::after{content:"";position:absolute;left:-18px;bottom:-18px;width:38%;height:38%;border-left:18px solid var(--pink);border-bottom:18px solid var(--pink);pointer-events:none}
.portrait.nofoto{display:flex;align-items:center;justify-content:center}
.portrait .mono{width:44%;height:auto;display:none}
.portrait.nofoto .mono{display:block}
@media (prefers-reduced-motion:no-preference){
 .hero h1 .second{display:inline-block;animation:rise .9s cubic-bezier(.2,.7,.2,1) .15s both}
 @keyframes rise{from{transform:translateY(40%);opacity:0}to{transform:none;opacity:1}}
}
/* Versprechen */
.promise{background:var(--pink);color:#fff;padding:64px 0}
.promise h2{font-family:Archivo,sans-serif;font-weight:900;font-size:20px;color:var(--ink);margin-bottom:28px}
.promise .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.promise h3{color:var(--ink);font-size:30px}
.promise p{margin-top:12px;font-size:17px}
/* Leistungen */
.services{padding:104px 0}
.services .head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:56px}
.services .head p{max-width:30em;color:var(--muted)}
.svc{display:grid;grid-template-columns:repeat(2,1fr);gap:0 64px}
.svc article{border-top:6px solid var(--ink);padding:26px 0 44px}
.svc article p{margin-top:12px;max-width:32em}
/* Spruchband */
.punch{background:var(--ink);color:#fff;padding:96px 0}
.punch .display{font-size:clamp(46px,8vw,118px);max-width:12em}
.punch .sub{margin-top:28px;max-width:36em;color:#DADADA;font-size:19px}
.punch a{color:var(--pink);font-weight:900}
/* Über mich */
.about{padding:104px 0}
.about .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:center}
.about .portrait::after{left:auto;right:-18px;border-left:0;border-right:18px solid var(--pink)}
.about p{margin-top:22px;max-width:34em}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;border-top:2px solid var(--ink);padding-top:22px}
.facts dt{font-family:Anton,Impact,sans-serif;font-size:28px;text-transform:uppercase;line-height:1}
.facts dd{font-size:15px;color:var(--muted);margin-top:8px;line-height:1.4}
/* Wissen */
.knowledge{background:var(--stone);padding:104px 0}
.knowledge .grid{display:grid;grid-template-columns:1.25fr .9fr;gap:56px;margin-top:48px;align-items:start}
.knowledge article p{margin-top:18px;max-width:36em}
.knowledge .topic{font-weight:900;color:var(--pink);font-size:17px}
.knowledge h3{font-size:34px;margin-top:8px;max-width:18em}
.tip{margin-top:32px;background:#fff;border-left:8px solid var(--pink);padding:22px 24px}
.tip strong{display:block;font-weight:900;margin-bottom:6px}
.knowledge .btn{margin-top:30px}
.partner{background:var(--ink);color:#fff}
.partner .photo{aspect-ratio:1/1;background:#2B2B2B}
.partner .photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.partner .photo.nofoto{display:flex;align-items:center;justify-content:center;font-family:Anton,Impact,sans-serif;font-size:64px;color:#555}
.partner .body{padding:30px 30px 34px}
.partner .role{color:var(--pink);font-weight:700;margin-top:2px}
.partner p{margin-top:16px;font-size:16px;color:#DADADA}
.partner h4{font-weight:900;font-size:15px;margin-top:24px;color:#fff}
.partner ul{list-style:none;margin-top:8px;font-size:16px;color:#DADADA}
.partner li{padding:6px 0;border-bottom:1px solid #333}
/* Kontakt */
.contact{background:var(--ink);color:#fff;padding:104px 0}
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:72px}
.contact .display{font-size:clamp(40px,5vw,68px)}
.channels{margin-top:40px;display:grid;gap:22px}
.channels a{overflow-wrap:anywhere;font-family:Anton,Impact,sans-serif;font-size:clamp(26px,3vw,36px);text-decoration:none;line-height:1.1}
.channels a:hover{color:var(--pink)}
.channels span{display:block;font-size:15px;color:#BDBDBD;font-weight:700;margin-bottom:4px}
form{display:grid;gap:18px;align-content:start}
label{font-weight:700;font-size:15px;display:grid;gap:8px}
input,textarea{font:inherit;font-size:17px;padding:14px 16px;border:2px solid #fff;background:#fff;color:var(--ink);width:100%}
input:focus,textarea:focus{outline:3px solid var(--pink);outline-offset:0}
textarea{min-height:150px;resize:vertical}
.check{display:flex;gap:12px;align-items:flex-start;font-weight:500;font-size:15px;color:#DADADA}
.check input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--pink)}
.check a{color:#fff}
.hidden{position:absolute;left:-9999px}
/* Footer */
footer{background:var(--ink);color:#BDBDBD;border-top:1px solid #2B2B2B;padding:48px 0}
footer .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.logo-foot{width:260px;height:auto}
footer nav{display:flex;gap:24px;font-size:15px}
footer a{text-decoration:none}
footer a:hover{color:#fff}
/* Rechtliches */
.legal{padding:72px 0 104px}
.legal .wrap{max-width:820px}
.legal h1{font-size:clamp(48px,7vw,84px);margin-bottom:40px}
.legal h2{font-family:Anton,Impact,sans-serif;font-weight:400;font-size:24px;text-transform:uppercase;margin:40px 0 10px}
.legal h3{font-size:19px;margin:24px 0 6px;font-family:Archivo,sans-serif;font-weight:900;text-transform:none}
.legal p{margin-top:10px}
.legal .small{font-size:16px;color:var(--muted)}
/* Responsive */
@media (max-width:980px){
 .hero .wrap,.about .wrap,.knowledge .grid,.contact .wrap{grid-template-columns:1fr}
 .hero .portrait{max-width:420px}
 .promise .grid{grid-template-columns:1fr;gap:28px}
 .svc{grid-template-columns:1fr}
 .services .head{flex-direction:column;align-items:start}
}
@media (max-width:760px){
 body{font-size:17px}
 .wrap{padding:0 22px}
 .menu-toggle{display:block}
 header nav ul{display:none;position:absolute;left:0;right:0;top:76px;background:var(--ink);flex-direction:column;align-items:flex-start;padding:16px 22px 26px;gap:18px;border-top:1px solid #2B2B2B}
 header nav.open ul{display:flex}
 .hero{padding:48px 0 64px}
 .facts{grid-template-columns:1fr}
 .services,.about,.knowledge,.contact,.punch{padding:72px 0}
}

.hero .wrap{grid-template-columns:1.25fr .85fr;align-items:center}
.hero h1{font-size:clamp(52px,7.6vw,112px)}
.hero p.lead{margin-top:26px}
.svc .kind{font-weight:900;color:var(--pink);font-size:16px;margin-bottom:6px}
.svc h3{font-size:30px;max-width:15em}
.about .wrap{grid-template-columns:1fr}
.about .inner{max-width:900px}
.about h2.display{font-size:clamp(38px,5.2vw,70px)}
.insure{background:var(--stone);padding:96px 0}
.insure .intro{max-width:40em;margin-top:22px}
.topics{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:44px}
.topics h3{font-size:24px}
.topics p{margin-top:8px;font-size:16px}
.pcard{display:flex;align-items:center;gap:22px;flex-wrap:wrap;background:var(--ink);color:#fff;padding:22px 24px;margin-top:48px}
.pcard .ph{width:84px;height:84px;border-radius:50%;overflow:hidden;background:#2B2B2B;flex:none;display:flex;align-items:center;justify-content:center;font-family:Anton,Impact,sans-serif;font-size:28px;color:#666}
.pcard .ph img{width:100%;height:100%;object-fit:cover;object-position:center top}
.pcard .who{flex:1;min-width:200px}
.pcard strong{font-family:Anton,Impact,sans-serif;font-weight:400;font-size:24px;text-transform:uppercase;display:block;line-height:1.1}
.pcard span{color:#DADADA;font-size:16px}
@media (max-width:980px){.topics{grid-template-columns:1fr;gap:24px}}
@media (max-width:760px){.insure{padding:72px 0}.pcard .btn{width:100%}}

@media (max-width:1100px){.menu-toggle{display:block}header nav ul{display:none;position:absolute;left:0;right:0;top:76px;background:var(--ink);flex-direction:column;align-items:flex-start;padding:16px 32px 26px;gap:18px;border-top:1px solid #2B2B2B}header nav.open ul{display:flex}}
header nav ul{gap:22px}
.kicker{display:block;font-family:Archivo,sans-serif;font-weight:900;text-transform:none;font-size:clamp(18px,1.8vw,24px);letter-spacing:0;line-height:1.3;color:var(--pink);margin-bottom:18px}
.svc h3{font-family:Archivo,sans-serif;font-weight:900;text-transform:none;font-size:18px;color:var(--pink);letter-spacing:0}
.svc h3 a{text-decoration:none}
.quip{font-family:Anton,Impact,sans-serif;text-transform:uppercase;font-size:30px;line-height:1.08;margin-top:6px;max-width:15em}
.more{display:inline-block;margin-top:14px;font-weight:900;color:var(--ink)}
.more:hover{color:var(--pink)}
.faq{padding:104px 0}
.faq .list{margin-top:44px;max-width:860px;border-top:2px solid var(--ink)}
.faq details{border-bottom:1px solid #CFCFCF}
.faq summary{cursor:pointer;list-style:none;padding:22px 44px 22px 0;position:relative;font-weight:900;font-size:20px;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:16px;font-family:Anton,Impact,sans-serif;font-size:30px;color:var(--pink)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 24px;max-width:44em}
.page-hero{background:var(--ink);color:#fff;padding:72px 0 80px}
.page-hero h1{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(34px,6.5vw,92px);line-height:.98;hyphens:auto;overflow-wrap:break-word}
.page-hero .quip{color:var(--pink);font-size:clamp(26px,3vw,40px);margin-top:16px;max-width:none}
.page-hero .lead{font-size:20px;max-width:36em;margin-top:24px;color:#EDEDED}
.page-hero .actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.crumbs{font-size:15px;color:#BDBDBD;margin-bottom:22px}
.crumbs a{text-decoration:none}.crumbs a:hover{color:#fff}
.content{padding:88px 0}
.content .cols{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:start}
.content h2{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(32px,4vw,48px);line-height:1.02;margin-bottom:18px}
.content h2:not(:first-child){margin-top:56px}
.content p+p{margin-top:16px}
.steps{list-style:none;counter-reset:s;margin-top:8px}
.steps li{counter-increment:s;position:relative;padding:18px 0 18px 64px;border-top:1px solid #DADADA}
.steps li::before{content:counter(s);position:absolute;left:0;top:12px;font-family:Anton,Impact,sans-serif;font-size:38px;color:var(--pink);line-height:1}
.steps strong{display:block;font-weight:900}
.ticks{list-style:none;margin-top:8px}
.ticks li{padding:10px 0 10px 28px;border-top:1px solid #DADADA;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:19px;width:12px;height:12px;background:var(--pink)}
.side{background:var(--stone);padding:30px 28px;position:sticky;top:100px}
.side h2{font-size:28px}
.side p{font-size:16px}
.side .btn{margin-top:20px;width:100%}
.side .alt{display:block;margin-top:14px;font-weight:900;text-decoration:none}
.others{background:var(--stone);padding:72px 0}
.others ul{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}
.others a{display:block;text-decoration:none;background:#fff;padding:22px;border-top:6px solid var(--ink)}
.others a:hover{border-top-color:var(--pink)}
.others strong{font-weight:900;font-size:18px;display:block}
.others span{font-size:15px;color:var(--muted)}
.cta-band{background:var(--pink);color:#fff;padding:64px 0}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.cta-band p.display{font-size:clamp(34px,4.4vw,56px);color:var(--ink)}
.cta-band .btn{background:var(--ink);border-color:var(--ink)}
.cta-band .btn:hover{background:#000}
.note-small{font-size:15px;color:var(--muted);margin-top:20px}
footer .cols{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;width:100%}
footer nav{display:block}
.svc{grid-template-columns:repeat(3,1fr);gap:0 44px}
.svc .quip{font-size:27px}
.others ul{grid-template-columns:repeat(2,1fr)}
.logo-ph{display:flex;align-items:center;justify-content:center}
.logo-ph svg{width:74%;height:auto}
@media (max-width:980px){.svc{grid-template-columns:1fr}}
footer h2{font-weight:900;font-size:15px;color:#fff;margin-bottom:10px}
footer ul{list-style:none;display:grid;gap:6px;font-size:15px}
@media (max-width:980px){.hero .wrap{grid-template-columns:1fr;gap:40px}.hero .portrait{max-width:420px;width:100%}}
@media (max-width:760px){.hero .portrait{max-width:none;width:calc(100% - 18px);margin-left:18px}}
@media (max-width:980px){.content .cols{grid-template-columns:1fr}.side{position:static}.others ul{grid-template-columns:1fr}footer .cols{grid-template-columns:1fr}}

.svc{grid-template-columns:repeat(2,1fr);gap:0 64px}
.svc .quip{font-size:30px}
.facts{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.svc{grid-template-columns:1fr}.facts{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.facts{grid-template-columns:1fr}}

.quotes{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}
.quotes li{background:var(--ink);color:#fff;padding:18px 20px;font-weight:700;line-height:1.4}
.quotes li{border-left:6px solid var(--pink)}
.formula{margin-top:26px;background:var(--pink);color:#fff;padding:24px 26px;font-weight:900;font-size:19px;line-height:1.45}
.formula strong{color:var(--ink)}
.content ol.reasons{margin:10px 0 0 22px}
.content ol.reasons li{margin-top:12px;padding-left:6px}
.content ol.reasons li::marker{font-family:Anton,Impact,sans-serif;color:var(--pink)}
.qual{font-weight:700;font-size:19px;line-height:1.5}
.note-src{font-size:14px;color:var(--muted);margin-top:14px}
@media (max-width:760px){.quotes{grid-template-columns:1fr}}

.content{overflow-wrap:break-word;hyphens:auto}
.content .cols>div{min-width:0}

.page-hero .split{display:grid;grid-template-columns:1.3fr .7fr;gap:56px;align-items:center}
.page-hero .split .portrait{max-width:380px;justify-self:end;width:100%}
.side .side-photo{height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 30%;display:block;margin:-30px -28px 22px;width:calc(100% + 56px);max-width:none}
@media (max-width:980px){.page-hero .split{grid-template-columns:1fr;gap:40px}.page-hero .split .portrait{justify-self:start;max-width:380px;width:calc(100% - 18px);margin-left:18px}}

.fab{display:none}
@media (max-width:760px){
 .fab{display:flex;gap:10px;position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60}
 .fab a{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-weight:900;font-size:16px;padding:0 18px 0 14px;height:56px;border-radius:28px;box-shadow:0 6px 18px rgba(0,0,0,.28)}
 .fab a:focus-visible{outline:3px solid #fff;outline-offset:3px}
 .call-btn{background:var(--pink)}
 .wa-btn{background:#25D366}
 footer{padding-bottom:96px}
}
@media (max-width:359px){.fab a{padding:0 14px 0 12px;font-size:15px;gap:6px}}
