/* ai-development.at · Seiten-CSS zur Variation "AI Development"
   Farben und Schriften kommen aus der Variation, hier nur, was theme.json nicht kann. */

:root {
	--ad-grad: linear-gradient(120deg, var(--wp--preset--color--verlauf-a), var(--wp--preset--color--verlauf-b));
	--ad-night: var(--wp--preset--color--nacht);
	--ad-shadow: 0 24px 60px -32px rgb(19 33 44 / .35);
}

/* === basis === */
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--wp--preset--color--verlauf-a); color: #fff; }
:where(h1, h2, h3) { text-wrap: balance; }
:where(p) { text-wrap: pretty; }
.is-eyebrow { font-family: var(--wp--preset--font-family--heading); font-weight: 500; text-transform: uppercase; letter-spacing: .16em; font-size: var(--wp--preset--font-size--s); color: var(--wp--preset--color--accent); margin-bottom: .5rem !important; }
.is-lead { font-size: var(--wp--preset--font-size--l); line-height: 1.5; color: var(--wp--preset--color--muted); }
.ad-arrow a, a.ad-arrow { font-family: var(--wp--preset--font-family--heading); font-weight: 500; text-decoration: none; }
.ad-arrow a::after { content: " \2192"; display: inline-block; transition: translate .2s ease; }
.ad-arrow a:hover::after { translate: 4px 0; }
.is-style-outline .wp-element-button, .wp-block-button.is-style-outline > .wp-block-button__link { border: 2px solid currentColor; background: transparent; color: inherit; }
.is-style-outline .wp-element-button:hover { background: #fff; color: var(--wp--preset--color--contrast); border-color: #fff; }

/* === header === */
.ad-header { position: sticky; top: 0; z-index: 50; background: rgb(255 255 255 / .86); -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px); border-bottom: 1px solid rgb(19 33 44 / .07); }
.admin-bar .ad-header { top: var(--wp-admin--admin-bar--height, 32px); }
.ad-wordmark { font-family: var(--wp--preset--font-family--heading); font-weight: 500; font-size: 1.4rem; line-height: 1; letter-spacing: -.01em; margin: 0; }
.ad-wordmark a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.ad-wordmark mark { background: var(--ad-grad); -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 600; padding: 0; }
.ad-header .wp-block-navigation { font-family: var(--wp--preset--font-family--heading); font-weight: 500; font-size: 1rem; gap: 1.75rem; }
.ad-header .wp-block-navigation a { text-decoration: none; color: var(--wp--preset--color--contrast); }
.ad-header .wp-block-navigation a:hover { color: var(--wp--preset--color--accent); }
.ad-header .wp-block-navigation .current-menu-item > a { background: var(--ad-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ad-nav-cta .wp-element-button { padding: .55em 1.1em; font-size: .95rem; }

/* === hero === */
.ad-hero { --fx-lx: 47%; --fx-ly: 30%; --fx-lr: clamp(180px, 21vw, 330px); color: #fff; }
.ad-hero::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgb(13 25 34 / .72) 0%, rgb(13 25 34 / .35) 48%, transparent 72%), linear-gradient(0deg, rgb(13 25 34 / .55), transparent 40%); }
.ad-hero .wp-block-cover__inner-container { padding-block: clamp(4rem, 10vh, 7rem) clamp(2rem, 5vh, 3rem); }
.ad-hero h1 { color: #fff; font-size: clamp(2.5rem, 6.2vw, 5.25rem); font-weight: 600; line-height: 1.02; letter-spacing: -.025em; margin-top: .25rem; }
.ad-hero h1 mark { background: linear-gradient(120deg, #7FE3DD, #C4B8F5); -webkit-background-clip: text; background-clip: text; color: transparent; padding: 0; }
.ad-hero .is-eyebrow { color: #A6EAE6; }
.ad-hero .fx-ask { color: #fff; font-size: var(--wp--preset--font-size--l); }
.ad-hero .fx-ask:not(.is-live) a { color: #fff; }
.ad-hero-facts { border-top: 1px solid rgb(255 255 255 / .25); padding-top: 1.25rem; margin-top: clamp(2.5rem, 7vh, 5rem) !important; }
.ad-hero-facts p { margin: 0; font-size: var(--wp--preset--font-size--s); color: rgb(255 255 255 / .82); line-height: 1.35; max-width: 17rem; }
.ad-hero-facts strong { display: block; font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: clamp(1.6rem, 3vw, 2.25rem); color: #fff; line-height: 1.1; margin-bottom: .2rem; }

/* === karten und angebot === */
.is-style-card { background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--l); padding: clamp(1.4rem, 2.5vw, 2.1rem); box-shadow: var(--ad-shadow); transition: transform .25s ease, box-shadow .25s ease; position: relative; overflow: hidden; }
.is-style-card:hover { transform: translateY(-4px); box-shadow: 0 30px 70px -30px rgb(19 33 44 / .45); }
.is-style-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--ad-grad); transform: scaleX(.18); transform-origin: left; transition: transform .45s ease; }
.is-style-card:hover::before { transform: scaleX(1); }
.is-style-card h3 { margin-top: 0; }
.is-style-card h3 a { color: inherit; text-decoration: none; }
.is-style-card h3 a::after { content: ""; position: absolute; inset: 0; } /* ganze Karte klickbar */
.ad-angebot { gap: clamp(1rem, 2vw, 1.5rem) !important; }
.ad-card-feature { padding: 0 !important; display: flex; flex-direction: column; }
.ad-card-feature .wp-block-image { margin: 0; }
.ad-card-feature .wp-block-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.ad-card-feature > :not(.wp-block-image) { padding-inline: clamp(1.4rem, 2.5vw, 2.1rem); }
.ad-card-feature > :last-child { padding-bottom: clamp(1.4rem, 2.5vw, 2.1rem); }
.ad-card-feature h3 { font-size: var(--wp--preset--font-size--xl); }
.ad-num { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: var(--wp--preset--font-size--s); letter-spacing: .12em; color: var(--wp--preset--color--muted); margin-bottom: .5rem !important; }
@media (min-width: 900px) {
	.ad-angebot { grid-template-columns: 1.25fr 1fr 1fr !important; }
	.ad-angebot > .ad-card-feature { grid-row: span 2; }
	.ad-angebot > :last-child { grid-column: span 2; }
}

/* === bilder === */
.ad-duotone { position: relative; isolation: isolate; border-radius: var(--wp--custom--radius--l); overflow: hidden; }
.ad-duotone img { filter: grayscale(1) contrast(1.05); display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: filter .6s ease; }
.ad-duotone::after { content: ""; position: absolute; inset: 0; background: var(--ad-grad); mix-blend-mode: multiply; opacity: .85; transition: opacity .6s ease; pointer-events: none; }
.ad-duotone:hover img { filter: none; }
.ad-duotone:hover::after { opacity: 0; }
@media (min-width: 782px) { .ad-sticky { position: sticky; top: 7rem; align-self: flex-start; } }

/* === belege === */
.ad-numbers { border-block: 1px solid var(--wp--preset--color--border); padding-block: clamp(1.5rem, 3vw, 2.5rem); }
.ad-number { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: clamp(2.75rem, 6vw, 4.5rem) !important; line-height: 1 !important; letter-spacing: -.03em; margin: 0 !important; background: var(--ad-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ad-number + p { margin-top: .4rem; color: var(--wp--preset--color--muted); }
.ad-list { list-style: none; padding-left: 0; }
.ad-list li { padding: .7rem 0; border-bottom: 1px solid var(--wp--preset--color--border); }
.ad-logos { gap: clamp(1.5rem, 4vw, 3.5rem) !important; }
.ad-logos .wp-block-image { margin: 0; }
.ad-logos img { height: 56px; width: auto; max-width: 130px; object-fit: contain; filter: grayscale(1); opacity: .7; mix-blend-mode: multiply; transition: filter .3s, opacity .3s; }
.ad-logos img:hover { filter: none; opacity: 1; }

/* === platzhalter (geht nicht live) === */
.is-placeholder { border: 2px dashed #C2185B; border-radius: var(--wp--custom--radius--m); padding: 1rem 1.25rem; color: #8E1046; background: repeating-linear-gradient(-45deg, #FFF5F8, #FFF5F8 12px, #FFFFFF 12px, #FFFFFF 24px); font-size: var(--wp--preset--font-size--s); }
.is-placeholder strong { text-transform: uppercase; letter-spacing: .1em; }

/* === teaser === */
.ad-teaser-fs { background: var(--ad-grad); color: #fff; border-radius: var(--wp--custom--radius--l); padding: clamp(1.75rem, 4vw, 3rem); position: relative; overflow: hidden; }
.ad-teaser-fs :is(h2, h3, p, a) { color: #fff; }
.ad-teaser-fs .is-eyebrow { color: rgb(255 255 255 / .8); }
.ad-teaser-fs::after { content: ""; position: absolute; width: 26rem; aspect-ratio: 1; right: -9rem; bottom: -12rem; border-radius: 50%; border: 1px solid rgb(255 255 255 / .35); box-shadow: 0 0 0 40px rgb(255 255 255 / .06), 0 0 0 80px rgb(255 255 255 / .04); pointer-events: none; }
.ad-teaser-show { background: var(--ad-night); color: #fff; border-radius: var(--wp--custom--radius--l); overflow: hidden; }
.ad-teaser-show :is(h2, h3, p, a) { color: #fff; }
.ad-teaser-show .wp-block-image { margin: 0; }
.ad-teaser-show .wp-block-image img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.ad-teaser-show > :not(.wp-block-image) { padding-inline: clamp(1.5rem, 3vw, 2.5rem); }
.ad-teaser-show > :last-child { padding-bottom: clamp(1.5rem, 3vw, 2.5rem); }

/* === faq === */
.wp-block-details { border-bottom: 1px solid var(--wp--preset--color--border); padding: 1.15rem 0; }
.wp-block-details summary { font-family: var(--wp--preset--font-family--heading); font-weight: 500; font-size: var(--wp--preset--font-size--l); cursor: pointer; list-style: none; position: relative; padding-right: 2.5rem; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: ""; position: absolute; right: .35rem; top: .45em; width: .7rem; height: .7rem; border-right: 2px solid var(--wp--preset--color--accent); border-bottom: 2px solid var(--wp--preset--color--accent); rotate: 45deg; transition: rotate .25s ease; }
.wp-block-details[open] summary::after { rotate: 225deg; top: .7em; }
.wp-block-details[open] summary { margin-bottom: .6rem; }
.wp-block-details p { color: var(--wp--preset--color--muted); }
.ad-faq-note { font-size: var(--wp--preset--font-size--s); color: var(--wp--preset--color--muted); font-style: italic; }

/* === kontakt === */
.ad-kontakt { background: var(--wp--preset--gradient--nacht-verlauf); color: #fff; position: relative; overflow: hidden; }
.ad-kontakt :is(h1, h2, h3, p) { color: #fff; }
.ad-kontakt .is-eyebrow { color: #A6EAE6; }
.ad-kontakt::before { content: ""; position: absolute; width: 60vw; aspect-ratio: 1; left: -20vw; top: -30vw; border-radius: 50%; background: radial-gradient(circle, rgb(43 179 174 / .28), transparent 60%); pointer-events: none; }
.ad-mail a { font-family: var(--wp--preset--font-family--heading); font-weight: 500; font-size: clamp(1.4rem, 3.2vw, 2.3rem); color: #fff; text-decoration-color: var(--wp--preset--color--verlauf-a); text-underline-offset: 6px; text-decoration-thickness: 2px; word-break: break-word; }
.ad-mail a:hover { text-decoration-color: #fff; color: #fff; }
.ad-kontakt .fundament-form { background: rgb(255 255 255 / .06); border: 1px solid rgb(255 255 255 / .16); border-radius: var(--wp--custom--radius--l); padding: clamp(1.25rem, 3vw, 2rem); max-width: none; }
.ad-kontakt .fundament-form label { color: #fff; }
.ad-kontakt .fundament-form input, .ad-kontakt .fundament-form textarea { background: rgb(255 255 255 / .96); border-color: transparent; }
.ad-kontakt .fundament-form__note, .ad-kontakt .fundament-form__note a { color: rgb(255 255 255 / .8); }
.ad-kontakt .fundament-form button { background: var(--ad-grad); color: #fff; }
.ad-kontakt .fundament-form button:hover { filter: brightness(1.1); }

/* === footer === */
.ad-footer { background: var(--ad-night); color: rgb(255 255 255 / .75); }
.ad-footer a { color: #fff; text-decoration: none; }
.ad-footer a:hover { text-decoration: underline; }
.ad-footer .ad-wordmark a { color: #fff; }
.ad-footer p { font-size: var(--wp--preset--font-size--s); }
.ad-footer-links { gap: .4rem 1.5rem !important; }

/* === unterseiten === */
.ad-pagehead { background: var(--wp--preset--color--surface); position: relative; overflow: hidden; }
.ad-pagehead::after { content: ""; position: absolute; right: -8rem; top: -8rem; width: 28rem; aspect-ratio: 1; border-radius: 50%; background: var(--ad-grad); opacity: .14; filter: blur(30px); pointer-events: none; }
.ad-pagehead h1 { font-weight: 600; max-width: 16ch; }
.ad-prose { max-width: 760px; }
.ad-prose h2 { margin-top: 2.5rem; }
.ad-check { list-style: none; padding-left: 0; }
.ad-check li { position: relative; padding-left: 1.9rem; margin-bottom: .6rem; }
.ad-check li::before { content: ""; position: absolute; left: 0; top: .5em; width: .85rem; height: .45rem; border-left: 2.5px solid var(--wp--preset--color--verlauf-a); border-bottom: 2.5px solid var(--wp--preset--color--verlauf-b); rotate: -45deg; }
.ad-price { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: var(--wp--preset--font-size--xl); margin: 0 !important; }

/* === bewegung === */
@media (prefers-reduced-motion: reduce) {
	.is-style-card, .is-style-card::before, .ad-duotone img, .ad-duotone::after, .ad-arrow a::after { transition: none; }
	.is-style-card:hover { transform: none; }
}

/* === responsive === */
@media (max-width: 781px) {
	.ad-hero { min-height: 92svh !important; --fx-lx: 55%; --fx-ly: 22%; --fx-lr: 140px; }
	.ad-hero::after { background: linear-gradient(0deg, rgb(13 25 34 / .85) 0%, rgb(13 25 34 / .45) 55%, rgb(13 25 34 / .15) 100%); }
	.ad-hero .wp-block-cover__inner-container { padding-top: 40vh; }
	.ad-hero .fx-ask { font-size: var(--wp--preset--font-size--m); }
	.ad-hero-facts { gap: 1rem !important; }
	.ad-hero-facts p { max-width: none; }
	.ad-duotone img { aspect-ratio: 4 / 3; }
}

/* === footer listen === */
.ad-list-plain { list-style: none; padding-left: 0; margin: 0; }
.ad-list-plain li { margin-bottom: .45rem; }
.ad-footer .is-eyebrow { color: #A6EAE6; }
.ad-footer-line { border: 0; border-top: 1px solid rgb(255 255 255 / .14); opacity: 1; }

/* === korrekturen nach erster prüfung === */
.ad-hero.wp-block-cover { padding-inline: 0; }
.ad-hero .wp-block-cover__inner-container { width: 100%; box-sizing: border-box; padding-inline: max(var(--wp--style--root--padding-left), calc((100% - 1240px) / 2)) !important; }
.ad-hero .wp-block-cover__inner-container > * { max-width: none !important; margin-inline: 0 !important; }
.ad-hero h1 { max-width: 13ch !important; }
.ad-hero .fx-ask { max-width: 34rem !important; }
.is-placeholder { box-sizing: border-box; }
.wp-block-details + .wp-block-details { margin-top: 0 !important; }
.ad-footer .ad-wordmark { font-size: 1.4rem; margin-bottom: 1rem; }
.ad-kontakt a:not(.wp-element-button) { color: #fff; text-decoration-color: var(--wp--preset--color--verlauf-a); }
.ad-logos img { height: 52px; max-width: 120px; }

/* === runde 2: logo, sticky header, nach oben, logoband === */
/* Sticky muss am Template-Teil sitzen, nicht an der Gruppe darin (deren Eltern sind gleich hoch) */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }
.ad-header { position: relative; top: auto !important; }
.ad-logo { margin: 0 !important; line-height: 0; }
.ad-logo img { height: 46px; width: auto !important; display: block; }
.ad-footer .ad-logo img { height: 52px; filter: brightness(0) invert(1); opacity: .92; }
@media (max-width: 781px) { .ad-logo img { height: 38px; } }

/* Nach oben: Ring zeigt, wie weit gelesen wurde */
.ad-top { position: fixed; right: clamp(1rem, 3vw, 2rem); bottom: clamp(1rem, 3vw, 2rem); z-index: 60; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center;
	background: conic-gradient(var(--wp--preset--color--verlauf-a) calc(var(--p, 0) * 1%), var(--wp--preset--color--verlauf-b) calc(var(--p, 0) * 1%), rgb(255 255 255 / .0) 0);
	box-shadow: 0 12px 30px -10px rgb(13 25 34 / .5); opacity: 0; translate: 0 16px; pointer-events: none; transition: opacity .3s ease, translate .3s ease; text-decoration: none; }
.ad-top::before { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--wp--preset--color--nacht); }
.ad-top svg { position: relative; width: 20px; height: 20px; stroke: #fff; transition: translate .2s ease; }
.ad-top.is-on { opacity: 1; translate: 0 0; pointer-events: auto; }
.ad-top:hover svg, .ad-top:focus-visible svg { translate: 0 -3px; }
.ad-top:focus-visible { outline: 3px solid var(--wp--preset--color--verlauf-a); outline-offset: 3px; }

/* Logoband: größer, verlinkt */
.ad-logos { gap: clamp(1.25rem, 3.5vw, 3rem) !important; padding-block: 1.25rem; }
.ad-logos .wp-block-image a { display: block; }
.ad-logos img { height: 76px !important; max-width: 170px !important; width: auto; object-fit: contain; mix-blend-mode: multiply; filter: none; opacity: 1; }
@media (hover: hover) and (pointer: fine) { .ad-logos.fx-dock img { filter: grayscale(1); opacity: .6; transition: filter .25s ease, opacity .25s ease; } }
@media (max-width: 781px) { .ad-logos img { height: 58px !important; max-width: 130px !important; } }
@media (prefers-reduced-motion: reduce) { .ad-top, .ad-top svg { transition: none; } }
/* Logos als gleichmäßige Kacheln (die Dateien haben weiße Hintergründe) */
.ad-logos > figure { background: #fff; border-radius: 16px; padding: .7rem 1.1rem; box-shadow: 0 10px 30px -18px rgb(19 33 44 / .35); height: 96px; display: flex !important; align-items: center; justify-content: center; box-sizing: border-box; }
.ad-logos > figure a { display: flex; align-items: center; height: 100%; }
.ad-logos img { height: 68px !important; max-width: 150px !important; mix-blend-mode: normal; }
@media (max-width: 781px) { .ad-logos > figure { height: 76px; padding: .5rem .8rem; } .ad-logos img { height: 52px !important; max-width: 110px !important; } }
/* Original-Logos der Firmen: gleiche Kachel, Logo passt sich ein */
.ad-logos > figure { width: 200px; height: 104px; padding: 1rem 1.25rem; }
.ad-logos img { height: auto !important; width: auto !important; max-width: 100% !important; max-height: 60px !important; }
@media (max-width: 781px) { .ad-logos > figure { width: calc(50% - .75rem); height: 84px; } .ad-logos img { max-height: 46px !important; } }
/* Raster und Zentrierung der Logo-Kacheln */
.ad-logos.ad-logos { display: grid !important; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 1rem !important; }
.ad-logos.ad-logos > figure { width: auto; height: 96px; padding: .8rem; }
.ad-logos.ad-logos .wp-block-image a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.ad-logos.ad-logos img { max-height: 52px !important; margin: 0; }
@media (max-width: 1100px) { .ad-logos.ad-logos { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ad-logos.ad-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ad-logos.ad-logos > figure { height: 80px; } .ad-logos.ad-logos img { max-height: 44px !important; } }

/* Header: Blur auf Pseudo-Element, sonst wird das mobile Menü-Overlay (position:fixed) in die Headerhöhe eingesperrt */
.ad-header { background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; isolation: isolate; }
.ad-header::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: rgb(255 255 255 / .86); -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px); }

/* === Mobiles Menü (Overlay) === */
.ad-header .wp-block-navigation__responsive-container.is-menu-open { background: #0D1922 !important; color: #fff !important; padding: 1.25rem clamp(1.25rem, 7vw, 2.25rem) 1.75rem !important; overflow: hidden auto; isolation: isolate; --ad-mx: 78%; --ad-my: 18%; }
.ad-header .wp-block-navigation__responsive-container.is-menu-open::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(circle at 0 100%, rgb(43 179 174 / .22), transparent 55%), linear-gradient(160deg, #13212C 0%, #0D1922 70%); }
.ad-header .wp-block-navigation__responsive-container.is-menu-open::after { content: ""; position: absolute; z-index: -1; left: var(--ad-mx); top: var(--ad-my); width: 22rem; aspect-ratio: 1; translate: -50% -50%; border-radius: 50%; background: conic-gradient(from 0deg, #2BB3AE, #7B6BB7, #15779B, #2BB3AE); filter: blur(60px); opacity: .55; transition: left .9s cubic-bezier(.2,.7,.2,1), top .9s cubic-bezier(.2,.7,.2,1); animation: ad-orb 14s ease-in-out infinite alternate; pointer-events: none; }
@keyframes ad-orb { 0% { rotate: 0deg; scale: 1; } 50% { scale: 1.18; } 100% { rotate: 200deg; scale: .9; } }
.ad-header .is-menu-open .wp-block-navigation__responsive-close,
.ad-header .is-menu-open .wp-block-navigation__responsive-dialog { min-height: 100%; display: flex; flex-direction: column; }
.ad-header .is-menu-open .wp-block-navigation__responsive-container-close { color: #fff; width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border-radius: 50%; background: rgb(255 255 255 / .08); border: 1px solid rgb(255 255 255 / .14); top: 0; right: 0; transition: rotate .4s ease, background .3s; }
.ad-header .is-menu-open .wp-block-navigation__responsive-container-close:active { rotate: 90deg; background: rgb(255 255 255 / .16); }
.ad-header .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 22px; height: 22px; }
.ad-header .is-menu-open .wp-block-navigation__responsive-container-content { flex: 1; align-items: stretch !important; justify-content: flex-start; padding-top: 4.25rem !important; gap: 0 !important; }
.ad-menu-eyebrow { font-family: var(--wp--preset--font-family--heading); font-weight: 500; font-size: .78rem; letter-spacing: .18em; text-transform: uppercase; color: #7fd6d2; margin: 0 0 1.25rem; opacity: 0; animation: ad-menu-in .5s .05s ease forwards; }
.ad-header .is-menu-open .wp-block-navigation__container { width: 100%; align-items: stretch !important; gap: 0 !important; counter-reset: admenu; }
.ad-header .is-menu-open .wp-block-navigation-item { width: 100%; counter-increment: admenu; opacity: 0; translate: 0 18px; animation: ad-menu-in .55s cubic-bezier(.2,.7,.2,1) forwards; border-bottom: 1px solid rgb(255 255 255 / .09); justify-content: flex-start !important; }
.ad-header .is-menu-open .wp-block-navigation-item:nth-child(1) { animation-delay: .08s; }
.ad-header .is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: .14s; }
.ad-header .is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: .20s; }
.ad-header .is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: .26s; }
.ad-header .is-menu-open .wp-block-navigation-item:nth-child(5) { animation-delay: .32s; }
.ad-header .is-menu-open .wp-block-navigation-item:nth-child(n+6) { animation-delay: .38s; }
@keyframes ad-menu-in { to { opacity: 1; translate: 0 0; } }
.ad-header .is-menu-open .wp-block-navigation-item__content { display: flex !important; align-items: baseline; gap: .9rem; width: 100%; box-sizing: border-box; position: relative; padding: .55em 1.4em .55em 0 !important; font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: clamp(1.5rem, 7.4vw, 2.3rem); line-height: 1.1; letter-spacing: -.01em; color: #fff !important; transition: translate .25s ease, color .25s; }
.ad-header .is-menu-open .wp-block-navigation-item__content::before { content: counter(admenu, decimal-leading-zero); font-family: var(--wp--preset--font-family--body); font-weight: 500; font-size: .8rem; letter-spacing: .08em; color: #7fd6d2; min-width: 1.6rem; translate: 0 -.55em; }
.ad-header .is-menu-open .wp-block-navigation-item__content::after { content: "→"; position: absolute; right: 0; top: 50%; margin-top: -.6em; font-size: .7em; opacity: .0; translate: -8px 0; transition: opacity .25s, translate .25s; }
.ad-header .is-menu-open .wp-block-navigation-item__content:active,
.ad-header .is-menu-open .wp-block-navigation-item__content:focus-visible { translate: 6px 0; }
.ad-header .is-menu-open .wp-block-navigation-item__content:active::after,
.ad-header .is-menu-open .wp-block-navigation-item__content:focus-visible::after,
.ad-header .is-menu-open .wp-block-navigation-item__content[aria-current]::after { opacity: 1; translate: 0 0; }
.ad-header .is-menu-open .wp-block-navigation-item__content[aria-current] { background: linear-gradient(120deg, #2BB3AE, #9d8fe0); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
.ad-header .is-menu-open .wp-block-navigation-item__content[aria-current]::before,
.ad-header .is-menu-open .wp-block-navigation-item__content[aria-current]::after { -webkit-text-fill-color: #7fd6d2; }
.ad-menu-foot { margin-top: auto; padding-top: 2rem; opacity: 0; translate: 0 18px; animation: ad-menu-in .6s .42s cubic-bezier(.2,.7,.2,1) forwards; }
.ad-menu-foot p { margin: 0 0 .9rem; color: rgb(255 255 255 / .72); font-size: 1rem; line-height: 1.45; }
.ad-menu-cta { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.35rem; border-radius: 999px; background: linear-gradient(120deg, #2BB3AE, #7B6BB7); color: #fff !important; text-decoration: none; font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.1rem; box-shadow: 0 18px 40px -18px rgb(43 179 174 / .8); position: relative; overflow: hidden; }
.ad-menu-cta::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 35%, rgb(255 255 255 / .35) 50%, transparent 65%); translate: -100% 0; animation: ad-shine 3.2s 1s ease-in-out infinite; }
@keyframes ad-shine { 0%, 60% { translate: -100% 0; } 100% { translate: 100% 0; } }
.ad-menu-meta { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin-top: 1.1rem; font-size: .95rem; }
.ad-menu-meta a { color: rgb(255 255 255 / .8) !important; text-decoration: none; border-bottom: 1px solid rgb(255 255 255 / .25); padding-bottom: 1px; }
@media (prefers-reduced-motion: reduce) {
	.ad-header .is-menu-open .wp-block-navigation-item, .ad-menu-foot, .ad-menu-eyebrow { animation: none; opacity: 1; translate: none; }
	.ad-header .wp-block-navigation__responsive-container.is-menu-open::after, .ad-menu-cta::after { animation: none; }
}
.ad-header .is-menu-open .wp-block-navigation-item__content:focus { outline: none; }
.ad-header .is-menu-open .wp-block-navigation-item__content:focus-visible { outline: 2px solid rgb(127 214 210 / .6); outline-offset: 4px; border-radius: 6px; }
/* Menü-Zusätze nur im aufgeklappten mobilen Menü, nie im Desktop-Header */
.ad-header .wp-block-navigation__responsive-container:not(.is-menu-open) .ad-menu-eyebrow,
.ad-header .wp-block-navigation__responsive-container:not(.is-menu-open) .ad-menu-foot { display: none !important; }

/* Formular-Statusmeldung: dunkle Schrift auf hellem Kasten (war weiß auf weiß) */
.ad-kontakt .fundament-form .fundament-form__msg { color: var(--wp--preset--color--contrast, #1b1b1b); }
