/* Exnodo-Theme: Stylesheet aus Website-Neuentwurf/site.css.
   Farben kommen aus theme.json (Presets); die Entwurfsnamen sind Aliase darauf. */
:root{--lime:var(--wp--preset--color--lime);--ink:var(--wp--preset--color--ink);--paper:var(--wp--preset--color--sand);--pink:var(--wp--preset--color--pink);--violet:var(--wp--preset--color--violett);--soft-violet:var(--wp--preset--color--soft-violett);--soft-pink:var(--wp--preset--color--soft-pink);--pad:clamp(24px,4vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Space Grotesk',Arial,sans-serif;font-size:20px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,summary{cursor:pointer}button{border:0}img{max-width:100%;height:auto}p{margin:0 0 24px}p:last-child{margin-bottom:0}ul{padding-left:1.1em;margin:24px 0}li{padding-left:.2em;margin:8px 0}h1,h2,h3{font-weight:500;line-height:1.07;letter-spacing:-.055em;margin:0 0 28px;text-wrap:balance;overflow-wrap:normal}h1{font-size:clamp(64px,7.6vw,120px);line-height:.96;font-weight:600;letter-spacing:-.068em}h2{font-size:clamp(40px,4.6vw,72px)}h3{font-size:clamp(26px,2.4vw,36px);line-height:1.16;letter-spacing:-.035em}strong{font-weight:600}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid currentColor;outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:5px}::selection{background:var(--pink);color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:12px;left:24px;transform:translateY(-180%);padding:12px 20px;background:var(--ink);color:white;z-index:10}.skip:focus{transform:none}.eyebrow{display:block;font-size:13px;line-height:1.5;letter-spacing:.09em;text-transform:uppercase;font-weight:500;margin:0 0 28px}.header{padding:0 var(--pad);height:112px;display:flex;align-items:center;justify-content:space-between;background:var(--lime);position:relative;gap:20px}.header:after{content:'';position:absolute;bottom:0;left:var(--pad);right:var(--pad);border-bottom:1px solid #16161655}.paper .header{background:var(--paper)}.logo{width:180px;display:block}.header-actions{display:flex;align-items:center;gap:40px}.header-contact{font-size:15px}.menu-button{border:1px solid var(--ink);background:transparent;border-radius:50px;min-height:48px;padding:10px 20px;display:flex;align-items:center;gap:22px;font-size:16px;white-space:nowrap}.menu-button span{font-size:28px;line-height:1}.menu-button:hover{background:#16161610}.hero{padding:64px var(--pad) 80px;background:var(--lime);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:5vw;align-items:center}.hero-copy{max-width:650px}.hero-copy p{font-size:20px;line-height:1.6}.hero-copy p+p{font-size:18px}.hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:16px;margin-top:32px}.outline{color:transparent;-webkit-text-stroke:1.3px var(--ink)}.home-hero h1{font-size:clamp(68px,8vw,128px)}.art-wrap{margin:0 12px 0 0;position:relative;min-width:0}.art{position:relative;aspect-ratio:1/1.13;background:var(--ink);transform:rotate(3deg);overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:2px}.art>img{width:100%;height:100%;object-fit:contain}.art-label,.art-bottom{position:absolute;color:var(--paper);left:24px;right:24px;font-size:10px;line-height:1.5;letter-spacing:.1em;z-index:1}.art-label{top:24px}.art-bottom{bottom:24px;text-align:right}.art-wrap figcaption{font-size:13px;text-align:right;margin-top:24px}.badge{position:absolute;left:-32px;bottom:65px;background:var(--pink);border-radius:49% 51% 46% 54%;width:116px;height:116px;display:grid;place-content:center;text-align:center;font-family:'Permanent Marker',cursive;font-size:24px;line-height:1.05;transform:rotate(-8deg);animation:badge-in .45s both}.marker{font-family:'Permanent Marker',cursive;letter-spacing:-.03em;font-size:30px;line-height:1.2;display:inline-block;transform:rotate(-5deg)}.arrow{width:50px;height:25px;flex:0 0 50px;overflow:visible;transition:transform .2s}.arrow path{fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}.action,.cta{display:inline-flex;align-items:center;gap:22px;font-family:'Permanent Marker',cursive;font-size:21px;line-height:1.35;letter-spacing:-.02em;min-height:48px;text-align:left;max-width:100%}.action{padding:12px 0}.cta{padding:22px 30px;color:white;position:relative;isolation:isolate;background:transparent;text-decoration:none}.cta:before{content:'';position:absolute;inset:0;background:var(--ink);z-index:-1;clip-path:polygon(2% 9%,22% 4%,48% 7%,76% 2%,98% 8%,100% 86%,79% 95%,48% 91%,21% 97%,0 89%);transition:transform .2s}.cta:hover{text-decoration:none}.cta:hover:before{transform:rotate(-1deg)}.action:hover .arrow,.cta:hover .arrow{transform:translateX(6px)}.section{padding:96px var(--pad)}.section-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:7vw}.section-grid h2{font-size:clamp(36px,4vw,62px)}.prose{max-width:700px}.prose>p>strong:only-child{font-size:25px;line-height:1.35;display:block}.section:not([class*='ink'])+.section:not(.contact-band){border-top:1px solid #16161625}.ink{background:var(--ink);color:var(--paper)}.pink{background:var(--pink)}.soft-pink{background:var(--soft-pink)}.violet{background:var(--violet);color:white}.soft-violet{background:var(--soft-violet)}.ink .cta,.violet .cta{color:var(--ink)}.ink .cta:before,.violet .cta:before{background:var(--lime)}.ink .eyebrow{color:var(--lime)}.lead{max-width:780px}.services{padding-top:0}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.service-card{display:flex;flex-direction:column;min-width:0}.service-card h2{font-size:clamp(38px,4vw,62px)}.service-card h3{font-size:26px;line-height:1.25;letter-spacing:-.035em}.service-card p{font-size:19px}.service-card ul{font-size:17px;list-style:none;padding:0;margin-top:auto}.service-card li{border-top:1px solid #16161640;padding:12px 0;margin:0}.service-card .action{align-self:flex-start}.service-visual{height:280px;background:var(--soft-pink);position:relative;margin-bottom:32px;overflow:hidden}.service-card:nth-child(2) .service-visual{background:var(--soft-violet)}.service-visual img{position:absolute;height:100%;width:100%;object-fit:contain;padding:24px}.service-visual .eyebrow{position:absolute;top:24px;left:24px;font-size:12px}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:48px 64px;margin-top:56px}.result-grid article{border-top:1px solid #ffffff50;padding-top:28px}.result-grid h3{color:var(--lime)}.result-grid p{max-width:580px}.steps{list-style:none;padding:0;margin:56px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:48px 64px;counter-reset:steps}.steps li{padding:28px 0 0;margin:0;border-top:1px solid currentColor;min-width:0}.steps h3{font-size:30px}.steps p{font-size:19px}.steps strong{font-weight:600}.people-mini{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:32px 0}.people-mini strong{font-size:26px}.people-mini p{font-size:17px}.contact-band{background:var(--lime)}.contact-band>.marker{margin-bottom:32px}.contact-band h2{font-size:clamp(54px,7vw,110px);max-width:1100px}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:48px}.contact-row p{max-width:640px;margin:0}.contact-row .cta{flex-shrink:0}.footer{padding:56px var(--pad) 32px;background:var(--paper)}.footer-top{display:flex;justify-content:space-between;gap:32px;align-items:flex-start;margin-bottom:40px}.footer-top p{font-size:17px}.footer-links{display:flex;gap:16px 32px;flex-wrap:wrap;font-size:17px;margin-bottom:40px}.footer-bottom{border-top:1px solid #16161640;display:flex;gap:16px 28px;flex-wrap:wrap;padding-top:24px;font-size:14px}.footer-bottom span{margin-right:auto}.in-page{display:flex;gap:16px 28px;flex-wrap:wrap;padding:28px var(--pad);font-size:15px;border-bottom:1px solid #16161630}.in-page a{text-decoration:underline;text-underline-offset:4px}.profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:7vw}.monogram{position:relative;font-size:clamp(140px,22vw,330px);line-height:1;letter-spacing:-.09em;font-weight:600;display:block;margin-bottom:30px}.monogram>.marker{position:absolute;left:20%;bottom:12%;background:var(--lime);padding:16px;font-size:28px;letter-spacing:-.03em}.flow{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:0;margin:48px 0 0}.flow li{border-top:1px solid #ffffff70;padding:24px 0;margin:0}.flow span{font-family:'Permanent Marker';color:var(--lime);font-size:36px;display:block;margin-bottom:24px}.flow h3{font-size:29px}.flow p{font-size:18px}.paths{max-width:900px;margin:40px 0}details{border-top:1px solid currentColor;padding:24px 0}details:last-child{border-bottom:1px solid currentColor}summary{display:flex;justify-content:space-between;align-items:baseline;gap:24px;font-size:24px;line-height:1.3;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:30px;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details[open] summary{margin-bottom:24px}details p{font-size:19px}.contact-form-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:7vw}.contact-form-section>div>p{max-width:520px}.email{font-size:clamp(20px,2.4vw,32px);text-decoration:underline}.form-note,.field-help{font-size:16px}.field-help{margin-top:8px}label{display:block;font-size:17px;margin:24px 0 8px}label span{opacity:.75}input,select,textarea{width:100%;border:1px solid var(--ink);background:transparent;border-radius:0;padding:14px;min-height:54px;font-size:18px}textarea{resize:vertical}select{padding-right:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}form>p{font-size:16px}form p a,.prose a{text-decoration:underline;text-underline-offset:4px}#form-status:not(:empty){margin-top:24px;padding:20px;background:var(--soft-violet)}.legal{min-height:65vh}.legal h1{margin-bottom:64px}.legal .prose h2{font-size:32px;margin-top:40px}.legal .prose{max-width:800px}.no-js-nav{display:flex;gap:24px;flex-wrap:wrap;padding:24px}html:has(dialog[open]){overflow:hidden}dialog#navigation{position:fixed;inset:0;border:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;background:var(--pink);color:var(--ink);padding:0 var(--pad) 32px;overflow:auto}dialog::backdrop{background:var(--pink)}dialog[open]{animation:menu-in .5s cubic-bezier(.2,.7,.2,1)}.menu-head{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:112px;border-bottom:1px solid #16161640;margin-bottom:24px}#navigation nav{display:flex;flex-direction:column}#navigation nav>a{display:flex;align-items:baseline;gap:28px;font-size:clamp(32px,5.2vw,80px);line-height:1.15;letter-spacing:-.06em;padding:16px 0}#navigation nav>a small{font-size:13px;letter-spacing:0;flex:0 0 24px}#navigation nav>a span:last-child{margin-left:auto}#navigation nav>a:hover{text-decoration:none}#navigation nav>a:hover span:nth-child(2){text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}.menu-bottom{border-top:1px solid #16161640;margin-top:24px;padding-top:24px;display:flex;justify-content:space-between;gap:24px;font-size:14px}@keyframes menu-in{from{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes badge-in{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@media(min-width:1700px){body{max-width:2000px;margin:auto}.hero{gap:80px}}
@media(max-width:1050px){.hero{gap:40px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}h1,.home-hero h1{font-size:clamp(60px,7.8vw,82px)}.hero-copy p{font-size:18px}.contact-row{align-items:flex-start;flex-direction:column}.section-grid,.profile{gap:48px}.header-contact{display:none}.service-grid{gap:32px}}
@media(max-width:799px){body{font-size:18px;line-height:1.65}.header{height:88px}.logo{width:145px}.menu-button{padding:9px 16px;gap:16px}.hero{grid-template-columns:1fr;padding-top:48px;padding-bottom:64px;gap:48px}.hero h1,.home-hero h1{font-size:clamp(52px,10.8vw,82px);line-height:.99}.hero .eyebrow{font-size:12px;margin-bottom:24px}.hero-copy{max-width:640px}.hero-copy p{font-size:19px}.art-wrap{width:calc(100% - 36px);max-width:500px;justify-self:center;margin:0}.art{aspect-ratio:1/1.05}.badge{left:-18px;bottom:50px;width:96px;height:96px;font-size:22px}.art-wrap figcaption{font-size:12px}.section{padding-top:64px;padding-bottom:64px}.section-grid,.profile,.contact-form-section{grid-template-columns:1fr;gap:24px}.section-grid h2,h2{font-size:clamp(36px,6.8vw,52px)}.section-grid .eyebrow{margin-bottom:16px}.service-grid{grid-template-columns:1fr;gap:56px}.services{padding-top:0}.service-card h2{font-size:42px}.service-card ul{margin-top:16px}.service-visual{height:300px}.result-grid,.steps{gap:36px}.result-grid h3{font-size:27px}.result-grid p,.steps p{font-size:18px}.steps h3{font-size:26px}.contact-band h2{font-size:clamp(44px,8vw,64px)}.contact-row{gap:24px}.footer-top{flex-direction:column}.footer-links{gap:16px 24px}.footer-bottom span{width:100%}.in-page{font-size:14px;gap:12px 24px}.monogram{font-size:180px}.monogram>.marker{left:100px}.profile-name h2{margin-bottom:8px}.flow{grid-template-columns:1fr;gap:16px}.flow li{display:grid;grid-template-columns:50px 1fr;column-gap:20px}.flow p{grid-column:2}.flow h3{align-self:center}.flow span{grid-row:1 / 3}.flow span,.flow h3{margin-bottom:16px}.menu-head{min-height:88px}#navigation nav>a{font-size:clamp(28px,6.2vw,46px);gap:16px;padding:18px 0;letter-spacing:-.045em}#navigation nav>a small{flex-basis:18px;font-size:12px}.menu-bottom{flex-direction:column;gap:12px}.contact-hero .art-wrap{max-width:380px}.legal h1{font-size:clamp(46px,10vw,70px)}.legal h2{overflow-wrap:anywhere}}
@media(max-width:480px){h1,.hero h1,.home-hero h1{font-size:clamp(45px,11.7vw,58px)}.hero-copy p{font-size:18px}.cta,.action{font-size:19px;gap:14px}.cta{padding:22px 24px}.arrow{width:40px;flex-basis:40px}.result-grid,.steps{grid-template-columns:1fr}.people-mini{grid-template-columns:1fr;gap:16px}.service-card h2{font-size:38px}.service-visual{height:240px}.form-grid{grid-template-columns:1fr;gap:0}.header{gap:12px}.menu-button{font-size:14px}.header .logo{width:135px}.art-label,.art-bottom{font-size:9px;left:18px;right:18px}.art-label{top:18px}.art-bottom{bottom:18px}.in-page{display:none}.prose>p>strong:only-child{font-size:24px}.legal .prose h2{font-size:28px}.footer-links{flex-direction:column}.contact-band h2{font-size:46px}.menu-head .logo{width:135px}.menu-head .menu-button{gap:10px;padding:10px 12px}#navigation nav>a{font-size:30px;gap:12px}.hero-actions{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.art,.badge,.marker{transform:none}}
@media print{.header-actions,.hero-actions,dialog,.contact-band,form,.skip{display:none!important}.hero,.section,.footer{background:white!important;color:black!important;padding:24px 0}.art-wrap{max-width:280px}.section-grid{display:block}h1{font-size:44px}h2{font-size:30px}.outline{color:black;-webkit-text-stroke:0}body{font-size:12px}a{text-decoration:underline}.result-grid,.steps{gap:24px}.ink h3{color:black}details{break-inside:avoid}}
/* Narrow screens retain readable German words without widening the page. */
.section-grid>*,.profile>*,.contact-form-section>*,.result-grid>*,.steps>*,.form-grid>*,.people-mini>*{min-width:0}
p,li,label,.prose,.contact-row{overflow-wrap:break-word}
@media(max-width:480px){h2,h3,summary{hyphens:auto;overflow-wrap:break-word}.section-grid h2{font-size:36px}#navigation nav>a span:nth-child(2){min-width:0;hyphens:auto;overflow-wrap:break-word}#navigation nav>a span:last-child{flex-shrink:0}.hero h1{hyphens:auto}.action,.cta{overflow-wrap:anywhere}.header{padding-left:20px;padding-right:20px}.header .logo{width:125px}}
@media(min-width:1051px){.service-hero h1{font-size:clamp(68px,6vw,96px)}}
.outline{display:inline-block;hyphens:none}
.topic-options{border:0;margin:24px 0;padding:0;min-width:0}.topic-options legend{font-size:17px;margin-bottom:8px}.topic-options label{display:flex;gap:14px;align-items:flex-start;border:1px solid #16161665;padding:14px;margin:10px 0;cursor:pointer;font-size:17px}.topic-options label:has(input:checked){background:var(--soft-violet);border-color:var(--ink)}.topic-options input{appearance:auto;accent-color:var(--ink);width:20px;height:20px;min-height:20px;flex:0 0 20px;padding:0;margin:4px 0}.topic-options span{opacity:1}
.skip{position:absolute;top:-100px;transform:none}.skip:focus{top:12px}.cta:disabled{opacity:.5;cursor:not-allowed}.cta:disabled:hover:before{transform:none}
@media(max-width:480px){.hero h1{hyphens:none}.service-hero h1{font-size:clamp(36px,10.5vw,50px)}h2,h3{hyphens:manual}}
@media(max-width:350px){h2,h3{hyphens:auto}}
/* vis:start — Exnodo-Visualisierungsfamilie (generiert von Exnodo Visuals/quellen/einbetten.py) */
:root{--vis-line:var(--ink);--vis-line-2:var(--ink);--vis-line-3:var(--ink);--vis-dot:var(--ink)}
:root{--vis-fill:var(--lime)}.hero,.contact-band{--vis-fill:var(--paper)}.art{--vis-fill:var(--lime)}   /* marker hatching: never lime on lime */
.ink,.violet,.art{--vis-line:var(--paper);--vis-line-2:var(--soft-violet);--vis-line-3:var(--soft-pink);--vis-dot:var(--lime)}
.vis{display:block;width:100%;height:100%;overflow:hidden}
.art>.vis{position:absolute;inset:0}
.service-visual{--vis-line:var(--ink);--vis-line-2:var(--ink);--vis-line-3:var(--ink);--vis-dot:var(--ink)}
.service-visual>.vis{position:absolute;inset:0}
@media(max-width:799px){.art-bottom{padding-left:88px}}   /* badge never covers the claim */
.portrait{position:relative;margin:0 0 32px;max-width:440px}
.portrait img{display:block;width:100%;height:auto}
.portrait .badge{left:auto;right:-8px;bottom:22%;width:104px;height:104px;font-size:24px}
.portrait .badge.lime{background:var(--lime)}   /* pink badge would vanish on soft-pink */
/* vis:end */
/* blog:start — Blog (generiert von Exnodo Visuals/quellen/blog.py) */
.post-list{list-style:none;padding:0;margin:0;max-width:980px}
.post-list li{margin:0;border-top:1px solid #16161640}.post-list li:last-child{border-bottom:1px solid #16161640}
.post-list a{display:grid;grid-template-columns:180px minmax(0,1fr);gap:8px 40px;padding:32px 0;text-decoration:none}
.post-list time{font-size:15px;padding-top:8px}
.post-list h2{font-size:clamp(26px,3vw,40px);margin:0 0 12px;letter-spacing:-.04em}
.post-list p{margin:0;font-size:18px;max-width:640px}
.post-list a:hover h2{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.article-meta{font-size:15px;margin-top:8px}
.article-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:7vw;align-items:start}
.article-toc{position:sticky;top:24px;display:flex;flex-direction:column;gap:2px;font-size:15px;line-height:1.4}
.article-toc span{font-size:13px;letter-spacing:.09em;text-transform:uppercase;font-weight:500;margin-bottom:10px}
.article-toc a{padding:7px 0;border-top:1px solid #16161625}
.article{max-width:740px;font-size:19px}
.article h2{font-size:clamp(30px,3.2vw,44px);margin:64px 0 22px;scroll-margin-top:24px}.article>h2:first-child{margin-top:0}
.article h3{font-size:clamp(22px,2vw,28px);margin:40px 0 14px}
.article a{text-decoration:underline;text-underline-offset:4px}
.article .table-scroll{overflow-x:auto;margin:28px 0}
.article table{border-collapse:collapse;width:100%;font-size:16px;line-height:1.5;min-width:520px}
.article th,.article td{text-align:left;vertical-align:top;padding:12px 16px 12px 0;border-top:1px solid #16161640}
.article th{font-weight:600}
.article sup{font-size:12px;line-height:0}.article sup a{text-decoration:none}
.article .quellen{font-size:15px;padding-left:1.2em}
@media(max-width:799px){.post-list a{grid-template-columns:1fr;padding:24px 0}.post-list time{padding:0}
.article-layout{grid-template-columns:minmax(0,1fr);gap:32px}.article-toc{position:static}.article{font-size:18px}}
/* blog:end */
/* inhalt:start — Akkordeon, Etikett (generiert von Exnodo Visuals/quellen/inhalte.py) */
.chev{width:24px;height:16px;flex:0 0 24px;display:block;transition:transform .25s;align-self:center}
.chev path{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
details[open]>summary .chev{transform:rotate(180deg)}
summary:hover .chev{transform:translateY(3px)}details[open]>summary:hover .chev{transform:rotate(180deg) translateY(3px)}
.accordion details{padding:22px 0}
.accordion details:first-child{border-top:0;padding-top:4px}   /* first title starts level with the section heading */
.accordion summary{align-items:center}
.accordion summary h3{margin:0;font-size:clamp(24px,2.3vw,32px)}
.accordion details[open] summary{margin-bottom:20px}
.accordion .acc-body{max-width:640px}
.accordion .acc-body p{font-size:19px}
.tag{display:inline-block;font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;border:1.5px solid currentColor;border-radius:40px;padding:5px 12px;margin:0 0 20px}
/* inhalt:end */
/* hf:start — Header-Claim und schwarzer Footer (generiert von Exnodo Visuals/quellen/header_footer.py) */
.header{height:auto;min-height:112px;padding-top:18px;padding-bottom:18px}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0}
.header-claim{font-size:13px;line-height:1.35;letter-spacing:.01em}
.header:after{display:none}   /* no rule under the header */
.header .header-contact{font-size:19px;gap:12px;padding:8px 0;min-height:44px}
.mail{width:26px;height:19px;display:block;flex:0 0 26px;transition:transform .2s}
.mail path{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.header-contact:hover .mail{transform:rotate(-8deg) translateY(-2px)}
/* Contact stays reachable on every screen: below 1050px the envelope alone, below 400px the burger alone.
   Hidden labels stay in the accessibility tree (screen readers still read „Kontakt“ / „Menü“). */
.hc-label,.mb-label{display:inline}
.header .header-blog{font-size:19px;gap:12px;padding:8px 0;min-height:44px;text-decoration:none}
.book{width:26px;height:20px;display:block;flex:0 0 26px;transition:transform .2s}
.book path{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.header-blog:hover .book{transform:rotate(-8deg) translateY(-2px)}
.menu-bottom{flex-wrap:wrap}
/* like the contact link: below 1050px only the icon, label kept for screen readers */
@media(max-width:1050px){.header .header-blog{display:inline-flex;justify-content:center;min-width:48px;min-height:48px;padding:0}
.header .header-blog .book{width:30px;height:23px;flex-basis:30px}
.hb-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}
@media(max-width:360px){.header .header-blog,.header .header-contact{min-width:44px}.header-actions{gap:4px}}
.header .menu-button .mb-label{font-family:'Permanent Marker',cursive;font-size:19px;letter-spacing:-.02em;line-height:1}   /* same marker voice as Blog and Kontakt */   /* the old 28px rule was meant for the former „+“ */
@media(max-width:1050px){.header .header-contact{display:inline-flex;justify-content:center;min-width:48px;min-height:48px;padding:0}
.header .header-contact .mail{width:30px;height:22px;flex-basis:30px}
.hc-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.header-actions{gap:14px}}
@media(max-width:400px){.mb-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.header .menu-button{min-width:48px;padding:10px 13px;justify-content:center}.header-actions{gap:8px}}
.header .menu-button{background:var(--pink);border-color:var(--pink);color:var(--ink);gap:14px;transition:transform .2s}
.header .menu-button:hover{background:var(--pink);transform:rotate(-2deg)}   /* same pink as the opened menu */
.burger{width:22px;height:17px;display:block}
.menu-head .menu-button{gap:14px}
.menu-head .menu-button .mc-label{font-family:'Permanent Marker',cursive;font-size:19px;letter-spacing:-.02em;line-height:1}   /* overrides the old 28px span rule, same size as „Menü“ */
.cross{width:18px;height:18px;display:block;transition:transform .2s}
.cross path{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.menu-head .menu-button:hover .cross{transform:rotate(90deg)}
.burger path{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.footer{background:var(--ink);color:var(--paper);padding:44px var(--pad) 28px}
.footer a{color:inherit}
.footer-main{display:flex;justify-content:space-between;align-items:center;gap:20px 48px;flex-wrap:wrap;padding-bottom:32px;border-bottom:1px solid #f3f1e933}
.footer-logo{display:inline-block;flex-shrink:0}
.footer-logo .logo{height:auto;fill:var(--lime)}   /* width comes from .logo, same as in the header */
.footer-links{display:flex;flex-direction:row;gap:10px 28px;flex-wrap:wrap;margin:0;font-size:15px}
.footer-legal{display:flex;gap:10px 24px;flex-wrap:wrap;padding-top:20px;font-size:14px;color:#f3f1e9b3}
.footer-legal span{width:auto;margin:0 auto 0 0}
@media(max-width:799px){.header{min-height:88px;padding-top:14px;padding-bottom:14px}.header-claim{font-size:11px;max-width:190px}
.footer{padding-top:40px}.footer-main{flex-direction:column;align-items:flex-start;gap:24px;padding-bottom:28px}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.footer-legal span{width:100%}}
@media(max-width:480px){.footer{padding-left:20px;padding-right:20px}.footer .logo{width:125px}}   /* mirrors the header's small-screen logo */
/* hf:end */
/* resp:start — Responsive-Korrekturen (generiert von Exnodo Visuals/quellen/responsive.py) */
/* Ultra-wide: colour bands run edge to edge, only the content stays at the former 2000px frame.
   Percent padding resolves against the body width (without scrollbar), so the content edge stays exactly where it was. */
@media(min-width:1700px){body{max-width:none}}
@media(min-width:2001px){:root{--pad:calc((100% - 2000px) / 2 + 80px)}}
/* Small screens: no automatic hyphenation in display type (it split short words like "möch-test").
   Measured on all pages at 320–414px: without it only one FAQ question overflowed, handled below. */
@media(max-width:480px){h1,h2,h3,summary,.hero h1,#navigation nav>a span:nth-child(2){hyphens:manual;-webkit-hyphens:manual}}
@media(max-width:400px){summary{font-size:21px}}
/* Header on phones: logo and menu in one row, the claim below across the full width instead of three cramped lines */
@media(max-width:480px){.header{display:grid;grid-template-columns:1fr auto;align-items:center;row-gap:8px}
.brand{display:contents}.brand>a{grid-column:1;grid-row:1}.header-actions{grid-column:2;grid-row:1}
.header-claim{grid-column:1/-1;grid-row:2;font-size:12px;max-width:none}}
/* Tablets (two-column hero, narrow text column): long words like "überzeugender" ran into the hero card at 7.8vw.
   7vw keeps the longest hero word inside its column from 800 to 1050px. */
@media(min-width:800px) and (max-width:1050px){.hero h1,.home-hero h1,.service-hero h1{font-size:7vw}}
/* Brush buttons stay on one line on phones */
@media(max-width:414px){.cta{font-size:18px;padding:18px 22px;gap:14px}.cta .arrow{width:40px;height:20px;flex-basis:40px}}
@media(max-width:340px){.cta{font-size:16px;padding:16px 18px;gap:10px}.cta .arrow{width:34px;flex-basis:34px}}
/* Touch targets: at least 44px high without changing the visual layout */
.brand>a,.footer-logo{display:inline-block;padding:10px 0;margin:-10px 0}
.footer-links a,.footer-legal a{display:inline-block;padding:12px 0;margin:-12px 0}
@media(max-width:799px){.footer-links{row-gap:22px}.footer-legal{row-gap:22px}}
/* resp:end */

/* wp:start — Anpassungen für WordPress-Markup (core/navigation statt handgeschriebener Links) */
.wp-site-blocks>*{margin-block-start:0}
/* Pink-Menü: Navigationsliste sieht aus wie das Entwurfs-nav (Nummer, Label, Pfeil) */
#navigation .wp-block-navigation{display:block}
#navigation .wp-block-navigation__container{display:flex;flex-direction:column;align-items:stretch;gap:0;counter-reset:menu;padding:0;margin:0;list-style:none}
#navigation .wp-block-navigation-item{display:block;counter-increment:menu;margin:0;padding:0}
#navigation .wp-block-navigation-item__content{display:flex;align-items:baseline;gap:28px;font-size:clamp(32px,5.2vw,80px);line-height:1.15;letter-spacing:-.06em;padding:16px 0;text-decoration:none}
#navigation .wp-block-navigation-item__content:before{content:counter(menu,decimal-leading-zero);font-size:13px;letter-spacing:0;flex:0 0 24px}
#navigation .wp-block-navigation-item__content:after{content:'\2197';margin-left:auto}
#navigation .wp-block-navigation-item__content:hover .wp-block-navigation-item__label{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
@media(max-width:799px){#navigation .wp-block-navigation-item__content{font-size:clamp(28px,6.2vw,46px);gap:16px;padding:18px 0;letter-spacing:-.045em}#navigation .wp-block-navigation-item__content:before{flex-basis:18px;font-size:12px}}
@media(max-width:480px){#navigation .wp-block-navigation-item__content{font-size:30px;gap:12px}#navigation .wp-block-navigation-item__label{min-width:0;overflow-wrap:break-word}#navigation .wp-block-navigation-item__content:after{flex-shrink:0}}
/* Fußzeile */
.footer .wp-block-navigation__container{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px 28px;padding:0;margin:0;list-style:none;align-items:flex-start}
.footer .wp-block-navigation-item{margin:0;padding:0}
.footer .wp-block-navigation-item__content{display:inline-block;padding:12px 0;margin:-12px 0}
.footer .footer-legal .wp-block-navigation__container{gap:10px 24px}
.footer-legal .footer-legal-meta{display:contents}
@media(max-width:799px){.footer .footer-links .wp-block-navigation__container{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}}
@media(max-width:480px){.footer .footer-links .wp-block-navigation__container{display:flex;flex-direction:column;gap:22px}}
.no-js-nav .wp-block-navigation__container{display:flex;flex-wrap:wrap;gap:24px;padding:0;margin:0;list-style:none}
.no-js-nav .wp-block-navigation-item{margin:0;padding:0}
/* wp:end */
