:root { --meisterstudio-blau: #002e72; --textgrau: #555b61; --weiss: #ffffff; --fliesstext: clamp(16px,1.12vw,18px); }
* { box-sizing: border-box; }
img { height:auto; }
html, body { width: 100%; min-height: 100%; margin: 0; }
body { background: var(--weiss); color: var(--textgrau); font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif; }
.startseite { display: grid; grid-template-columns: 50% 50%; width: 100%; min-height: 100vh; border-bottom: 8px solid var(--meisterstudio-blau); }
.textseite, .bildseite { position: relative; min-height: calc(100vh - 8px); }
.textseite { background: var(--weiss); }
.bildseite { background: url("assets/IMG_7350.jpeg") center center / cover no-repeat; }
.logo { position: absolute; top: clamp(39px, 5.25vh, 55px); left: clamp(32px, 3.15vw, 50px); display: block; text-decoration: none; }
.logo img { display: block; width: clamp(275px, 21vw, 323px); height: auto; }
.navigation { position: absolute; top: clamp(49px, 6.25vh, 65px); display: grid; align-items: center; font-size: clamp(13px, 1.05vw, 16px); font-weight: 400; letter-spacing: .015em; }
.navigation a { color: inherit; text-decoration: none; }
.navigation-links { left: 56%; right: 5%; grid-template-columns: repeat(2, 1fr); color: #002e72; }
.navigation-rechts { left: 5%; width: 59%; grid-template-columns: repeat(3, 1fr); color: #002e72; }
.navigation a { text-align: center; }
.titelblock { position: absolute; top: 38.2%; left: clamp(35px, 3.65vw, 57px); right: 24px; }
h1 { margin: 0; color: #002e72; font-size: clamp(62px, 5.85vw, 90px); font-weight: 400; line-height: 1.06; letter-spacing: -.035em; }
.akzentlinie { display: block; width: clamp(76px, 7vw, 108px); height: 3px; margin-top: clamp(30px, 4.5vh, 47px); background: #002e72; }
.titelblock p { margin: clamp(31px, 4.6vh, 48px) 0 0; color: var(--textgrau); font-size: clamp(14px, 1.3vw, 20px); font-weight: 500; line-height: 1.4; letter-spacing: .13em; white-space: nowrap; }
.bildunterschrift { position: absolute; right: clamp(37px, 4vw, 62px); bottom: clamp(25px, 3vh, 31px); margin: 0; color: #fff; font-size: clamp(12px,1.05vw,16px); font-weight: 600; letter-spacing: .08em; text-shadow: 0 1px 4px rgba(0,0,0,.9), 0 0 12px rgba(0,0,0,.45); }
.agentur-seite { display: grid; grid-template-columns: 50% 50%; width: 100%; border-bottom: 8px solid var(--meisterstudio-blau); background: var(--weiss); }
.agentur-bild { position: relative; align-self: start; overflow: hidden; }
.agentur-bild img { display: block; width: 100%; height: auto; }
.agentur-bild::after { content: ""; position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; height: 20%; background: linear-gradient(to bottom, transparent 0%, rgba(12,10,8,.18) 18%, rgba(12,10,8,.68) 42%, rgba(12,10,8,.97) 62%, rgba(12,10,8,.98) 100%); pointer-events: none; }
.agentur-bildtext { position: absolute; z-index: 2; left: 5%; bottom: 4.2%; display: flex; flex-direction: column; color: var(--weiss); }
.agentur-bildtext strong { font-size: clamp(14px, 1.35vw, 20px); font-weight: 500; letter-spacing: .07em; }
.agentur-bildtext span { margin-top: 5px; font-size: clamp(11px, 1vw, 15px); font-weight: 400; letter-spacing: .01em; }
.agentur-inhalt { position: relative; min-height: 100%; color: var(--textgrau); }
.agentur-text { position: absolute; top: 20.5%; left: 10%; right: 7%; }
.agentur-rubrik { margin: 0 0 4vh; color: var(--meisterstudio-blau); font-size: clamp(14px,1.15vw,18px); font-weight: 500; letter-spacing: .08em; }
.agentur-text h2 { margin: 0; color: var(--meisterstudio-blau); font-size: clamp(45px, 3.65vw, 58px); font-weight: 400; line-height: 1.16; letter-spacing: -.035em; }
.agentur-linie { display: block; width: 55px; height: 3px; margin: 4vh 0 3vh; background: var(--meisterstudio-blau); }
.agentur-text > p:not(.agentur-rubrik) { width: 82%; margin: 0 0 clamp(34px, 4.9vh, 52px); color: var(--textgrau); font-size: var(--fliesstext); font-weight: 400; line-height: 1.45; text-align: justify; text-align-last: left; hyphens: auto; }
.leistungen-seite { position: relative; min-height: 100vh; padding: 4vh 3.35vw 5.7vh; border-bottom: 8px solid var(--meisterstudio-blau); color: #20252b; background: #fff; }
.leistungen-kopf p { margin: 0 0 4vh; color: var(--meisterstudio-blau); font-size: clamp(14px,1.15vw,18px); font-weight: 500; letter-spacing: .08em; }
.leistungen-kopf h2 { margin: 0; color: var(--meisterstudio-blau); font-size: clamp(48px, 4.8vw, 74px); font-weight: 400; line-height: 1.02; letter-spacing: -.035em; }
.leistungen-kopf > i { display: block; width: 55px; height: 3px; margin: 4vh 0 3vh; background: var(--meisterstudio-blau); }
.leistungen-kopf div { font-size: var(--fliesstext); line-height: 1.55; }
.leistungen-raster { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(2, minmax(0, 1fr)); margin-top: 1vh; }
.leistung { display: grid; grid-template-columns: 48% 52%; width: 100%; height: 100%; min-height: 24vh; padding: 1vh 2vw 1.2vh; border-bottom: 1px solid #ccd0d5; }
.leistung:nth-child(odd) { box-shadow: inset -1px 0 #ccd0d5; }
.leistung:nth-child(even) { padding-left: 2vw; }
.leistung:nth-child(n+3) { border-bottom: 0; }
.leistung img { display: block; align-self: center; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 50%; }
.leistung img.leistung-print-funke { object-fit: cover; object-position: 50% 50%; }
.leistung img.leistung-marke-abeling { object-fit: cover; object-position: 50% 50%; }
.leistung img.leistung-media-porsche { object-position: 35% 38%; }
.leistung-text { align-self: center; padding-left: 2.1vw; }
.leistung-icon { display: grid; place-items: center; width: clamp(50px, 4.1vw, 63px); height: clamp(50px, 4.1vw, 63px); border-radius: 50%; color: #fff; background: var(--meisterstudio-blau); font-size: clamp(25px, 2.1vw, 32px); font-style: normal; }
.leistung-icon svg { width: 55%; height: 55%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.leistung-text h3 { margin: 1.4vh 0 1.2vh; color: var(--meisterstudio-blau); font-size: clamp(17px, 1.48vw, 23px); font-weight: 600; line-height: 1.15; }
.leistung-text > i { display: block; width: 35px; height: 2px; margin-bottom: 1.5vh; background: var(--meisterstudio-blau); }
.leistung-text p { margin: 0; font-size: clamp(12px, 1vw, 16px); line-height: 1.45; }
.leistungen-fokus { display: grid; grid-template-columns: auto 1.45fr 1px 1.75fr auto; align-items: center; gap: 2.5vw; min-height: 12.5vh; margin: 1.4vh -3.35vw -5.7vh; padding: 1.8vh 7.8vw; color: #fff; background: var(--meisterstudio-blau); }
.fokus-pfeil { display: grid; place-items: center; width: 58px; height: 58px; border: 2px solid #fff; border-radius: 50%; color: #fff; font-size: 34px; }
.leistungen-fokus div { display: flex; flex-direction: column; }
.fokus-headline strong { color: #fff; font-size: clamp(19px, 1.65vw, 25px); font-weight: 400; line-height: 1.25; }
.leistungen-fokus small { font-size: clamp(13px, 1.15vw, 18px); }
.leistungen-fokus strong { color: #fff; font-size: clamp(20px, 2vw, 31px); font-weight: 400; }
.leistungen-fokus > i { width: 1px; height: 70px; background: rgba(255,255,255,.55); }
.leistungen-fokus p { margin: 0; font-size: clamp(13px, 1.1vw, 17px); line-height: 1.55; }
.sylt-symbol { color: var(--meisterstudio-blau); font-size: 42px; }
.dooh-seite { position: relative; min-height: 100vh; overflow: hidden; color: var(--meisterstudio-blau); background: #fff; }
.dooh-hintergrund { position: absolute; z-index: 0; top: 0; right: 0; width: 64%; height: calc(100% - 18vh); background: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.88) 13%,rgba(255,255,255,0) 41%), url("assets/dooh/seite-4-led-list-mercedes-original-neu.jpg") center right / cover no-repeat; }
.dooh-inhalt { position: relative; z-index: 1; padding: 4.2vh 2.85vw 20vh; }
.dooh-rubrik { margin: 0 0 4vh; font-size: clamp(14px,1.15vw,18px); font-weight: 500; letter-spacing: .08em; }
.dooh-kurzlinie { display: block; width: 55px; height: 3px; margin: 4vh 0 3vh; background: var(--meisterstudio-blau); }
.dooh-inhalt h2 { margin: 0; color: var(--meisterstudio-blau); font-size: clamp(50px,5.25vw,81px); font-weight: 400; line-height: 1.02; letter-spacing: -.035em; }
.dooh-einleitung { margin: 0; color: var(--textgrau); font-size: var(--fliesstext); line-height: 1.55; }
.dooh-orte { display: grid; grid-template-columns: 245px 1px 265px; align-items: center; margin: 4vh 0 0 2.7vw; }
.dooh-orte > div { display: flex; flex-direction: column; align-items: center; gap: 1.4vh; }
.dooh-orte img { width: 72px; height: 72px; object-fit: contain; }
.dooh-orte svg { width: 72px; height: 72px; fill: none; stroke: var(--meisterstudio-blau); stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }
.dooh-orte strong { color: var(--meisterstudio-blau); font-size: clamp(16px,1.45vw,22px); font-weight: 600; }
.dooh-orte small { margin-top: -.7vh; color: var(--textgrau); font-size: clamp(11px,.85vw,14px); font-weight: 400; letter-spacing: .04em; }
.dooh-orte > i { width: 1px; height: 122px; background: #b8bec6; }
.formate-linie { width: 46px; height: 2px; margin-top: 3.8vh; margin-bottom: 2.2vh; }
.dooh-formate { margin: 0; color: var(--textgrau); font-size: clamp(13px,1.15vw,18px); white-space: nowrap; }
.dooh-vorteile { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; min-height: 18vh; display: grid; grid-template-columns: repeat(3,1fr); color: #fff; background: var(--meisterstudio-blau); }
.dooh-vorteile article { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1.8vw; padding: 2.4vh 3.7vw; }
.dooh-vorteile article+article { border-left: 1px solid rgba(255,255,255,.45); }
.dooh-vorteile article > img { display: block; width: 86px; height: 86px; object-fit: contain; }
.dooh-vorteile strong { font-size: clamp(15px,1.25vw,20px); font-weight: 600; }
.dooh-vorteile p { margin: 1vh 0 0; font-size: clamp(13px,1.05vw,17px); line-height: 1.55; }
.hannover-seite { display: grid; grid-template-columns: 36.8% 63.2%; min-height: 100vh; border-bottom: 8px solid var(--meisterstudio-blau); background: var(--weiss); }
.hannover-inhalt { position: relative; min-height: calc(100vh - 8px); padding: 8vh 3.2vw 17vh; }
.hannover-rubrik { margin: 0 0 4vh; color: var(--meisterstudio-blau); font-size: clamp(14px,1.15vw,18px); font-weight: 500; letter-spacing: .08em; }
.hannover-inhalt h2 { margin: 0; color: var(--meisterstudio-blau); font-size: clamp(48px,4.45vw,68px); font-weight: 400; line-height: 1.03; letter-spacing: -.035em; }
.hannover-linie { display: block; width: 55px; height: 3px; margin: 4vh 0 3vh; background: var(--meisterstudio-blau); }
.hannover-inhalt h3 { margin: 0 0 3.1vh; color: var(--meisterstudio-blau); font-size: clamp(14px,1.15vw,18px); font-weight: 500; line-height: 1.35; letter-spacing: .08em; }
.hannover-text { color: var(--textgrau); font-size: var(--fliesstext); line-height: 1.55; }
.hannover-text p { margin: 0 0 3.3vh; }
.hannover-fakten { position: absolute; left: 2.2vw; right: 2.2vw; bottom: 7.5vh; display: grid; grid-template-columns: .9fr .85fr 1.25fr 1fr; align-items: end; }
.hannover-fakten > div { display: flex; min-height: 92px; flex-direction: column; align-items: center; justify-content: flex-end; padding: 0 .6vw; text-align: center; }
.hannover-fakten > div + div { border-left: 1px solid #b8bec6; }
.hannover-fakten img { width: 43px; height: 43px; margin-bottom: 1.2vh; object-fit: contain; }
.hannover-fakten strong { color: var(--meisterstudio-blau); font-size: clamp(9px,.75vw,12px); font-weight: 500; line-height: 1.35; }
.hannover-bild { position: relative; min-height: calc(100vh - 8px); margin: 0; overflow: hidden; }
.hannover-bild > img { display: block; width: 100%; height: 100%; min-height: calc(100vh - 8px); object-fit: cover; object-position: left center; }
.hannover-bild figcaption { position: absolute; right: 3vw; bottom: 2.6vh; color: #fff; font-size: clamp(10px,.9vw,14px); font-weight: 500; letter-spacing: .02em; text-shadow: 0 1px 8px rgba(0,0,0,.5); }
.referenzen-seite { min-height: 100vh; padding: 8vh 3.35vw 0; border-bottom: 8px solid var(--meisterstudio-blau); background: var(--weiss); }
.referenzen-seite { display: grid; grid-template-columns: 22.5% 77.5%; grid-template-rows: 1fr auto; }
.referenzen-kopf { padding-right: 2.8vw; }
.referenzen-rubrik { margin: 0 0 4vh; color: var(--meisterstudio-blau); font-size: clamp(14px,1.15vw,18px); font-weight: 500; letter-spacing: .08em; }
.referenzen-kopf h2 { margin: 0; color: var(--meisterstudio-blau); font-size: clamp(45px,4.2vw,65px); font-weight: 400; line-height: 1.04; letter-spacing: -.035em; }
.referenzen-linie { display: block; width: 55px; height: 3px; margin: 4vh 0 3vh; background: var(--meisterstudio-blau); }
.referenzen-einleitung { margin: 0; color: var(--textgrau); font-size: var(--fliesstext); line-height: 1.55; }
.referenzen-projekte { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1vw; align-self: start; }
.referenz-karte { min-width: 0; }
.referenz-karte > img { display: block; width: 100%; height: clamp(340px,47vh,490px); object-fit: cover; }
.referenz-karte > img.referenz-maxxiposter-list { object-position: 68% center; }
.referenz-karte > img.referenz-citylight-disney { object-position: 57% center; }
.referenz-karte > img.referenz-dooh-flughafen { object-fit: cover; object-position: 43% center; background: none; }
.referenz-karte h3 { min-height: 3.15em; margin: 2.1vh .35vw .9vh; color: var(--meisterstudio-blau); font-size: clamp(13px,1.05vw,17px); font-weight: 600; line-height: 1.15; }
.referenz-karte h3 span { display: block; }
.referenz-karte h3 span + span { margin-top: .35em; font-size: .84em; letter-spacing: .025em; }
.referenz-karte > div { display: flex; align-items: center; min-height: 40px; margin: 0 .35vw; border-right: 1px solid #c8cdd3; }
.referenz-karte:last-child > div { border-right: 0; }
.referenz-karte p { margin: 0; color: var(--textgrau); font-size: clamp(10px,.78vw,13px); white-space: nowrap; }
.referenzen-marken { grid-column: 1 / -1; display: grid; grid-template-columns: 12.5% 1fr; align-items: center; min-height: 18.5vh; margin-top: 4.5vh; border-top: 1px solid #bcc5cf; }
.marken-titel { display: flex; flex-direction: column; align-self: center; }
.marken-titel strong { color: var(--meisterstudio-blau); font-size: clamp(15px,1.25vw,20px); font-weight: 600; line-height: 1.35; }
.marken-titel span { margin-top: .7vh; color: var(--meisterstudio-blau); font-size: clamp(11px,.88vw,14px); }
.marken-laufband { position: relative; width: 100%; overflow: hidden; mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent); }
.marken-laufband-spur { display: flex; width: max-content; align-items: center; animation: marken-scroll 78s linear infinite; will-change: transform; }
.marken-logo-set { display: flex; flex: 0 0 auto; align-items: center; gap: clamp(34px,3.2vw,58px); padding-right: clamp(34px,3.2vw,58px); }
.marken-logo-set img { display: block; width: clamp(82px,6.4vw,118px); height: clamp(42px,7.8vh,78px); object-fit: contain; object-position: center; }
.marken-logo-set img[src$="deutz-fahr.jpg"] { width: clamp(128px,9.2vw,162px); }
.marken-logo-set img[src$="pandora.jpg"] { width: clamp(132px,9.6vw,170px); }
.marken-logo-set img[src$="commerzbank.jpg"] { width: clamp(145px,10.4vw,184px); }
.marken-logo-set img[src$="the-north-face.jpg"] { width: clamp(78px,5.8vw,102px); height: clamp(50px,8.6vh,86px); }
.marken-logo-set img[src$="mccain.jpg"] { width: clamp(90px,7.2vw,132px); }
.marken-logo-set img[src$="maybach.jpg"] { width: clamp(62px,4.8vw,88px); }
.marken-logo-set img[src$="aida.jpg"] { width: clamp(105px,8vw,145px); }
.marken-logo-set img[src$="gaestehaus-funke.png"] { width: clamp(120px,9vw,165px); }
.marken-logo-set img[src$="abeling.jpg"] { width: clamp(72px,5.7vw,98px); height: clamp(58px,8.4vh,86px); }
.marken-logo-set img[src$="naturgewalten-sylt.jpg"] { width: clamp(145px,10.5vw,190px); }
.marken-logo-set img[src$="list-meereslust.jpg"] { width: clamp(135px,9.8vw,178px); }
@keyframes marken-scroll { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }
@media (prefers-reduced-motion: reduce) { .marken-laufband-spur { animation-play-state: paused; } }
.geschichte-seite { display: grid; grid-template-columns: 35% 65%; min-height: 100vh; padding: 4.2vh 3.9vw 3.2vh; border-bottom: 8px solid var(--meisterstudio-blau); background: var(--weiss); }
.geschichte-kopf { padding-right: 4.7vw; }
.geschichte-rubrik { margin: 0 0 4vh; color: var(--meisterstudio-blau); font-size: clamp(14px,1.15vw,18px); font-weight: 500; letter-spacing: .08em; }
.geschichte-kopf h2 { margin: 0; color: var(--meisterstudio-blau); font-size: clamp(31px,2.7vw,42px); font-weight: 400; line-height: 1.12; letter-spacing: -.035em; }
.geschichte-kopf h2 span { display: block; white-space: nowrap; }
.geschichte-linie { display: block; width: 55px; height: 3px; margin: 4vh 0 3vh; background: var(--meisterstudio-blau); }
.geschichte-einleitung { margin: 0; color: var(--textgrau); font-size: var(--fliesstext); line-height: 1.55; }
.geschichte-heute { margin: 3vh 0 1.3vh; color: var(--meisterstudio-blau); font-size: clamp(13px,1vw,16px); font-weight: 600; letter-spacing: .18em; }
.geschichte-portrait { margin: 0; }
.geschichte-portrait > img { display: block; width: 100%; height: clamp(265px,34vh,350px); object-fit: cover; object-position: center 48%; }
.geschichte-portrait figcaption { display: flex; flex-direction: column; margin-top: 1.2vh; color: var(--meisterstudio-blau); }
.geschichte-portrait strong { font-size: clamp(17px,1.45vw,22px); font-weight: 400; }
.geschichte-portrait span { margin-top: .4vh; font-size: clamp(13px,1.05vw,16px); }
.timeline { position: relative; display: grid; grid-template-rows: repeat(9,1fr); min-height: 91vh; }
.timeline::before { content: ""; position: absolute; top: 1.2vh; bottom: 2.4vh; left: 55%; width: 1px; background: var(--meisterstudio-blau); }
.timeline-eintrag { display: grid; grid-template-columns: 34% 15% 6% 45%; align-items: center; min-height: 9.7vh; color: var(--meisterstudio-blau); }
.timeline-logo { display: block; width: 74%; max-height: 6.1vh; object-fit: contain; object-position: center; justify-self: center; }
.timeline-logo[src$="meisterstudio-logo-1994.svg"], .timeline-logo[src$="meisterstudio-logo-2021-historie.svg"] { width: 58%; }
.timeline-eintrag time { justify-self: center; font-size: clamp(23px,2.2vw,34px); font-weight: 400; }
.timeline-eintrag > i { position: relative; z-index: 1; justify-self: center; width: 13px; height: 13px; border-radius: 50%; background: var(--meisterstudio-blau); }
.timeline-eintrag > i::after { content: ""; position: absolute; top: 6px; left: 13px; width: 48px; border-top: 1px dotted var(--meisterstudio-blau); }
.timeline-eintrag > div:last-child { padding-left: 2.6vw; }
.timeline-eintrag strong, .timeline-eintrag span { display: block; }
.timeline-eintrag strong { font-size: clamp(13px,1.05vw,16px); font-weight: 600; }
.timeline-eintrag span { margin-top: .55vh; color: var(--textgrau); font-size: clamp(11px,.9vw,14px); line-height: 1.15; }
.timeline-aktuell { min-height: 6.5vh; }
.timeline-aktuell .timeline-logo { visibility: visible; }
.kontakt-seite { display: grid; grid-template-columns: 45.25% 54.75%; min-height: 100vh; border-bottom: 8px solid var(--meisterstudio-blau); background: var(--weiss); }
.kontakt-bild { position: relative; min-height: calc(100vh - 8px); margin: 0; overflow: hidden; }
.kontakt-bild > img { display: block; width: 100%; height: 100%; min-height: calc(100vh - 8px); object-fit: cover; object-position: 50% center; }
.kontakt-bild figcaption { position: absolute; left: 8%; bottom: 4.8vh; margin: 0; color: #fff; font-size: clamp(12px,1.05vw,16px); font-weight: 600; letter-spacing: .08em; text-shadow: 0 1px 4px rgba(0,0,0,.9), 0 0 12px rgba(0,0,0,.45); }
.kontakt-inhalt { position: relative; min-height: calc(100vh - 8px); padding: 4.2vh 4vw 9.2vh; color: var(--meisterstudio-blau); }
.kontakt-rubrik { margin: 0 0 4vh; color: var(--meisterstudio-blau); font-size: clamp(14px,1.15vw,18px); font-weight: 500; letter-spacing: .08em; }
.kontakt-inhalt h2 { margin: 0; color: var(--meisterstudio-blau); font-size: clamp(48px,4.45vw,68px); font-weight: 400; line-height: 1.03; letter-spacing: -.035em; }
.kontakt-linie { display: block; width: 55px; height: 3px; margin: 4vh 0 3vh; background: var(--meisterstudio-blau); }
.kontakt-einleitung { margin: 0; color: var(--textgrau); font-size: var(--fliesstext); line-height: 1.55; }
.kontakt-logo { display: block; width: clamp(250px,20vw,310px); height: auto; margin-top: 5vh; }
.kontakt-daten { margin-top: 2.7vh; color: var(--meisterstudio-blau); font-size: clamp(14px,1.15vw,18px); font-style: normal; line-height: 1.42; }
.kontakt-daten p { margin: 0 0 2.6vh; }
.kontakt-daten ul { display: grid; gap: 1vh; margin: 0; padding: 0; list-style: none; }
.kontakt-daten li { display: flex; align-items: center; gap: 1vw; }
.kontakt-daten a { color: inherit; text-decoration: none; }
.kontakt-icon { display: grid; place-items: center; flex: 0 0 auto; width: 36px; height: 36px; border: 1.5px solid var(--meisterstudio-blau); border-radius: 50%; font-size: 17px; line-height: 1; }
.kontakt-icon svg { width: 58%; height: 58%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.kontakt-icon svg * { vector-effect: non-scaling-stroke; }
.kontakt-icon .icon-fill { fill: currentColor; stroke: none; }
.kontakt-aktionen { display: flex; align-items: center; gap: 2.8vw; margin-top: 3vh; }
.kontakt-button { display: flex; align-items: center; justify-content: space-between; width: clamp(220px,17.6vw,270px); min-height: 54px; padding: 0 1.6vw; color: var(--weiss); background: var(--meisterstudio-blau); font-size: clamp(13px,1.05vw,16px); text-decoration: none; }
.kontakt-button span { font-size: 24px; }
.kontakt-karte { display: flex; align-items: center; gap: .8vw; color: var(--meisterstudio-blau); font-size: clamp(13px,1.05vw,16px); text-decoration: none; white-space: nowrap; }
.standort-icon { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.kontakt-karte b { font-size: 24px; font-weight: 400; }
.kontakt-footer { position: absolute; left: 4vw; right: 4vw; bottom: 2.3vh; display: flex; justify-content: space-between; align-items: center; padding-top: 2.3vh; border-top: 1px solid #c4cbd3; color: var(--meisterstudio-blau); font-size: clamp(9px,.72vw,11px); }
.kontakt-footer nav { display: flex; gap: 1.7vw; }
.kontakt-footer a { color: inherit; text-decoration: none; }
.kontakt-footer nav a + a { padding-left: 1.7vw; border-left: 1px solid var(--meisterstudio-blau); }
.impressum-seite { min-height: 100vh; border-bottom: 8px solid var(--meisterstudio-blau); background: var(--weiss); }
.impressum-inhalt { position: relative; min-height: calc(100vh - 8px); padding: 7.5vh 7vw 11vh; }
.impressum-inhalt > h2 { margin: 0; color: var(--meisterstudio-blau); font-size: clamp(14px,1.15vw,18px); font-weight: 500; letter-spacing: .15em; }
.impressum-linie { display: block; width: 60px; height: 3px; margin-top: 2.7vh; background: var(--meisterstudio-blau); }
.impressum-angaben { display: grid; gap: 4.7vh; margin-top: 8.5vh; }
.impressum-angaben section { margin: 0; }
.impressum-angaben h3 { margin: 0 0 .7vh; color: var(--meisterstudio-blau); font-size: clamp(13px,1.1vw,17px); font-weight: 600; letter-spacing: .14em; }
.impressum-angaben p { margin: 0; color: var(--textgrau); font-size: var(--fliesstext); font-weight: 400; line-height: 1.55; }
.impressum-angaben a { color: var(--meisterstudio-blau); text-decoration: none; }
.impressum-footer { position: absolute; left: 7vw; right: 7vw; bottom: 5vh; padding-top: 3.2vh; border-top: 1px solid #9fb0c7; }
.impressum-footer nav { display: flex; justify-content: flex-end; }
.impressum-footer a { color: var(--meisterstudio-blau); font-size: clamp(10px,.8vw,12px); text-decoration: none; }
.impressum-footer a + a { margin-left: 1.8vw; padding-left: 1.8vw; border-left: 1px solid var(--meisterstudio-blau); }
.recht-seite { min-height: 100vh; border-bottom: 8px solid var(--meisterstudio-blau); background: var(--weiss); }
.recht-inhalt { position: relative; min-height: calc(100vh - 8px); padding: 3.2vh 3.4vw 8.8vh; }
.recht-inhalt > h2 { margin: 0; color: var(--meisterstudio-blau); font-size: clamp(18px,1.65vw,25px); font-weight: 500; letter-spacing: -.015em; }
.recht-linie { display: block; width: 55px; height: 3px; margin-top: 2.5vh; background: var(--meisterstudio-blau); }
.recht-einleitung { margin: 3.7vh 0 0; color: var(--textgrau); font-size: clamp(13px,1.08vw,17px); line-height: 1.45; }
.datenschutz-spalten { display: grid; grid-template-columns: 1fr 1fr; gap: 10.5vw; margin-top: 3.7vh; }
.datenschutz-spalten > div { display: grid; align-content: start; gap: 3.1vh; }
.datenschutz-spalten section { margin: 0; }
.datenschutz-spalten h3, .bildnachweise-angaben h3 { margin: 0 0 1.4vh; color: var(--meisterstudio-blau); font-size: clamp(12px,1.05vw,16px); font-weight: 600; letter-spacing: .015em; }
.datenschutz-spalten p { margin: 0 0 1.15vh; color: var(--textgrau); font-size: clamp(11px,.88vw,14px); line-height: 1.42; }
.datenschutz-spalten p:last-child { margin-bottom: 0; }
.datenschutz-spalten a { color: inherit; text-decoration: none; }
.recht-footer { position: absolute; left: 3.4vw; right: 3.4vw; bottom: 2.7vh; display: flex; justify-content: space-between; align-items: center; padding-top: 2.5vh; border-top: 1px solid var(--meisterstudio-blau); color: var(--meisterstudio-blau); }
.recht-footer strong { font-size: clamp(10px,.9vw,14px); font-weight: 600; letter-spacing: .02em; }
.recht-footer strong span { font-weight: 400; }
.recht-footer nav { display: flex; }
.recht-footer a { color: inherit; font-size: clamp(10px,.85vw,13px); text-decoration: none; }
.recht-footer a + a { margin-left: 2vw; padding-left: 2vw; border-left: 1px solid var(--meisterstudio-blau); }
.bildnachweise-angaben { display: grid; grid-template-columns: minmax(260px,.7fr) minmax(0,1.3fr); gap: 8vw; margin-top: 5.5vh; color: var(--textgrau); }
.bildnachweise-angaben section { margin: 0; }
.bildnachweise-angaben p { margin: 0 0 2.2vh; font-size: var(--fliesstext); line-height: 1.5; }
.bildnachweise-angaben a { color: var(--meisterstudio-blau); font-size: var(--fliesstext); text-decoration: underline; text-underline-offset: .16em; }
@media (max-width: 760px) {
  .startseite { display: flex; flex-direction: column; }
  .textseite, .bildseite { min-height: 50vh; }
  .navigation { top: 24px; font-size: 13px; }
  .navigation-links { left: 24px; }
  .navigation-links { right: auto; top: 84px; width: 210px; }
  .navigation-rechts { left: auto; right: 18px; width: 290px; }
  .logo { top: 22px; left: 24px; }
  .titelblock { left: 24px; right: 24px; }
  h1 { font-size: clamp(43px, 13vw, 64px); }
  .titelblock p { font-size: 16px; }
  .titelblock p { white-space: normal; }
  .bildseite { background-position: center 58%; }
  .bildunterschrift { right: 24px; bottom: 24px; }
  .agentur-seite { display: flex; flex-direction: column; }
  .agentur-bild { min-height: 0; }
  .agentur-inhalt { min-height: 78vh; }
  .agentur-text { top: 9%; left: 24px; right: 24px; }
  .agentur-text h2 { font-size: 42px; }
  .leistungen-seite { padding: 55px 24px 0; }
  .leistungen-raster { grid-template-columns: 1fr; grid-template-rows: none; margin-top: 40px; }
  .leistung, .leistung:nth-child(even) { grid-template-columns: 1fr; height: auto; padding: 24px 0; border-right: 0; box-shadow: none; }
  .leistung img { height: auto; }
  .leistung-text { padding: 24px 0 0; }
  .leistungen-fokus { grid-template-columns: auto 1fr; margin: 20px -24px 0; padding: 28px 24px; }
  .leistungen-fokus > i, .sylt-symbol { display: none; }
  .leistungen-fokus p { grid-column: 1 / -1; }
  .dooh-hintergrund { width: 100%; height: 52vh; opacity: .42; }
  .dooh-inhalt { padding: 50px 24px 40px; }
  .dooh-inhalt h2 { font-size: 44px; }
  .dooh-einleitung br { display: none; }
  .dooh-orte { grid-template-columns: 1fr 1px 1fr; margin: 42px 0 0; }
  .dooh-formate { white-space: normal; }
  .dooh-vorteile { position: relative; grid-template-columns: 1fr; margin-top: 40px; }
  .dooh-vorteile article+article { border-left: 0; border-top: 1px solid rgba(255,255,255,.45); }
  .hannover-seite { grid-template-columns: 1fr; }
  .hannover-inhalt { min-height: 900px; padding: 70px 24px 190px; }
  .hannover-rubrik { margin-bottom: 4vh; }
  .hannover-fakten { left: 12px; right: 12px; bottom: 45px; grid-template-columns: repeat(2,1fr); row-gap: 24px; }
  .hannover-fakten > div:nth-child(3) { border-left: 0; }
  .hannover-bild, .hannover-bild > img { min-height: 68vh; }
  .referenzen-seite { display: block; padding: 70px 24px 0; }
  .referenzen-kopf { padding: 0 0 45px; }
  .referenzen-kopf h2 { font-size: 44px; }
  .referenzen-projekte { grid-template-columns: 1fr 1fr; gap: 34px 16px; }
  .referenz-karte > img { height: 42vh; }
  .referenz-karte h3 { min-height: 0; }
  .referenz-karte > div { border-right: 0; }
  .referenz-karte p { white-space: normal; }
  .referenzen-marken { grid-template-columns: 1fr; gap: 24px; padding: 30px 0; }
  .marken-laufband { mask-image: none; }
  .marken-laufband-spur { animation-duration: 110s; }
  .marken-logo-set { gap: 28px; padding-right: 28px; }
  .marken-logo-set img { width: 86px; height: 56px; }
  .marken-logo-set img[src$="deutz-fahr.jpg"] { width: 132px; }
  .marken-logo-set img[src$="pandora.jpg"] { width: 136px; }
  .marken-logo-set img[src$="commerzbank.jpg"] { width: 148px; }
  .marken-logo-set img[src$="the-north-face.jpg"] { width: 72px; height: 64px; }
  .marken-logo-set img[src$="aida.jpg"] { width: 112px; }
  .marken-logo-set img[src$="gaestehaus-funke.png"] { width: 130px; }
  .marken-logo-set img[src$="abeling.jpg"] { width: 76px; height: 68px; }
  .marken-logo-set img[src$="naturgewalten-sylt.jpg"] { width: 150px; }
  .marken-logo-set img[src$="list-meereslust.jpg"] { width: 142px; }
  .bildnachweise-angaben { grid-template-columns: 1fr; gap: 38px; }
  .geschichte-seite { grid-template-columns: 1fr; padding: 70px 24px 40px; }
  .geschichte-kopf { padding-right: 0; }
  .geschichte-kopf h2 { font-size: 40px; }
  .geschichte-portrait > img { height: 52vh; }
  .timeline { margin-top: 60px; min-height: 980px; }
  .timeline::before { left: 44%; }
  .timeline-eintrag { grid-template-columns: 28% 15% 8% 49%; }
  .timeline-logo { width: 90%; }
  .timeline-eintrag > div:last-child { padding-left: 16px; }
  .timeline-eintrag > i::after { width: 20px; }
  .kontakt-seite { grid-template-columns: 1fr; }
  .kontakt-bild, .kontakt-bild > img { min-height: 72vh; }
  .kontakt-bild > img { object-position: center; }
  .kontakt-inhalt { min-height: 920px; padding: 70px 24px 115px; }
  .kontakt-inhalt h2 { font-size: 42px; }
  .kontakt-einleitung br { display: none; }
  .kontakt-aktionen { align-items: stretch; flex-direction: column; }
  .kontakt-button { width: 235px; padding: 0 20px; }
  .kontakt-footer { left: 24px; right: 24px; align-items: flex-start; flex-direction: column; gap: 14px; }
  .kontakt-footer nav { gap: 20px; }
  .impressum-inhalt { min-height: 900px; padding: 70px 24px 120px; }
  .impressum-angaben { margin-top: 65px; gap: 38px; }
  .impressum-footer { left: 24px; right: 24px; }
  .impressum-footer nav { justify-content: flex-start; }
  .recht-inhalt { min-height: 1000px; padding: 60px 24px 130px; }
  .datenschutz-spalten { grid-template-columns: 1fr; gap: 34px; }
  .datenschutz-spalten > div { gap: 30px; }
  .recht-footer { left: 24px; right: 24px; align-items: flex-start; flex-direction: column; gap: 14px; }
  .recht-footer a + a { margin-left: 18px; padding-left: 18px; }
}

/* Seite 2: Text oberhalb des unbeschnittenen BEARD-ELEGANCE-Motivs */
.agentur-seite { display:flex; flex-direction:column; }
.agentur-inhalt { min-height:0; }
.agentur-text { position:static; max-width:1220px; margin:0 auto; padding:clamp(48px,6vw,85px) clamp(24px,5vw,76px) clamp(24px,3vw,42px); }
.agentur-rubrik { margin-bottom:clamp(20px,2vw,32px); }
.agentur-text h2 br { display:none; }
.agentur-linie { margin:clamp(20px,2vw,30px) 0; }
.agentur-text > p:not(.agentur-rubrik) { width:100%; max-width:1050px; margin-bottom:18px; text-align:left; }
.agentur-bild { width:100%; max-width:1220px; margin:0 auto; }
.agentur-bild img { display:block; width:100%; height:auto; object-fit:contain; }
.agentur-bild::after { height:25%; }
.agentur-bildtext { left:4%; bottom:4%; }
.agentur-bildtext strong { font-size:clamp(12px,1.15vw,16px); }
.agentur-bildtext span { font-size:clamp(11px,1vw,14px); }
@media (max-width:700px) {
 .agentur-inhalt { min-height:0; }
 .agentur-text { position:static; padding:44px 24px 28px; }
 .agentur-text h2 { font-size:clamp(35px,9vw,46px); }
 .agentur-text h2 br { display:block; }
 .agentur-bildtext { left:4%; bottom:5%; }
 .agentur-bildtext strong { font-size:12px; }
 .agentur-bildtext span { font-size:10px; }
}

/* V96: Seite 2 volle Breite, kein Overlay – Bild enthält die Beschriftung bereits */
.agentur-seite { width:100%; max-width:none; }
.agentur-bild { width:100%; max-width:none; margin:0; overflow:visible; }
.agentur-bild::after { display:none; content:none; background:none; }
.agentur-bild img { display:block; width:100%; height:auto; max-width:none; object-fit:contain; }
.agentur-bildtext { display:none; }

/* V97: Agentur-Text bündig zur Startseite, Bild bleibt randlos */
.agentur-text { width:100%; max-width:none; margin:0; padding:clamp(48px,6vw,85px) clamp(35px,3.65vw,57px) clamp(24px,3vw,42px); }
.agentur-text > p:not(.agentur-rubrik) { max-width:1150px; }
@media(max-width:700px){ .agentur-text{padding:44px 24px 28px;} }

/* V98: Seite 2 an die Textflucht von Seite 3 angleichen; Bildpixel unveraendert */
@media (min-width:701px) {
 .agentur-text {box-sizing:border-box; width:100%; max-width:none; margin:0; padding-left:3.35vw; padding-right:3.35vw;}
}
@media (max-width:700px) {
 .agentur-text {box-sizing:border-box; padding-left:24px; padding-right:24px;}
}

/* V99: konsistente linke Textflucht in vollbreiten Textbereichen */
@media(min-width:701px) {
 .agentur-text, .referenzen-seite, .impressum-inhalt, .recht-inhalt { padding-left:3.35vw; }
 .agentur-text h2 { word-spacing:normal; }
}
@media(max-width:700px) {
 .agentur-text, .referenzen-seite, .impressum-inhalt, .recht-inhalt { padding-left:24px; }
}

/* Version 100: four image modules – wider images, consistent grid and left edge */
@media (min-width: 701px) {
  .leistungen-raster { column-gap: clamp(20px, 2.4vw, 44px); row-gap: clamp(18px, 2.3vh, 32px); margin-top: 3vh; }
  .leistung, .leistung:nth-child(even) {
    grid-template-columns: minmax(0, 56%) minmax(0, 44%);
    padding: 1.1vh 0 1.4vh;
    column-gap: clamp(14px, 1.5vw, 26px);
    min-width: 0;
  }
  .leistung:nth-child(odd) { padding-right: clamp(8px, 1vw, 18px); }
  .leistung:nth-child(even) { padding-left: 0; }
  .leistung img { width:100%; max-width:100%; height:auto; }
  .leistung-text { min-width:0; padding-left:0; }
}
/* The source photos remain original: mild, consistent presentation only. */
.leistung img.leistung-marke-abeling,
.leistung img.leistung-print-funke {
  filter: contrast(1.045) saturate(.94) brightness(1.025);
}

/* V101: Seite 3 – echte Bildverbreiterung und exakte linke Flucht */
@media (min-width: 761px) {
  .leistungen-raster .leistung { grid-template-columns: 55% minmax(0,45%); }
  .leistungen-raster .leistung:nth-child(odd) { padding-left: 0; }
  .leistungen-raster .leistung img { width: 100%; max-width: none; }
  .leistungen-raster .leistung-text { min-width: 0; padding-left: 1.5vw; }
}

/* V102: durchgehendes graues Trennkreuz im Vierer-Raster, ohne Bildbreite zu reduzieren */
@media (min-width: 769px) {
  .leistungen-raster { position: relative; column-gap: 0; row-gap: 0; }
  .leistungen-raster::before, .leistungen-raster::after { content: ""; position: absolute; z-index: 2; pointer-events: none; background: #ccd0d5; }
  .leistungen-raster::before { width: 1px; top: 0; bottom: 0; left: 50%; transform: translateX(-.5px); }
  .leistungen-raster::after { height: 1px; left: 0; right: 0; top: 50%; transform: translateY(-.5px); }
  .leistungen-raster .leistung { border: 0; box-shadow: none; }
  .leistungen-raster .leistung:nth-child(odd) { padding-left: 0; padding-right: clamp(16px, 2vw, 32px); }
  .leistungen-raster .leistung:nth-child(even) { padding-left: clamp(16px, 2vw, 32px); padding-right: 0; }
}
@media (max-width: 768px) { .leistungen-raster::before, .leistungen-raster::after { display: none; } }

/* V105: Blaues Band an die sichtbaren Bildkanten koppeln */
@media (min-width: 769px) {
  .leistungen-fokus { position: relative; display: flex; align-items: center; gap: 2.6vw; padding-left: 2vw; padding-right: 2vw; box-sizing: border-box; }
  .leistungen-fokus > .fokus-pfeil { flex: 0 0 58px; }
  .leistungen-fokus > .fokus-headline { flex: 0 1 auto; max-width: 36vw; }
  .leistungen-fokus > i { position: absolute; left: 52.1%; top: 50%; transform: translateY(-50%); margin: 0; }
  .leistungen-fokus > p { position: absolute; left: 54.05%; right: 2vw; top: 50%; transform: translateY(-50%); margin: 0; }
}

/* V106: band aligned to the exact same geometry as the four-image grid. */
@media (min-width: 769px) {
 .leistungen-fokus {position:relative;display:block;min-height:145px;margin-left:-3.35vw;margin-right:-3.35vw;padding:0;box-sizing:border-box;}
 .leistungen-fokus > .fokus-pfeil {position:absolute;left:3.35vw;top:50%;transform:translateY(-50%);margin:0;width:58px;height:58px;box-sizing:border-box;}
 .leistungen-fokus > .fokus-headline {position:absolute;left:calc(3.35vw + 94px);top:50%;transform:translateY(-50%);width:calc(46.65vw - 110px);max-width:none;margin:0;}
 .leistungen-fokus > i {position:absolute;left:50vw;top:50%;transform:translate(-50%,-50%);margin:0;width:1px;height:70px;}
 .leistungen-fokus > p {position:absolute;left:calc(50vw + clamp(16px, 2vw, 32px));right:3.35vw;top:50%;transform:translateY(-50%);margin:0;}
}

/* Version 117: Bildunterschrift Seite 2, ohne flächigen Balken */
.agentur-bild::after { display: none !important; }
.agentur-bildtext { left: 2.4%; bottom: 4.5%; text-shadow: 0 1px 4px rgba(0,0,0,.85), 0 0 8px rgba(0,0,0,.35); }
.agentur-bildtext strong { font-size: clamp(12px, 1.05vw, 16px); font-weight: 500; letter-spacing: .04em; }
.agentur-bildtext span { margin-top: 4px; font-size: clamp(10px, .9vw, 14px); font-weight: 400; letter-spacing: 0; }

/* V118: finale, sichtbare Bildunterschrift nur auf Seite 2 */
.agentur-bild .agentur-bildtext { display:flex !important; position:absolute; z-index:5; left:2.4%; bottom:4.5%; color:#fff; flex-direction:column; text-shadow:0 1px 3px rgba(0,0,0,.85); pointer-events:none; }
.agentur-bild .agentur-bildtext strong { font-size:clamp(12px,1.05vw,16px); font-weight:500; line-height:1.3; letter-spacing:.04em; }
.agentur-bild .agentur-bildtext span { font-size:clamp(10px,.9vw,14px); font-weight:400; line-height:1.4; margin-top:4px; }

/* BEARD ELEGANCE: caption is embedded in approved Canva PNG; avoid duplicate overlay */
.agentur-bild::after { display:none !important; }

/* V132: ausschließlich die beauftragten Typografie- und Piktogrammkorrekturen */



/* Logo carousel: original artwork, consistent white background and reliable uninterrupted loop */
.marken-logo-set img { background: transparent; flex-shrink: 0; }
.marken-laufband-spur { animation-name: marken-scroll; animation-timing-function: linear; animation-iteration-count: infinite; }

/* Logo carousel: original artwork, consistent white background and reliable uninterrupted loop */
.marken-logo-set img { background: transparent; flex-shrink: 0; }
.marken-laufband-spur { animation-name: marken-scroll; animation-timing-function: linear; animation-iteration-count: infinite; }

.marken-textlogo { display:flex; align-items:center; justify-content:center; flex:none; min-width:110px; height:78px; padding:0 10px; color:#092f68; font:600 17px/1.2 Arial,sans-serif; white-space:nowrap; }

/* V134: uniform spacing and identical icon rendering in all four service tiles */
@media (min-width:769px) { .leistungen-raster .leistung .leistung-text { padding-left: 1.5vw; } .leistungen-raster .leistung .leistung-text h3 { font-size: clamp(17px,1.48vw,23px); letter-spacing:normal; } .leistungen-raster .leistung:nth-child(3) h3 { white-space:nowrap; letter-spacing:-.025em; } .leistungen-raster .leistung:nth-child(3) p { white-space:nowrap; letter-spacing:-.018em; font-size:clamp(12px,.95vw,16px); } }

/* Nur Media-Originalpiktogramm: identische Kreisabmessung wie die anderen Kacheln */
.leistung-icon img.media-original-piktogramm { display:block; width:100%; height:100%; object-fit:contain; aspect-ratio:1; }

/* V137: Nur Media-Kachel: Bildausschnitt und LED-Piktogramm. */
.leistung img.leistung-media-led { object-position: 50% 48%; }
.leistung-icon img.media-original-piktogramm { width: 55%; height: 55%; aspect-ratio: 1; object-fit: contain; }

/* V140: Logo-Laufband: scharfe, transparente Logos ohne grüne Hintergrundflächen */
.marken-logo-set img { flex: 0 0 auto; background: transparent; }

/* V141: Original-Logos unverändert eingebunden; gleichmäßige Darstellung */
.marken-logo-set img[src*="logos-original-23/"] { width: clamp(100px, 8.5vw, 150px); height: 72px; object-fit: contain; flex: 0 0 auto; }
@media (max-width: 700px) { .marken-logo-set img[src*="logos-original-23/"] { width: 110px; height: 58px; } }

/* V142: only reference marquee logo presentation; originals remain untouched. */
.marken-logo-set img[src*="/logos-display-23/"] { width: 180px !important; height: 86px !important; max-width: none; object-fit: contain; flex: 0 0 180px; }
@media (max-width: 700px) { .marken-logo-set img[src*="/logos-display-23/"] { width: 144px !important; height: 69px !important; flex-basis: 144px; } }

/* V144: Einheitlicher sichtbarer Logoabstand; proportional skalierte Originalmarken. */
.marken-logo-set { gap: 42px !important; padding-right: 42px !important; align-items: center; }
.marken-logo-set img[src*="/logos-display-23/"] {
  display: block; width: auto !important; height: 72px !important;
  max-width: none !important; flex: 0 0 auto !important; object-fit: contain;
}
@media (max-width: 700px) {
  .marken-logo-set { gap: 30px !important; padding-right: 30px !important; }
  .marken-logo-set img[src*="/logos-display-23/"] { height: 58px !important; width: auto !important; }
}

/* V146: ausschließlich Abeling im Referenz-Laufband etwas größer. */
.marken-logo-set img[src$="/logos-display-23/logo-02.png"] { height: 82px !important; }
@media (max-width: 700px) {
  .marken-logo-set img[src$="/logos-display-23/logo-02.png"] { height: 66px !important; }
}

/* V150: dezente, zugängliche Einwilligungsoberfläche; übriges Layout unverändert */
.ms-consent[hidden]{display:none!important}
.ms-consent{position:fixed;z-index:10000;bottom:22px;left:50%;transform:translateX(-50%);width:min(560px,calc(100% - 28px));background:#fff;border:1px solid #d8dfe8;border-top:4px solid #002e72;box-shadow:0 12px 44px #002e722b;color:#333}
.ms-consent-inner{padding:20px 24px 18px}.ms-consent h2{font-size:19px;font-weight:600;color:#002e72;margin:0 0 10px}.ms-consent p{font-size:14px;line-height:1.55;margin:0 0 16px}.ms-consent a{display:inline-block;margin-top:12px;font-size:13px;color:#002e72}.ms-consent-actions{display:flex;gap:12px}.ms-consent-actions button{cursor:pointer;flex:1;padding:12px 16px;font:600 14px Arial,sans-serif;border:1px solid #002e72;border-radius:0;background:#fff;color:#002e72}.ms-consent-actions #ms-accept{background:#002e72;color:#fff}.ms-consent button:focus-visible,.ms-consent-settings:focus-visible{outline:3px solid #6f9de4;outline-offset:3px}.ms-consent-settings{position:fixed;z-index:9999;bottom:8px;right:10px;background:#fff;border:1px solid #c9d4e4;color:#002e72;font:12px Arial,sans-serif;padding:7px 10px;cursor:pointer;box-shadow:0 2px 8px #0002}@media(max-width:600px){.ms-consent{bottom:12px}.ms-consent-inner{padding:16px}.ms-consent-actions{gap:8px}}

/* V154 — mobile-only responsive rebuild. Desktop declarations above are unchanged. */
@media (max-width: 768px) {
  html, body { max-width:100%; overflow-x:clip; }
  body { --fliesstext:16px; }
  section, main, article, figure { min-width:0; }
  img { max-width:100%; }
  .startseite { min-height:0; }
  .textseite { min-height:440px; padding:22px 22px 36px; }
  .logo { position:static; display:block; width:min(270px,100%); margin:0 0 20px; }
  .logo img { width:100%; max-width:270px; }
  .navigation { position:static; width:auto; display:flex; flex-wrap:wrap; justify-content:flex-start; gap:10px 22px; font-size:12px; line-height:1.5; }
  .navigation-links { margin-bottom:8px; }
  .navigation-rechts { position:absolute; z-index:2; top:auto; bottom:18px; left:18px; right:18px; justify-content:center; gap:10px 20px; color:#002e72; background:rgba(255,255,255,.94); padding:10px 6px; }
  .titelblock { position:static; margin-top:36px; }
  .titelblock h1, h1 { font-size:clamp(40px,10.8vw,58px); line-height:1.07; }
  .titelblock .akzentlinie { margin-top:24px; }
  .titelblock p { white-space:normal; overflow-wrap:anywhere; }
  .bildseite { min-height:370px; }
  .agentur-text { padding:44px 22px 30px; }
  .agentur-text > p:not(.agentur-rubrik) { width:100%; text-align:left; hyphens:none; }
  .agentur-text h2 { font-size:clamp(34px,9vw,46px); }
  .leistungen-seite { min-height:0; padding:44px 22px 0; }
  .leistungen-kopf h2 { font-size:clamp(37px,10vw,55px); overflow-wrap:normal; }
  .leistungen-kopf div { max-width:100%; line-height:1.55; }
  .leistungen-kopf div br { display:none; }
  .leistungen-raster { display:grid; grid-template-columns:minmax(0,1fr); gap:0; margin-top:30px; }
  .leistung, .leistung:nth-child(even) { display:grid; grid-template-columns:minmax(0,1fr); padding:26px 0; min-height:0; height:auto; border-bottom:1px solid #ccd0d5; box-shadow:none; }
  .leistung img, .leistung img.leistung-print-funke, .leistung img.leistung-marke-abeling { width:100%; height:auto; aspect-ratio:auto var(--image-ratio); object-fit:contain; }
  .leistung-text { padding:22px 0 0 !important; }
  .leistung-text h3 { white-space:normal !important; font-size:21px !important; }
  .leistung-text p { white-space:normal !important; font-size:15px !important; }
  .leistungen-fokus { margin:18px -22px 0; padding:24px 22px; grid-template-columns:50px minmax(0,1fr); gap:12px; }
  .fokus-pfeil { width:48px; height:48px; font-size:28px; }
  .fokus-headline strong { font-size:clamp(19px,5vw,24px); }
  .dooh-seite { overflow:visible; min-height:0; }
  .dooh-hintergrund { position:relative; width:100%; height:250px; opacity:1; background: url("assets/dooh/seite-4-led-list-mercedes-original-neu.jpg") center center / contain no-repeat; background-color:#edf3fa; }
  .dooh-inhalt { padding:42px 22px 32px; }
  .dooh-inhalt h2 { font-size:clamp(37px,9.7vw,53px); line-height:1.08; }
  .dooh-einleitung { line-height:1.55; }
  .dooh-orte { grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr); gap:10px; margin:34px 0 0; }
  .dooh-orte strong { font-size:clamp(13px,3.5vw,18px); text-align:center; }
  .dooh-orte small { text-align:center; font-size:12px; }
  .dooh-orte img,.dooh-orte svg { width:58px; height:58px; }
  .dooh-formate { white-space:normal; line-height:1.5; }
  .dooh-vorteile { position:static; margin:0; }
  .dooh-vorteile article { padding:24px 22px; }
  .hannover-seite { display:block; min-height:0; }
  .hannover-inhalt { min-height:0; padding:44px 22px 38px; }
  .hannover-inhalt h2 { font-size:clamp(37px,9.7vw,53px); line-height:1.08; }
  .hannover-inhalt h3 { overflow-wrap:break-word; }
  .hannover-fakten { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 0; margin-top:36px; }
  .hannover-fakten > div { min-height:110px; padding:0 8px; }
  .hannover-fakten > div:nth-child(odd) { border-left:0; }
  .hannover-fakten strong { font-size:12px; }
  .hannover-bild { min-height:0; overflow:hidden; }
  .hannover-bild > img { width:100%; height:auto; min-height:0; object-fit:contain; }
  .hannover-bild figcaption { bottom:15px; right:14px; font-size:11px; }
  .referenzen-seite { padding:46px 22px 0; }
  .referenzen-kopf h2 { font-size:clamp(36px,9.4vw,50px); }
  .referenzen-projekte { grid-template-columns:minmax(0,1fr); gap:28px; }
  .referenz-karte > img { width:100%; height:auto; max-height:none; object-fit:contain; }
  .referenz-karte { min-width:0; }
  .geschichte-seite { display:block; padding:46px 22px 40px; }
  .geschichte-kopf h2 { font-size:clamp(35px,9vw,49px); }
  .geschichte-kopf h2 span { white-space:normal; }
  .geschichte-portrait > img { height:auto; max-height:480px; object-fit:contain; }
  .timeline { display:flex; flex-direction:column; gap:0; margin-top:38px; min-height:0; }
  .timeline::before { top:0; bottom:0; left:12px; }
  .timeline-eintrag { position:relative; display:grid; grid-template-columns:minmax(0,1fr); gap:8px; min-height:0; padding:0 0 32px 32px; }
  .timeline-eintrag > i { position:absolute; left:6px; top:8px; width:13px; height:13px; }
  .timeline-eintrag > i::after { display:none; }
  .timeline-eintrag time { justify-self:start; font-size:26px; font-weight:500; grid-row:1; }
  .timeline-logo, .timeline-logo[src$="meisterstudio-logo-1994.svg"], .timeline-logo[src$="meisterstudio-logo-2021-historie.svg"] { grid-row:2; justify-self:start; width:min(240px,88%); height:75px; max-height:none; object-fit:contain; object-position:left center; }
  .timeline-eintrag > div:last-child { grid-row:3; padding:0; }
  .timeline-eintrag strong { font-size:17px; line-height:1.35; }
  .timeline-eintrag span { font-size:14px; line-height:1.45; margin-top:5px; }
  .kontakt-bild, .kontakt-bild > img { min-height:0; height:auto; }
  .kontakt-bild > img { object-fit:contain; }
  .kontakt-inhalt { min-height:0; padding:44px 22px 38px; }
  .kontakt-inhalt h2 { font-size:clamp(37px,9vw,50px); }
  .kontakt-logo { max-width:100%; }
  .kontakt-footer, .impressum-footer, .recht-footer { position:static; margin-top:45px; }
  .kontakt-footer nav,.impressum-footer nav,.recht-footer nav { flex-wrap:wrap; }
  .impressum-inhalt,.recht-inhalt { min-height:0; padding:44px 22px 38px; }
  .impressum-angaben { margin-top:40px; }
  .datenschutz-spalten { grid-template-columns:minmax(0,1fr); }
  .recht-inhalt p,.impressum-inhalt p { overflow-wrap:anywhere; }
  .ms-consent-settings { bottom:8px; right:8px; font-size:11px; padding:5px 7px; max-width:48vw; }
}
@media (max-width:390px) {
  .textseite { padding-left:18px; padding-right:18px; }
  .dooh-inhalt,.hannover-inhalt,.leistungen-seite,.geschichte-seite,.kontakt-inhalt,.referenzen-seite { padding-left:18px; padding-right:18px; }
  .leistungen-fokus { margin-left:-18px; margin-right:-18px; }
  .dooh-inhalt h2,.hannover-inhalt h2 { font-size:36px; }
}

/* V155: mobile finishing pass; desktop unchanged */
@media (max-width: 768px) {
  .mobile-break br { display:none; }
  .mobile-break::after { content:" "; white-space:pre; }
  .startseite { position:relative; display:flex; flex-direction:column; }
  .startseite .textseite { min-height:0; padding:24px 24px 34px; }
  .startseite .logo { width:min(280px,100%); margin:0 0 22px; }
  .startseite .logo img { max-width:100%; }
  .startseite .navigation-links { position:static; display:flex; gap:22px; margin:0; padding:0; }
  .startseite .navigation a { text-align:left; font-size:12px; }
  .startseite .titelblock { margin-top:48px; }
  .startseite .titelblock h1 { font-size:clamp(37px,9vw,54px); line-height:1.1; }
  .startseite .titelblock p { font-size:clamp(12px,3vw,15px); line-height:1.65; letter-spacing:.065em; margin-top:26px; overflow-wrap:normal; }
  .startseite .bildseite { position:relative; min-height:0; height:clamp(340px,110vw,540px); background-position:center center; }
  .startseite .navigation-rechts { position:absolute; top:auto; bottom:0; left:0; right:0; width:100%; margin:0; display:flex; flex-wrap:nowrap; justify-content:space-around; gap:4px; background:#fff; padding:14px 8px; box-shadow:none; }
  .startseite .bildunterschrift { bottom:72px; right:18px; left:18px; text-align:right; font-size:11px; }
  .leistungen-kopf div { line-height:1.6; }
  .kontakt-einleitung { line-height:1.6; }
  .ms-consent-settings { position:fixed; right:8px; bottom:8px; max-width:none; width:38px; height:38px; padding:0; overflow:hidden; white-space:nowrap; font-size:0; border-radius:50%; background:#fff; border:1px solid #b7c7df; }
  .ms-consent-settings::before { content:"⚙"; display:block; font-size:22px; line-height:36px; text-align:center; color:#002e72; }
  .impressum-inhalt,.recht-inhalt { overflow-wrap:break-word; }
}
@media (max-width:390px) {
  .startseite .textseite { padding-left:18px; padding-right:18px; }
  .startseite .titelblock { margin-top:36px; }
  .startseite .titelblock h1 { font-size:37px; }
}

/* V156: gezielter mobiler Feinschliff – Desktop-Layout bleibt unverändert */
.mobile-hauptnavigation { display:none; }
@media (max-width:768px) {
  .startseite .navigation-links,.startseite .navigation-rechts { display:none !important; }
  .startseite .textseite { padding:24px clamp(18px,5vw,28px) 32px; }
  .startseite .logo { margin-bottom:24px; }
  .mobile-hauptnavigation { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; column-gap:clamp(14px,4.5vw,25px); row-gap:13px; max-width:100%; }
  .mobile-hauptnavigation a { color:#002e72; text-decoration:none; font-size:clamp(12px,3.1vw,15px); line-height:1.45; letter-spacing:.015em; white-space:nowrap; }
  .mobile-hauptnavigation a:focus-visible { outline:2px solid #002e72; outline-offset:4px; }
  .startseite .titelblock { margin-top:clamp(38px,9vw,62px); }
  .startseite .titelblock h1 { font-size:clamp(35px,8.4vw,52px); line-height:1.12; }
  .startseite .titelblock p { font-size:clamp(11px,2.85vw,14px); letter-spacing:0; overflow-wrap:normal; }
  .startseite .bildseite { height:clamp(350px,112vw,550px); }
  .startseite .bildunterschrift { bottom:20px; right:18px; left:18px; font-size:clamp(10px,2.5vw,13px); }
  .agentur-text > p:not(.agentur-rubrik),.dooh-einleitung,.hannover-inhalt > p,.geschichte-inhalt > p { overflow-wrap:break-word; }
  .leistungen-raster::before,.leistungen-raster::after { display:none !important; }
  .leistung { border-right:0 !important; }
  .leistung-text { border-right:0 !important; }
  .dooh-einleitung { word-spacing:normal; }
  .hannover-fakten > div { min-width:0; }
  .kontakt-footer nav,.impressum-footer nav,.recht-footer nav { row-gap:12px; }
  .ms-consent-settings { width:34px; height:34px; bottom:12px; right:12px; opacity:.88; }
  .ms-consent-settings::before { font-size:19px; line-height:32px; }
}
@media (max-width:390px) {
  .startseite .titelblock { margin-top:36px; }
  .startseite .titelblock h1 { font-size:clamp(33px,9vw,37px); }
  .mobile-hauptnavigation { column-gap:15px; row-gap:12px; }
  .mobile-hauptnavigation a { font-size:12px; }
}


/* V157: finaler mobiler Layoutabgleich anhand der Screenshots vom 29.10.2026.
   Nur responsive CSS; Bilder, Texte, Desktop und Consent-Logik bleiben unverändert. */
@media (max-width:768px) {
  /* Die fünf Navigationspunkte gehören sichtbar in EINE Zeile. */
  .startseite .mobile-hauptnavigation {
    display:flex; flex-wrap:nowrap; width:100%; max-width:100%;
    align-items:center; justify-content:space-between;
    column-gap:clamp(5px,1.7vw,14px); row-gap:0;
  }
  .startseite .mobile-hauptnavigation a {
    display:block; flex:0 1 auto; min-width:0; white-space:nowrap;
    font-size:clamp(9px,2.45vw,14px); letter-spacing:0;
  }
  .startseite .titelblock { margin-top:clamp(34px,7vw,50px); }
  .startseite .titelblock h1 { font-size:clamp(34px,7.9vw,49px); line-height:1.12; }
  /* Lesbare, aber nicht übergroße mobile Kapitelüberschriften. */
  .leistungen-kopf h2,.dooh-inhalt h2,.hannover-inhalt h2,
  .referenzen-kopf h2,.geschichte-kopf h2,.kontakt-inhalt h2 {
    font-size:clamp(33px,7.7vw,47px); line-height:1.13;
    overflow-wrap:normal; hyphens:none;
  }
  .leistungen-seite,.referenzen-seite,.geschichte-seite,
  .dooh-inhalt,.hannover-inhalt,.kontakt-inhalt,
  .impressum-inhalt,.recht-inhalt { padding-left:clamp(20px,5vw,32px); padding-right:clamp(20px,5vw,32px); }
  .leistungen-raster { margin-top:24px; }
  .leistung,.leistung:nth-child(even) { padding-top:22px; padding-bottom:30px; }
  .leistung-text { padding-top:20px !important; }
  .referenzen-projekte { gap:34px; }
  .referenz-karte { overflow-wrap:break-word; }
  .timeline-eintrag { padding-bottom:30px; }
  .timeline-eintrag time { line-height:1.2; }
  .timeline-logo { max-width:100%; }
  .kontakt-inhalt a,.impressum-inhalt a,.recht-inhalt a,
  .kontakt-inhalt p,.impressum-inhalt p,.recht-inhalt p {
    overflow-wrap:anywhere; word-break:normal;
  }
  .kontakt-footer nav,.impressum-footer nav,.recht-footer nav {
    flex-wrap:wrap; gap:10px 16px;
  }
  /* Cookie-Zugang kleiner und mit Abstand zur rechten Kante. */
  .ms-consent-settings { width:32px; height:32px; right:10px; bottom:10px; }
  .ms-consent-settings::before { font-size:18px; line-height:30px; }
}
@media (max-width:390px) {
  .startseite .mobile-hauptnavigation { column-gap:4px; }
  .startseite .mobile-hauptnavigation a { font-size:clamp(8.5px,2.48vw,10px); }
  .startseite .titelblock h1 { font-size:clamp(32px,8.6vw,37px); }
}

/* V158: Desktop DOOH-Text auf lesbare Breite begrenzen; mobile Layoutregeln bleiben erhalten. */
@media (min-width: 769px) {
  .dooh-einleitung { max-width: min(650px, 47vw); }
  .dooh-einleitung br { display: none; }
}

/* V159: gezielter Feinschliff der mobilen Darstellung; Desktop unverändert. */
@media (max-width: 768px) {
  /* Das dekorative Kreuz ist ausschließlich für das 2x2-Desktopraster gedacht. */
  .leistungen-raster::before, .leistungen-raster::after { content:none !important; display:none !important; }
  .leistungen-raster, .leistungen-raster .leistung, .leistungen-raster .leistung-text {
    border-left:0 !important; border-right:0 !important; box-shadow:none !important;
  }
  .leistungen-raster .leistung::before, .leistungen-raster .leistung::after,
  .leistungen-raster .leistung-text::before, .leistungen-raster .leistung-text::after {
    content:none !important; display:none !important;
  }
  /* Impressum: Inhalt statt Mindest-Seitenhöhe bestimmt die Gesamthöhe. */
  .impressum-seite { min-height:0; height:auto; }
  .impressum-inhalt { min-height:0; height:auto; padding-bottom:30px; }
  .impressum-angaben { margin-top:38px; gap:32px; }
  .impressum-footer { position:static; margin-top:36px; padding-top:22px; }
}

/* V160: Desktop-Impressum-Footer analog zu den weiteren Rechtseiten */
.impressum-footer { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.impressum-footer strong { color:var(--meisterstudio-blau); font-size:clamp(10px,.9vw,14px); font-weight:600; letter-spacing:.02em; }
.impressum-footer strong span { font-weight:400; }
@media (max-width: 767px) { .impressum-footer { flex-direction:column; align-items:flex-start; gap:18px; } .impressum-footer strong { font-size:12px; } }

/* Abschlussprüfung: Impressum-Footer an der linken Textflucht ausrichten. */
@media (min-width:769px) { .impressum-footer { left:3.35vw; } }

/* V163: lesbare Fußzeilen und Datenschutzzugang ohne schwebendes Element. */
.footer-consent-settings { appearance:none; border:0; background:none; color:inherit; font:inherit; padding:0; cursor:pointer; text-align:left; line-height:1.5; }
.footer-consent-settings:hover { text-decoration:underline; }
.footer-consent-settings:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.kontakt-footer,.impressum-footer,.recht-footer { flex-wrap:wrap; row-gap:14px; }
.kontakt-footer nav,.impressum-footer nav,.recht-footer nav { flex-wrap:wrap; align-items:center; gap:8px 18px; }
.kontakt-footer a,.impressum-footer a,.recht-footer a,.footer-consent-settings { font-size:13px; }
.kontakt-footer nav a + a,.impressum-footer a + a,.recht-footer a + a { border-left:0; margin-left:0; padding-left:0; }
.kontakt-footer > span,.impressum-footer strong,.recht-footer strong { font-size:12px; }
@media(max-width:768px) {
 .startseite .mobile-hauptnavigation a { font-size:clamp(10.5px,2.9vw,14px); min-height:32px; display:flex; align-items:center; }
 .startseite .mobile-hauptnavigation { column-gap:5px; }
 .kontakt-footer,.impressum-footer,.recht-footer { align-items:flex-start; }
 .kontakt-footer nav,.impressum-footer nav,.recht-footer nav { justify-content:flex-start; gap:6px 16px; }
 .kontakt-footer nav a,.impressum-footer nav a,.recht-footer nav a,.footer-consent-settings { font-size:13px; min-height:32px; display:inline-flex; align-items:center; }
 .kontakt-footer > span,.impressum-footer strong,.recht-footer strong { font-size:12px; line-height:1.5; }
}
/* V164: separate Tabletansicht. Maus-Desktop und Handy bis 768px bleiben unverändert. */
@media (min-width:769px) and (max-width:1400px) and (any-pointer:coarse) {
 body { --fliesstext:18px; }
 main > section { min-height:0; }
 .startseite { grid-template-columns:1fr 1fr; }
 .startseite .textseite { min-height:0; padding:36px 32px 48px; }
 .startseite .logo { position:static; display:block; margin:0 0 28px; }
 .startseite .logo img { width:min(300px,100%); }
 .startseite .navigation { display:none; }
 .startseite .mobile-hauptnavigation { display:flex; flex-wrap:wrap; gap:12px 18px; }
 .startseite .mobile-hauptnavigation a { font-size:14px; min-height:36px; display:flex; align-items:center; }
 .startseite .titelblock { position:static; margin-top:90px; }
 .startseite .titelblock h1 { font-size:clamp(40px,4.6vw,60px); }
 .startseite .titelblock p { white-space:normal; font-size:14px; letter-spacing:.04em; line-height:1.7; }
 .startseite .bildseite { min-height:0; height:auto; aspect-ratio:3/4; background-size:contain; background-position:center; align-self:stretch; }
 .bildunterschrift { right:20px; bottom:20px; font-size:12px; }
 .agentur-text { padding:48px 32px 30px; }
 .agentur-text h2 { font-size:42px; }
 .agentur-text > p:not(.agentur-rubrik) { font-size:18px; line-height:1.6; max-width:100%; }
 .leistungen-seite { padding:48px 32px 0; }
 .leistungen-kopf h2,.dooh-inhalt h2,.hannover-inhalt h2,.referenzen-kopf h2,.kontakt-inhalt h2 { font-size:46px; line-height:1.12; }
 .leistungen-kopf div { max-width:720px; font-size:18px; }
 .leistungen-kopf div br { display:none; }
 .leistungen-kopf .mobile-break::after { content:" "; white-space:pre; }
 .leistungen-raster { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; gap:36px; margin:36px 0; }
 .leistungen-raster::before,.leistungen-raster::after { display:none; }
 .leistungen-raster .leistung,.leistungen-raster .leistung:nth-child(even),.leistungen-raster .leistung:nth-child(odd) { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:0 0 28px; height:auto; min-height:0; border:0; box-shadow:none; }
 .leistungen-raster .leistung img { width:100%; max-width:100%; height:auto; aspect-ratio:auto var(--image-ratio); object-fit:contain; }
 .leistungen-raster .leistung .leistung-text { width:100%; padding:24px 0 0; align-self:stretch; }
 .leistungen-raster .leistung .leistung-text h3 { font-size:21px; white-space:normal; letter-spacing:normal; }
 .leistungen-raster .leistung .leistung-text p,.leistungen-raster .leistung:nth-child(3) p { font-size:16px; white-space:normal; line-height:1.55; letter-spacing:normal; }
 .leistungen-fokus { display:grid; grid-template-columns:58px 1fr; gap:22px; min-height:0; margin:0 -32px; padding:30px 32px; }
 .leistungen-fokus > .fokus-pfeil,.leistungen-fokus > .fokus-headline,.leistungen-fokus > p { position:static; width:auto; max-width:none; transform:none; }
 .leistungen-fokus > i { display:none; }
 .leistungen-fokus > p { grid-column:2; font-size:16px; }
 .leistungen-fokus p br { display:initial; }
 .fokus-headline strong { font-size:24px; }
 .dooh-seite { overflow:visible; }
 .dooh-hintergrund { position:relative; width:100%; height:auto; aspect-ratio:3/2; background:url('assets/dooh/seite-4-led-list-mercedes-original-neu.jpg') center/contain no-repeat; }
 .dooh-inhalt { padding:48px 32px; }
 .dooh-einleitung { max-width:850px; font-size:18px; }
 .dooh-orte { grid-template-columns:1fr 1px 1fr; max-width:650px; margin:36px 0 0; }
 .dooh-formate { white-space:normal; font-size:16px; line-height:1.6; }
 .dooh-vorteile { position:static; min-height:0; }
 .dooh-vorteile article { display:flex; flex-direction:column; align-items:flex-start; padding:28px 24px; gap:16px; }
 .dooh-vorteile article > img { width:64px; height:64px; }
 .dooh-vorteile strong { font-size:18px; }
 .dooh-vorteile p { font-size:16px; }
 .dooh-vorteile br { display:none; }
 .hannover-seite { display:block; }
 .hannover-inhalt { min-height:0; padding:48px 32px; }
 .hannover-text { font-size:18px; max-width:850px; }
 .hannover-fakten { position:static; margin-top:32px; grid-template-columns:repeat(4,minmax(0,1fr)); }
 .hannover-fakten strong { font-size:13px; }
 .hannover-bild { min-height:0; }
 .hannover-bild > img { height:auto; min-height:0; width:100%; object-fit:contain; }
 .referenzen-seite { display:block; padding:48px 32px 0; }
 .referenzen-kopf { padding:0 0 36px; }
 .referenzen-projekte { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; }
 .referenz-karte > img,.referenz-karte > img.referenz-dooh-flughafen { width:100%; height:auto; max-height:none; aspect-ratio:auto var(--image-ratio); object-fit:contain; }
 .referenz-karte h3 { font-size:18px; min-height:0; margin:20px 0 10px; }
 .referenz-karte > div { border:0; margin:0; }
 .referenz-karte p { font-size:16px; white-space:normal; }
 .referenzen-marken { grid-template-columns:180px minmax(0,1fr); min-height:0; padding:30px 0; margin-top:36px; }
 .geschichte-seite { display:block; padding:48px 32px; }
 .geschichte-kopf { padding:0; }
 .geschichte-kopf h2 { font-size:40px; }
 .geschichte-kopf h2 span { white-space:normal; }
 .geschichte-einleitung { max-width:850px; font-size:18px; }
 .geschichte-portrait { max-width:360px; }
 .geschichte-portrait > img { width:100%; height:auto; object-fit:contain; }
 .timeline { margin-top:48px; min-height:0; grid-template-rows:repeat(9,auto); }
 .timeline-eintrag { grid-template-columns:28% 14% 6% 52%; min-height:145px; }
 .timeline::before { left:45%; }
 .timeline-eintrag > i::after { width:20px; }
 .timeline-eintrag > div:last-child { padding-left:26px; }
 .timeline-logo,.timeline-logo[src$='meisterstudio-logo-1994.svg'],.timeline-logo[src$='meisterstudio-logo-2021-historie.svg'] { width:82%; max-height:85px; }
 .timeline-eintrag time { font-size:28px; }
 .timeline-eintrag strong { font-size:18px; }
 .timeline-eintrag span { font-size:16px; line-height:1.5; }
 .kontakt-seite { grid-template-columns:42% 58%; align-items:start; }
 .kontakt-bild { min-height:0; align-self:start; }
 .kontakt-bild > img { height:auto; min-height:0; width:100%; object-fit:contain; }
 .kontakt-bild figcaption { bottom:18px; left:18px; font-size:11px; }
 .kontakt-inhalt { min-height:0; padding:48px 32px; }
 .kontakt-inhalt h2 { font-size:40px; }
 .kontakt-einleitung,.kontakt-daten { font-size:18px; }
 .kontakt-einleitung br { display:none; }
 .kontakt-logo { max-width:100%; }
 .kontakt-aktionen { flex-direction:column; align-items:flex-start; gap:24px; }
 .kontakt-karte { white-space:normal; font-size:16px; }
 .kontakt-footer,.impressum-footer,.recht-footer { position:static; margin-top:44px; flex-direction:column; align-items:flex-start; gap:18px; }
 .kontakt-footer nav,.impressum-footer nav,.recht-footer nav { justify-content:flex-start; }
 .kontakt-footer a,.impressum-footer a,.recht-footer a,.footer-consent-settings { font-size:15px; min-height:36px; display:inline-flex; align-items:center; }
 .kontakt-footer > span,.impressum-footer strong,.recht-footer strong { font-size:14px; line-height:1.5; }
 .impressum-inhalt,.recht-inhalt { min-height:0; padding:48px 32px; }
 .impressum-angaben { margin-top:48px; gap:32px; }
 .impressum-angaben p { font-size:18px; }
 .datenschutz-spalten { grid-template-columns:1fr; gap:32px; margin-top:36px; }
 .datenschutz-spalten > div { gap:28px; }
 .datenschutz-spalten p,.bildnachweise-angaben p,.recht-einleitung { font-size:18px; line-height:1.6; }
 .datenschutz-spalten h3,.bildnachweise-angaben h3 { font-size:18px; }
 .bildnachweise-angaben { grid-template-columns:1fr; gap:32px; }
}

/* V165: Tablet-Nachprüfung anhand der Gerätescreenshots. */
@media (min-width:769px) and (max-width:1400px) and (any-pointer:coarse) {
 .startseite,.leistungen-seite,.dooh-seite,.hannover-seite,.referenzen-seite,.geschichte-seite,.kontakt-seite,.impressum-seite,.recht-seite { min-height:0; }
 .startseite { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
 .startseite .textseite,.startseite .bildseite { min-width:0; }
 .startseite .bildseite { width:100%; align-self:start; aspect-ratio:3/4; min-height:0; height:auto; }
 .startseite .mobile-hauptnavigation a { color:var(--meisterstudio-blau); text-decoration:none; }
 .kontakt-einleitung .mobile-break::after { content:" "; white-space:pre; }
}

/* V166: feste Bildgeometrie in Safari, auch nach Drehen und mit Trackpad. */
.tablet-hero-photo,.tablet-dooh-photo { display:none; }
.footer-consent-settings { color:var(--meisterstudio-blau); }
@media (min-width:700px) and (max-width:1400px) and (any-pointer:coarse) {
 .startseite { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; align-items:stretch; height:auto; min-height:0; overflow:hidden; isolation:isolate; }
 .startseite .textseite { min-height:0; height:auto; min-width:0; }
 .startseite .bildseite { min-height:0; height:auto; min-width:0; width:100%; aspect-ratio:auto; background:none; align-self:stretch; position:relative; overflow:hidden; }
 .startseite .tablet-hero-photo { display:block; position:static; width:100%; max-width:100%; height:auto; aspect-ratio:auto var(--image-ratio); object-fit:contain; }
 .dooh-hintergrund { position:relative; inset:auto; width:100%; height:auto; min-height:0; max-height:none; aspect-ratio:auto; background:none; background-color:transparent; opacity:1; }
 .dooh-hintergrund .tablet-dooh-photo { display:block; width:100%; max-width:100%; height:auto; object-fit:contain; }
 .kontakt-seite { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; }
 .kontakt-bild { position:relative; align-self:stretch; height:auto; min-height:0; overflow:hidden; }
 .kontakt-bild > img { position:absolute; inset:0; display:block; width:100%; height:100%; min-height:0; object-fit:cover; object-position:center; }
 .kontakt-inhalt { min-width:0; }
}

/* V167: Flughafenreferenz auf Tablets exakt so hoch wie das Abeling-Autobild. */
@media (min-width:769px) and (max-width:1400px) and (any-pointer:coarse) {
 .referenz-karte > img.referenz-dooh-flughafen {
  width:100%; height:auto; max-height:none; aspect-ratio:1087 / 1447;
  object-fit:cover; object-position:50% 60%;
 }
}

/* V168: gleicher Flughafen-Bildausschnitt auch in der Handyansicht. */
@media (max-width:699px) {
 .referenz-karte > img.referenz-dooh-flughafen {
  width:100%; height:auto; max-height:none; aspect-ratio:1087 / 1447;
  object-fit:cover; object-position:50% 60%;
 }
}

/* V172: ausreichend Platz für die Navigation auf schmalen Touch-Geräten im Querformat. */
@media (min-width:769px) and (max-width:1100px) and (orientation:landscape) and (any-pointer:coarse) {
 .startseite .mobile-hauptnavigation {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  width:100%; max-width:100%; justify-content:start; align-items:center;
  column-gap:20px; row-gap:8px;
 }
 .startseite .mobile-hauptnavigation a {
  display:flex; align-items:center; min-width:0; min-height:36px;
  font-size:14px; line-height:1.45; white-space:nowrap;
 }
}

/* V173: kompakte Touch-Navigation ohne Abhängigkeit von der gemeldeten Orientierung. */
@media (min-width:769px) and (max-width:1400px) and (any-pointer:coarse) {
 .startseite .textseite nav.mobile-hauptnavigation { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 20px !important; width:100%; }
 .startseite .textseite nav.mobile-hauptnavigation > a { display:block; padding:8px 0; margin:0; white-space:nowrap; font-size:14px; line-height:1.5; }
}

/* V175: Navigation ab 700px, passend zum Beginn des zweispaltigen Startlayouts. */
@media (min-width:700px) and (max-width:1400px) {
 .startseite .navigation { display:none !important; }
 .startseite .textseite { padding:36px 32px 48px; min-width:0; }
 .startseite .logo { position:static; display:block; margin:0 0 28px; }
 .startseite .logo img { width:min(300px,100%); max-width:100%; }
 .startseite .textseite nav.mobile-hauptnavigation { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 20px !important; width:100%; max-width:100%; }
 .startseite .textseite nav.mobile-hauptnavigation > a { display:block; min-width:0; padding:8px 0; margin:0; color:var(--meisterstudio-blau); text-decoration:none; font-size:14px; line-height:1.5; white-space:nowrap; }
 .startseite .titelblock { position:static; margin-top:60px; }
 .startseite .titelblock h1 { font-size:clamp(40px,4.6vw,60px); }
}
