/* ==========================================================================
   Werbung Paderborn – Theme-CSS (Desktop 1:1 nach XD @1920, mobil optimiert)
   ========================================================================== */
@font-face{font-family:"Ubuntu";src:url(../fonts/Ubuntu-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Ubuntu";src:url(../fonts/Ubuntu-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Ubuntu";src:url(../fonts/Ubuntu-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Montserrat Alternates";src:url(../fonts/MontserratAlternates-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Montserrat Alternates";src:url(../fonts/MontserratAlternates-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Finlandica";src:url(../fonts/Finlandica-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
	--y:#ffc011; --d:#3c3c3b; --g:#f4f4f4; --w:#fff;
	--u:min(1px, calc(100vw / 1920));          /* 1 XD-Pixel, skaliert unter 1920 px */
	--f-body:"Ubuntu",system-ui,-apple-system,"Segoe UI",sans-serif;
	--f-head:"Finlandica","Ubuntu",sans-serif;
	--f-alt:"Montserrat Alternates","Ubuntu",sans-serif;
	--cut:calc(44 * var(--u));
	--wrap:calc(1404 * var(--u));
	--gap:calc(140 * var(--u));
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--w);color:var(--d);font-family:var(--f-body);font-size:max(15px, calc(18.4 * var(--u)));line-height:1.96;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
strong{font-weight:700}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;z-index:100;background:var(--y);padding:8px 16px}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--y);outline-offset:3px}
.ico{width:100%;height:100%}
.wp-block-group__inner-container{display:contents}

/* Mitlaufendes Punkteraster (wie im XD: fixiert, außen dichter, zur Mitte ausblendend) */
body::before{content:"";position:fixed;inset:0;z-index:40;pointer-events:none;
	background-image:radial-gradient(circle,rgba(150,150,150,.45) 0 calc(2.4 * var(--u)),transparent calc(2.9 * var(--u)));
	background-size:calc(26 * var(--u)) calc(26 * var(--u));
	-webkit-mask-image:linear-gradient(90deg,#000 0,rgba(0,0,0,.55) 9%,transparent 24%,transparent 76%,rgba(0,0,0,.55) 91%,#000 100%),linear-gradient(180deg,#000 0,transparent 75%);
	-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,#000 0,rgba(0,0,0,.55) 9%,transparent 24%,transparent 76%,rgba(0,0,0,.55) 91%,#000 100%),linear-gradient(180deg,#000 0,transparent 75%);mask-composite:intersect}
@media (max-width:900px){body::before{background-size:16px 16px;background-image:radial-gradient(circle,rgba(150,150,150,.35) 0 1.3px,transparent 1.7px)}}
@media print{body::before{display:none}}

/* ---------- Kopf: Logo-Reiter, Burger, Schnellkontakt ---------- */
.site-head{position:absolute;inset:0 0 auto 0;z-index:50;height:0}
.site-logo{position:absolute;left:50%;top:0;transform:translateX(-50%);width:calc(594 * var(--u));height:calc(84 * var(--u));background:var(--w);border:1px solid #b9b9b9;border-top:0;border-radius:0 0 calc(18 * var(--u)) calc(18 * var(--u));display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.logo{display:block;line-height:0}
.logo svg{display:block;height:100%;width:auto}
.site-logo .logo{height:calc(40 * var(--u))}
.logo--light{--logo-dark:#fff}
.burger{position:fixed;z-index:60;right:calc(90 * var(--u));top:calc(86 * var(--u));width:calc(80 * var(--u));height:calc(78 * var(--u));min-width:46px;min-height:46px;background:var(--w);border:1px solid var(--d);border-radius:calc(10 * var(--u));display:flex;flex-direction:column;justify-content:center;align-items:center;gap:calc(10 * var(--u));cursor:pointer;padding:0}
.burger span{display:block;width:52%;height:2px;background:var(--d);border-radius:1px}
.side-icons{position:fixed;z-index:55;right:calc(106 * var(--u));top:calc(250 * var(--u));list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:calc(18 * var(--u))}
.side-icons li{position:relative}
.side-icons a{display:block;position:relative;width:calc(48 * var(--u));height:calc(48 * var(--u));min-width:34px;min-height:34px;padding:calc(6 * var(--u));background:var(--y);border:1px solid var(--d);border-radius:calc(7 * var(--u));color:var(--d);transition:transform .15s}
.side-icons a > svg{position:relative;z-index:1;display:block;width:100%;height:100%}
.side-icons__label{position:absolute;z-index:0;top:-1px;bottom:-1px;right:calc(100% - calc(7 * var(--u)));display:flex;align-items:center;white-space:nowrap;padding:0 calc(22 * var(--u)) 0 calc(18 * var(--u));background:var(--y);border:1px solid var(--d);border-right:0;border-radius:calc(7 * var(--u)) 0 0 calc(7 * var(--u));font-family:var(--f-body);font-weight:500;font-size:max(14px, calc(18 * var(--u)));color:var(--d);clip-path:inset(0 0 0 100%);transform:translateX(calc(24 * var(--u)));opacity:0;transition:clip-path .35s ease,transform .35s ease,opacity .2s;pointer-events:none}
.side-icons a:hover,.side-icons a:focus-visible{border-radius:0 calc(7 * var(--u)) calc(7 * var(--u)) 0}
.side-icons a:hover .side-icons__label,.side-icons a:focus-visible .side-icons__label{clip-path:inset(0 0 0 0);transform:none;opacity:1;pointer-events:auto}
.to-top{position:fixed;z-index:55;right:calc(106 * var(--u));bottom:calc(60 * var(--u));width:calc(48 * var(--u));height:calc(48 * var(--u));min-width:34px;min-height:34px;padding:calc(8 * var(--u));background:var(--w);border:1px solid #b9b9b9;color:#9a9a9a;opacity:0;pointer-events:none;transition:opacity .2s}
.is-scrolled .to-top{opacity:1;pointer-events:auto}

/* ---------- Navigation (Overlay) ---------- */
.navi{position:fixed;inset:0;z-index:70;background-color:var(--d);background-image:radial-gradient(rgba(255,255,255,.55) 1.4px,transparent 1.6px);background-size:calc(22 * var(--u)) calc(22 * var(--u));overflow:auto;color:var(--w)}
.navi::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 45% 65% at 50% 40%,var(--d) 55%,rgba(60,60,59,0) 100%);pointer-events:none}
.navi[hidden]{display:none}
.navi__logo{position:absolute;left:50%;top:0;transform:translateX(-50%);width:calc(594 * var(--u));height:calc(84 * var(--u));background:var(--w);border-radius:0 0 calc(18 * var(--u)) calc(18 * var(--u));display:flex;align-items:center;justify-content:center;z-index:1}
.navi__logo .logo{height:calc(40 * var(--u))}
.navi__close{position:absolute;z-index:2;right:calc(90 * var(--u));top:calc(86 * var(--u));width:calc(80 * var(--u));height:calc(78 * var(--u));min-width:46px;min-height:46px;background:var(--w);border:1px solid var(--d);border-radius:calc(10 * var(--u));padding:calc(20 * var(--u));color:var(--d);cursor:pointer}
.navi__cols{position:relative;z-index:1;display:grid;grid-template-columns:calc(236 * var(--u)) 1fr;gap:0;width:var(--wrap);margin:calc(160 * var(--u)) auto 0;padding-bottom:calc(260 * var(--u))}
.navi ul{list-style:none;margin:0;padding:0}
.navi__services{columns:2;column-gap:calc(110 * var(--u))}
.navi a{font-family:var(--f-alt);font-weight:600;font-size:max(18px, calc(27 * var(--u)));line-height:1.67;text-decoration:none;color:var(--w);display:inline-block;break-inside:avoid}
.navi a:hover,.navi .current-menu-item>a{color:var(--y)}
.navi__sky{position:fixed;left:0;right:0;bottom:0;height:calc(203 * var(--u));background:var(--w);-webkit-mask:url(../img/skyline.png) center bottom/100% 100% no-repeat;mask:url(../img/skyline.png) center bottom/100% 100% no-repeat;pointer-events:none}
.nav-open{overflow:hidden}

/* ---------- Hero ---------- */
.hero{position:relative;height:calc(804 * var(--u));overflow:hidden;background:var(--y)}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__sky{position:absolute;left:0;right:0;bottom:-1px;height:calc(204 * var(--u));background:var(--d);-webkit-mask:url(../img/skyline.png) center bottom/100% 100% no-repeat;mask:url(../img/skyline.png) center bottom/100% 100% no-repeat}
.hero--plain{height:calc(380 * var(--u))}
.hero__title{position:absolute;left:0;right:0;top:calc(222 * var(--u));margin:0;text-align:center;font-family:var(--f-alt);font-weight:700;font-size:calc(81 * var(--u));line-height:1.16;letter-spacing:.02em;color:var(--d)}

/* ---------- Inhalt allgemein ---------- */
.content{padding-bottom:calc(60 * var(--u))}
.content > *:not(.wp-intro):not(.wp-sec--a):not(.wp-sec--b){width:var(--wrap);margin-left:auto;margin-right:auto}
.wp-block-heading,h2,h3{margin:0}
p{margin:0}
.wp-sec h2,.wp-faq h2,.wp-cta h2,.wp-cta__icons--left{justify-content:flex-start}
.wp-direct h2{font-family:var(--f-head);font-weight:600;font-size:calc(55 * var(--u));line-height:1.2;text-transform:uppercase;letter-spacing:.01em;max-width:calc(820 * var(--u))}
.wp-block-list{list-style:none;margin:0;padding:0}

/* Dunkles Intro unter der Skyline */
.wp-intro{background:var(--d);color:var(--w);text-align:center;padding:calc(56 * var(--u)) 0 calc(78 * var(--u))}
.wp-intro .intro-title{font-family:var(--f-alt);font-weight:700;font-size:calc(50 * var(--u));line-height:1.86;margin:0 auto calc(14 * var(--u));max-width:calc(1300 * var(--u))}
.wp-intro .intro-title .l1,.wp-intro .intro-title .l2{display:block}
.wp-intro p{font-size:max(15px, calc(17.3 * var(--u)));line-height:2.08;max-width:calc(1160 * var(--u));margin:0 auto}
.page-startseite .wp-intro{padding-top:calc(40 * var(--u))}
.page-startseite .wp-intro .intro-title{margin-bottom:calc(30 * var(--u))}

/* Leistungs-Kacheln (Startseite) */
.wp-services{padding-top:calc(152 * var(--u));text-align:center}
.wp-services .center-title{font-family:var(--f-alt);font-weight:700;font-size:calc(50 * var(--u));line-height:1.3;color:var(--y);margin-bottom:calc(30 * var(--u))}
.wp-services .center-lead{max-width:calc(920 * var(--u));margin:0 auto calc(46 * var(--u));line-height:2.12}
.wp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(16 * var(--u))}
.wp-card{position:relative;background:var(--w);box-shadow:0 calc(4 * var(--u)) calc(18 * var(--u)) rgba(0,0,0,.13);display:flex;flex-direction:column;align-items:center;min-height:calc(456 * var(--u));padding:0 0 calc(36 * var(--u))}
.wp-card .wp-card__icon{margin:0;width:calc(126 * var(--u));height:calc(126 * var(--u));background:var(--d);border-radius:0 0 calc(14 * var(--u)) calc(14 * var(--u));padding:0}
.wp-card .wp-card__icon img{width:100%;height:100%}
.wp-card h3{font-family:var(--f-alt);font-weight:600;font-size:calc(23 * var(--u));line-height:1.3;margin:calc(40 * var(--u)) calc(20 * var(--u)) calc(14 * var(--u))}
.wp-card p{font-size:max(13px, calc(16.2 * var(--u)));line-height:1.56;padding:0 calc(58 * var(--u));margin-bottom:calc(20 * var(--u))}
.wp-card .wp-card__more{position:absolute;left:0;right:0;bottom:calc(22 * var(--u));margin:0;padding:0}
.wp-card .wp-card__more a{display:block;background:var(--y);color:var(--d);font-weight:700;font-size:max(13px, calc(15 * var(--u)));line-height:calc(36 * var(--u));text-decoration:none}
.wp-card .wp-card__more a::after{content:"";position:absolute;inset:calc(-440 * var(--u)) 0 0}
.wp-card:hover{box-shadow:0 calc(8 * var(--u)) calc(30 * var(--u)) rgba(0,0,0,.2)}
.wp-card:hover .wp-card__more a{background:var(--d);color:var(--y)}

/* ---------- Layout-Blöcke ---------- */
.wp-sec{position:relative;margin-top:var(--gap)}
.wp-sec .wp-sec__img{margin:0;position:absolute;top:calc(52 * var(--u));bottom:calc(48 * var(--u));width:calc(666 * var(--u));z-index:1}
.wp-sec .wp-sec__img img{width:100%;height:100%;object-fit:cover}
.wp-sec__box{position:relative}
.wp-sec h2{margin-bottom:calc(28 * var(--u))}
.wp-sec__box p{line-height:1.96}
.wp-sec__box p + p{margin-top:calc(0 * var(--u))}
.wp-sec__box * + h2{margin-top:calc(60 * var(--u))}
.wp-sec__box .wp-block-list{margin:0}
.wp-sec__box .wp-block-list li{position:relative;margin-bottom:calc(36 * var(--u))}
.wp-sec__box .wp-block-list li:last-child{margin-bottom:0}
.wp-sec__box .wp-block-list li::before{content:"";position:absolute;left:calc(-34 * var(--u));top:calc(6 * var(--u));width:calc(18 * var(--u));height:calc(26 * var(--u));background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
.wp-sec__box .wp-block-list li > strong:first-child{text-transform:uppercase}
.wp-sec__box p + .wp-block-list,.wp-sec__box .wp-block-list + p{margin-top:calc(36 * var(--u))}

/* A: Bild links, gelbe Box rechts */
.wp-sec--a{min-height:calc(400 * var(--u))}
.wp-sec--a .wp-sec__img{left:0}
.wp-sec--a .wp-sec__box{margin-left:calc(666 * var(--u));background:var(--y);clip-path:polygon(var(--cut) 0,100% 0,100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)),0 var(--cut));padding:calc(80 * var(--u)) calc(260 * var(--u)) calc(84 * var(--u)) calc(66 * var(--u));color:var(--d);min-height:calc(968 * var(--u) * .6)}
.wp-sec--a .wp-sec__box li::before{color:var(--w)}
/* B: graue Box links, Bild rechts */
.wp-sec--b .wp-sec__img{right:0}
.wp-sec--b .wp-sec__box{margin-right:calc(666 * var(--u));background:var(--g);clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%);padding:calc(80 * var(--u)) calc(64 * var(--u)) calc(84 * var(--u)) calc(268 * var(--u))}
.wp-sec--b h2{color:var(--y)}
.wp-sec--b .wp-sec__box li::before{color:var(--y)}
/* C: zentrierte Box ohne Bild */
.wp-sec--cy .wp-sec__box,.wp-sec--cg .wp-sec__box{clip-path:polygon(var(--cut) 0,calc(100% - var(--cut)) 0,100% var(--cut),100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,var(--cut) 100%,0 calc(100% - var(--cut)),0 var(--cut));padding:calc(84 * var(--u)) calc(236 * var(--u)) calc(88 * var(--u))}
.wp-sec--cy .wp-sec__box{background:var(--y)}
.wp-sec--cy li::before{color:var(--w)}
.wp-sec--cg .wp-sec__box{background:var(--g)}
.wp-sec--cg h2{color:var(--y)}
.wp-sec--cg li::before{color:var(--y)}

/* ---------- FAQ ---------- */
.wp-faq{margin-top:calc(180 * var(--u))}
.wp-faq h2{color:var(--y);padding-left:calc(10 * var(--u));margin-bottom:calc(16 * var(--u))}
.wp-faq__list{display:flex;flex-direction:column;gap:calc(13 * var(--u))}
.wp-block-details{background:var(--w);box-shadow:0 calc(2 * var(--u)) calc(14 * var(--u)) rgba(0,0,0,.11);padding:0 calc(20 * var(--u))}
.wp-block-details summary{list-style:none;cursor:pointer;min-height:calc(72 * var(--u));display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:500;text-transform:uppercase;font-size:max(14px, calc(18 * var(--u)));line-height:1.4;padding:calc(12 * var(--u)) 0}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:"";flex:none;width:calc(14 * var(--u));height:calc(14 * var(--u));min-width:10px;min-height:10px;border-right:2px solid var(--y);border-bottom:2px solid var(--y);transform:rotate(45deg) translateY(-25%);transition:transform .2s}
.wp-block-details[open] summary::after{transform:rotate(-135deg)}
.wp-block-details > p{padding:0 0 calc(24 * var(--u));line-height:1.9;max-width:calc(1200 * var(--u))}

/* ---------- Call-to-Action ---------- */
.wp-cta{text-align:center;padding-top:calc(150 * var(--u))}
.wp-cta__icons{display:flex;justify-content:center;gap:calc(8 * var(--u));margin-bottom:calc(18 * var(--u))}
.wp-cta__icons span{width:calc(76 * var(--u));height:calc(76 * var(--u));min-width:44px;min-height:44px;background:var(--d);-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.i-phone{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.6 3.5 6 4.3c-1.4.5-2.2 2-1.9 3.4C5.8 15.5 11 21.6 18.4 24.6c1.4.6 3-.1 3.6-1.4l1-2.5c.3-.7 0-1.6-.7-2l-3.4-2c-.6-.4-1.5-.3-2 .3l-1.2 1.4c-2.8-1.4-5-3.8-6.3-6.7l1.5-1.1c.6-.5.8-1.3.4-2L9.6 4.2c-.2-.5-.6-.8-1-.7Z'/%3E%3Cpath d='M15.5 4.5a8 8 0 0 1 7 7M15 8a4.5 4.5 0 0 1 4 4'/%3E%3C/svg%3E")}
.i-mail{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='22' height='16' rx='1'/%3E%3Cpath d='m3.5 6.5 10.5 9 10.5-9M3.5 21.5l8-7.5M24.5 21.5l-8-7.5'/%3E%3C/svg%3E")}
.wp-cta h2{color:var(--y);margin:0 auto calc(26 * var(--u));max-width:none}
.wp-cta p{font-family:var(--f-alt);font-weight:600;font-size:max(16px, calc(23 * var(--u)));line-height:2.2;max-width:calc(1240 * var(--u));margin:0 auto}
.wp-cta a.big{font-size:calc(40 * var(--u));color:var(--y);text-decoration:none;white-space:nowrap}
.wp-cta a.big:hover{text-decoration:underline}
.wp-cta p.small{font-family:var(--f-body);font-weight:400;font-size:max(13px, calc(16 * var(--u)));margin-top:calc(70 * var(--u))}
.btn{display:inline-block;background:var(--y);color:var(--d);padding:10px 28px;border-radius:8px;font-family:var(--f-body);font-weight:700;text-decoration:none}

/* ---------- Kontaktformular ---------- */
.wp-form{margin-top:calc(180 * var(--u))}
.cf{display:grid;grid-template-columns:calc(692 * var(--u)) 1fr;column-gap:calc(16 * var(--u));row-gap:calc(30 * var(--u));font-size:max(15px, calc(17.5 * var(--u)));line-height:1.5}
.cf__hp{position:absolute;left:-9999px}
.cf__fields{display:flex;flex-direction:column;gap:calc(18 * var(--u));padding-top:calc(30 * var(--u))}
.cf__row{display:grid;grid-template-columns:calc(220 * var(--u)) 1fr;gap:calc(16 * var(--u))}
.cf__f{display:block}
.cf input[type=text],.cf input[type=email],.cf input[type=tel],.cf textarea{width:100%;border:0;background:var(--g);font:inherit;color:var(--d);padding:0 calc(28 * var(--u));height:calc(50 * var(--u));min-height:44px;border-radius:0}
.cf textarea{height:auto;min-height:calc(100 * var(--u));padding-top:calc(14 * var(--u));resize:vertical}
.cf ::placeholder{color:#555;opacity:1}
.cf__interests{border:0;margin:0;padding:0;min-width:0}
.cf__interests legend{font-weight:700;text-transform:uppercase;padding:0;margin-bottom:calc(14 * var(--u))}
.cf__checks{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:column;grid-template-rows:repeat(9,auto);column-gap:calc(30 * var(--u));row-gap:calc(6 * var(--u))}
.cf__cb{display:flex;align-items:center;gap:calc(10 * var(--u));cursor:pointer}
.cf__cb input{appearance:none;-webkit-appearance:none;flex:none;width:calc(20 * var(--u));height:calc(20 * var(--u));min-width:18px;min-height:18px;border:1px solid #777;background:var(--w);margin:0;cursor:pointer}
.cf__cb input:checked{background:var(--y);border-color:#c79400}
.cf__foot{grid-column:2;display:grid;grid-template-columns:1fr auto;align-items:center;row-gap:calc(8 * var(--u))}
.cf__consent input{width:calc(28 * var(--u));height:calc(28 * var(--u))}
.cf__consent a{text-decoration:underline}
.cf__btn{background:var(--y);border:0;border-radius:calc(9 * var(--u));min-width:calc(196 * var(--u));height:calc(40 * var(--u));min-height:40px;padding:0 24px;font:700 max(14px, calc(17 * var(--u)))/1 var(--f-body);text-transform:uppercase;color:var(--d);cursor:pointer}
.cf__btn:hover{background:var(--d);color:var(--y)}
.cf__req{grid-column:1/-1;font-size:.9em}
.cf-msg{padding:16px 20px;margin-bottom:24px;border-left:6px solid var(--y);background:var(--g)}
.cf-msg--err{border-color:#c0392b}

/* ---------- Direkter Draht + Karte ---------- */
.wp-direct{display:grid;grid-template-columns:calc(692 * var(--u)) 1fr;gap:calc(16 * var(--u));margin-top:calc(160 * var(--u));align-items:start}
.wp-cta__icons--left{justify-content:flex-start}
.wp-direct h2{color:var(--y);margin-bottom:calc(16 * var(--u))}
.wp-direct p{font-family:var(--f-alt);font-weight:600;font-size:max(15px, calc(20 * var(--u)));line-height:2.4;margin-bottom:calc(30 * var(--u))}
.wp-direct a.big{font-size:calc(40 * var(--u));line-height:1.3;color:var(--y);text-decoration:none}
.wp-direct p.small{font-family:var(--f-body);font-weight:400;font-size:max(13px, calc(15 * var(--u)));margin-top:calc(30 * var(--u))}
.map{position:relative;aspect-ratio:692/660;background:#e9efe9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M0 30h60M30 0v60' stroke='%23d5ddd5' stroke-width='2'/%3E%3C/svg%3E")}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map__ph p{line-height:1.5;font-family:var(--f-body);font-weight:400;font-size:15px}
.map__ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:12px;font-size:15px;line-height:1.5}
.map__ph .ico{width:48px;height:48px;color:#d93025}
.map__btn{background:var(--y);border:0;border-radius:8px;padding:10px 24px;font:700 15px var(--f-body);cursor:pointer}
.map__note{font-size:12px;max-width:340px;color:#555}

/* ---------- Footer ---------- */
.site-foot{position:relative;background:var(--d);color:var(--w);text-align:center;padding:calc(18 * var(--u)) 20px calc(26 * var(--u));margin-top:calc(150 * var(--u));font-size:max(13px, calc(16 * var(--u)));line-height:1.6}
.site-foot__logo{display:inline-block}
.site-foot__logo .logo{height:calc(46 * var(--u));min-height:30px}
.site-foot__contact{font-style:normal;display:flex;justify-content:center;flex-wrap:wrap;gap:6px calc(34 * var(--u));margin:calc(30 * var(--u)) 0 calc(28 * var(--u))}
.site-foot__contact > *{display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.site-foot__contact .ico{width:calc(26 * var(--u));height:calc(26 * var(--u));min-width:18px;min-height:18px}
.site-foot__links ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;flex-wrap:wrap}
.site-foot__links li + li::before{content:"|";margin:0 8px}
.site-foot__links a{text-decoration:none}
.site-foot a:hover{color:var(--y)}
.powered{position:absolute;right:calc(30 * var(--u));bottom:calc(37 * var(--u));width:calc(202 * var(--u));height:calc(74 * var(--u));box-sizing:border-box;border:1px solid #9d9d9c;border-radius:calc(10 * var(--u));padding:calc(12 * var(--u)) 0 0;text-decoration:none;display:flex;flex-direction:column;align-items:center;color:var(--w)}
.powered small{font-family:var(--f-body);font-weight:500;font-size:calc(16 * var(--u));line-height:1;margin-bottom:calc(9 * var(--u))}
.powered img{display:block;width:calc(184 * var(--u));height:auto}

/* Rechtstexte / einfache Seiten */
.content--legal > *:not(.wp-intro){max-width:calc(1160 * var(--u));line-height:1.9}
.content--legal h2{font-family:var(--f-head);font-size:calc(36 * var(--u));text-transform:uppercase;color:var(--y);margin:calc(50 * var(--u)) 0 calc(14 * var(--u))}
.content--legal h3{font-family:var(--f-body);font-weight:700;margin:calc(30 * var(--u)) 0 calc(8 * var(--u))}
.content--legal p,.content--legal ul{margin-bottom:calc(16 * var(--u))}
.content--legal > .wp-intro + *{margin-top:calc(60 * var(--u))}
.content--legal > *:last-child{margin-bottom:calc(100 * var(--u))}
.content--legal h2{font-size:calc(30 * var(--u))}
.content--legal h2[id]{scroll-margin-top:calc(120 * var(--u))}
.html-sitemap{margin-top:calc(80 * var(--u));columns:2;line-height:2.2}

/* ==========================================================================
   Tablet & Mobil
   ========================================================================== */
@media (max-width: 900px){
	:root{--cut:18px;--wrap:calc(100% - 32px);--gap:56px}
	body{font-size:16px;line-height:1.75}
	.site-logo,.navi__logo{width:min(78vw,360px);height:54px;border-radius:0 0 12px 12px}
	.site-logo .logo,.navi__logo .logo{height:26px}
	.burger,.navi__close{right:12px;top:66px;width:48px;height:46px;border-radius:8px;gap:6px}
	.navi__close{padding:12px}
	.side-icons{right:auto;left:12px;top:auto;bottom:12px;flex-direction:row;gap:8px}
	.side-icons a{width:44px;height:44px;padding:6px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
	.to-top{right:12px;bottom:12px;width:44px;height:44px;padding:8px}
	.hero{height:min(72vw,520px)}
	.hero--plain{height:180px}
	.hero__sky{height:min(13vw,140px)}
	.hero__title{top:auto;bottom:22%;font-size:clamp(30px,8.4vw,56px);text-shadow:0 1px 0 rgba(255,255,255,.3)}
	.wp-intro{padding:20px 20px 40px}
	.wp-intro .intro-title{font-size:clamp(24px,6.4vw,36px);line-height:1.3;margin-bottom:16px}
	.wp-intro .intro-title .l2{margin-top:6px}
	.wp-intro p{font-size:15px;line-height:1.8;text-align:left;max-width:none}
	.wp-intro p + p{margin-top:12px}
	.wp-services{padding-top:56px}
	.wp-services .center-title{font-size:clamp(24px,6.4vw,36px)}
	.wp-services .center-lead{margin-bottom:28px;line-height:1.75;max-width:none}
	.page-startseite .hero__img{object-position:left center}
	.wp-cards{grid-template-columns:1fr;gap:16px}
	.wp-card{min-height:0;padding-bottom:64px}
	.wp-card .wp-card__icon{width:84px;height:84px;border-radius:0 0 10px 10px}
	.wp-card h3{font-size:20px;margin:20px 16px 8px}
	.wp-card p{font-size:15px;padding:0 20px;margin:0}
	.wp-card .wp-card__more{bottom:16px}
	.wp-card .wp-card__more a{line-height:40px;font-size:14px}
	.wp-sec h2,.wp-faq h2,.wp-cta h2,.wp-cta__icons--left{justify-content:flex-start}
.wp-direct h2{font-size:clamp(26px,7vw,38px);max-width:none}
	.wp-sec{margin-top:var(--gap)}
	.wp-sec .wp-sec__img{position:relative;inset:auto;width:auto;margin:0 16px -24px;aspect-ratio:4/3;z-index:1}
	.wp-sec--b .wp-sec__img{order:-1}
	.wp-sec--b{display:flex;flex-direction:column}
	.wp-sec--a .wp-sec__box,.wp-sec--b .wp-sec__box{margin:0;padding:52px 20px 36px 44px;min-height:0}
	.wp-sec--cy .wp-sec__box,.wp-sec--cg .wp-sec__box{padding:36px 20px 36px 44px}
	.wp-sec__box .wp-block-list li{margin-bottom:18px}
	.wp-sec__box .wp-block-list li::before{left:-22px;top:5px;width:12px;height:17px}
	.wp-sec__box * + h2{margin-top:36px}
	.wp-sec h2{margin-bottom:16px}
	.wp-faq{margin-top:64px}
	.wp-block-details{padding:0 14px}
	.wp-block-details summary{min-height:56px}
	.wp-cta{padding-top:64px}
	.wp-cta p{font-size:17px;line-height:1.8}
	.wp-cta a.big,.wp-direct a.big{font-size:clamp(19px,5.6vw,32px);white-space:normal;overflow-wrap:anywhere}
	.wp-cta p.small{margin-top:28px}
	.wp-form{margin-top:64px}
	.cf{grid-template-columns:1fr;row-gap:24px}
	.cf__fields{padding-top:0;gap:12px}
	.cf__row{grid-template-columns:110px 1fr;gap:12px}
	.cf input[type=text],.cf input[type=email],.cf input[type=tel],.cf textarea{padding:0 14px;height:48px}
	.cf textarea{padding-top:12px;min-height:120px}
	.cf__checks{grid-template-columns:1fr;grid-auto-flow:row;grid-template-rows:none;row-gap:10px}
	.cf__foot{grid-column:1;grid-template-columns:1fr;row-gap:16px}
	.cf__btn{width:100%;height:48px;border-radius:8px}
	.wp-direct{grid-template-columns:1fr;margin-top:64px;gap:28px}
	.wp-direct p{font-size:16px;line-height:1.9}
	.map{aspect-ratio:4/3}
	.site-foot{margin-top:72px;padding:22px 16px 80px}
	.site-foot__contact{flex-direction:column;align-items:center;gap:8px}
	.powered{position:static;display:inline-flex;margin-top:18px;width:170px;height:62px;border-radius:9px;padding-top:9px}
	.powered small{font-size:13px;margin-bottom:8px}
	.powered img{width:156px}
	.side-icons__label{display:none}
	.navi{background-size:18px 18px}
	.navi__cols{grid-template-columns:1fr;width:calc(100% - 48px);margin-top:120px;padding-bottom:180px;gap:18px}
	.navi__services{columns:1}
	.navi a{font-size:20px;line-height:2}
	.navi__sky{height:min(22vw,120px)}
	.content--legal > *:not(.wp-intro){max-width:none}
	.content--legal h2{font-size:22px;line-height:1.25;margin:32px 0 10px;hyphens:auto;overflow-wrap:anywhere}
	.content--legal > .wp-intro + *{margin-top:28px}
	.html-sitemap{columns:1}
}
@media (min-width: 600px) and (max-width: 900px){
	.wp-cards{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.site-head,.side-icons,.to-top,.burger,.navi,.hero__sky{display:none!important}.hero{height:auto}.wp-sec .wp-sec__img{position:static;width:40%}}
