/*
 * A & Z Tief- und Hochbau GmbH
 * Site styles
 * AZ-06 homepage rebuild
 */

.az-home {
    --az-orange: #ff550f;
    --az-orange-dark: #d94300;
    --az-dark: #140b06;
    --az-deep: #1c0d0a;
    --az-text: #353535;
    --az-cream: #fef1e4;
    --az-soft: #f7f2ee;
    --az-white: #ffffff;
    --az-border: rgba(28, 13, 10, 0.12);
}

.az-home,
.az-home *,
.az-home *::before,
.az-home *::after {
    box-sizing: border-box;
}

.home .entry-header {
    display: none;
}

.home .site-content > .ast-container {
    width: 100%;
    max-width: none;
    padding: 0;
    display: block;
}

.home #primary,
.home .site-main,
.home article,
.home .entry-content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.home .entry-content > .wp-block-group {
    max-width: none;
    margin: 0;
}

.az-home .az-wrap {
    width: min(1180px, calc(100% - 48px));
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.az-hero {
    position: relative;
    overflow: hidden;
    min-height: 760px;
    padding: 185px 0 110px;
    color: var(--az-white);
    background:
        radial-gradient(circle at 80% 25%, rgba(255,85,15,.22), transparent 28%),
        radial-gradient(circle at 15% 80%, rgba(255,255,255,.06), transparent 24%),
        linear-gradient(125deg, #100804 0%, #1c0d0a 58%, #2b1209 100%);
}

.az-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image:
        linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(to bottom, black, transparent 88%);
}

.az-hero::after {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -140px;
    bottom: -180px;
    border: 80px solid rgba(255,85,15,.13);
    transform: rotate(18deg);
}

.az-hero__inner {
    position: relative;
    z-index: 2;
}

.az-eyebrow {
    margin: 0 0 22px;
    color: var(--az-orange);
    font-size: 13px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.az-eyebrow--dark {
    color: var(--az-orange-dark);
}

.az-home .az-hero__title {
    max-width: 980px;
    margin: 0;
    color: var(--az-white) !important;
    font-size: clamp(48px, 7vw, 92px) !important;
    line-height: .98 !important;
    letter-spacing: -.045em;
}

.az-hero__lead {
    max-width: 760px;
    margin: 34px 0 0;
    color: rgba(255,255,255,.82);
    font-size: clamp(18px, 2vw, 22px);
    line-height: 1.65;
}

.az-actions {
    gap: 14px;
    margin-top: 38px;
}

.az-home .az-btn .wp-block-button__link {
    min-height: 54px;
    padding: 18px 28px;
    border: 1px solid transparent;
    border-radius: 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: .05em;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        background-color .2s ease,
        color .2s ease,
        border-color .2s ease;
}

.az-home .az-btn--primary .wp-block-button__link {
    color: #140b06;
    background: var(--az-orange);
    border-color: var(--az-orange);
}

.az-home .az-btn--primary .wp-block-button__link:hover,
.az-home .az-btn--primary .wp-block-button__link:focus {
    color: var(--az-white);
    background: var(--az-orange-dark);
    border-color: var(--az-orange-dark);
}

.az-home .az-btn--ghost .wp-block-button__link,
.az-home .az-btn--outline .wp-block-button__link {
    color: var(--az-white);
    background: transparent;
    border-color: rgba(255,255,255,.38);
}

.az-home .az-btn--ghost .wp-block-button__link:hover,
.az-home .az-btn--ghost .wp-block-button__link:focus,
.az-home .az-btn--outline .wp-block-button__link:hover,
.az-home .az-btn--outline .wp-block-button__link:focus {
    color: var(--az-dark);
    background: var(--az-white);
    border-color: var(--az-white);
}

.az-home .az-btn--dark .wp-block-button__link {
    color: var(--az-white);
    background: var(--az-dark);
    border-color: var(--az-dark);
}

.az-home .az-btn--dark .wp-block-button__link:hover,
.az-home .az-btn--dark .wp-block-button__link:focus {
    color: var(--az-dark);
    background: var(--az-orange);
    border-color: var(--az-orange);
}

.az-hero__meta {
    display: flex;
    gap: 0;
    margin-top: 72px;
    border-top: 1px solid rgba(255,255,255,.14);
}

.az-hero__meta p {
    display: flex;
    flex-direction: column;
    min-width: 190px;
    margin: 0;
    padding: 24px 42px 0 0;
}

.az-hero__meta p + p {
    padding-left: 42px;
    border-left: 1px solid rgba(255,255,255,.14);
}

.az-hero__meta strong {
    color: var(--az-white);
    font-size: 18px;
    line-height: 1.2;
}

.az-hero__meta span {
    margin-top: 5px;
    color: rgba(255,255,255,.58);
    font-size: 13px;
}

.az-section {
    padding: 105px 0;
}

.az-services {
    background: var(--az-soft);
}

.az-home .az-section-title {
    max-width: 760px;
    margin: 0;
    color: var(--az-deep) !important;
    font-size: clamp(36px, 5vw, 58px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.035em;
}

.az-home .az-section-title--light {
    color: var(--az-white) !important;
}

.az-section-lead {
    max-width: 720px;
    margin: 24px 0 0;
    color: #625955;
    font-size: 18px;
    line-height: 1.7;
}

.az-service-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 56px;
}

.az-service-grid > .wp-block-column {
    min-width: 0;
    margin: 0;
}

.az-card {
    position: relative;
    min-height: 270px;
    height: 100%;
    padding: 34px;
    overflow: hidden;
    border: 1px solid var(--az-border);
    background: var(--az-white);
    transition:
        transform .2s ease,
        border-color .2s ease;
}

.az-card::after {
    content: "";
    position: absolute;
    right: -28px;
    bottom: -28px;
    width: 84px;
    height: 84px;
    border: 18px solid rgba(255,85,15,.08);
    transform: rotate(18deg);
}

.az-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255,85,15,.45);
}

.az-card__number {
    margin: 0 0 40px;
    color: var(--az-orange);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .12em;
}

.az-home .az-card h3 {
    margin: 0 0 14px;
    color: var(--az-deep) !important;
    font-size: 23px !important;
    line-height: 1.15 !important;
}

.az-card p:last-child {
    margin-bottom: 0;
    color: #675e59;
    line-height: 1.65;
}

.az-section-action {
    margin-top: 38px;
}

.az-about {
    color: rgba(255,255,255,.78);
    background:
        linear-gradient(115deg, rgba(255,85,15,.08), transparent 42%),
        var(--az-dark);
}

.az-about__grid {
    gap: 80px;
    align-items: flex-start !important;
}

.az-about__grid > .wp-block-column {
    margin: 0;
}

.az-about__copy {
    font-size: 18px;
    line-height: 1.75;
}

.az-about__copy > p:first-child {
    margin-top: 0;
}

.az-check-list {
    margin: 34px 0;
    padding: 0;
    list-style: none;
}

.az-check-list li {
    position: relative;
    margin: 0;
    padding: 16px 0 16px 32px;
    border-top: 1px solid rgba(255,255,255,.12);
}

.az-check-list li:last-child {
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.az-check-list li::before {
    content: "";
    position: absolute;
    top: 25px;
    left: 2px;
    width: 10px;
    height: 10px;
    background: var(--az-orange);
}

.az-area {
    padding: 74px 0;
    color: var(--az-deep);
    background: var(--az-orange);
}

.az-home .az-area .az-eyebrow {
    color: rgba(20,11,6,.62);
}

.az-home .az-area__title {
    max-width: 960px;
    margin: 0;
    color: var(--az-deep) !important;
    font-size: clamp(38px, 6vw, 70px) !important;
    line-height: 1 !important;
    letter-spacing: -.04em;
}

.az-area p:last-child {
    max-width: 680px;
    margin: 24px 0 0;
    font-size: 18px;
    line-height: 1.65;
}

.az-references {
    background: var(--az-white);
}

.az-references__inner {
    padding-right: min(10vw, 120px);
}

.az-final-cta {
    position: relative;
    overflow: hidden;
    padding: 92px 0;
    color: var(--az-white);
    background: var(--az-deep);
}

.az-final-cta::after {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    right: -120px;
    top: -180px;
    border: 64px solid rgba(255,85,15,.12);
    transform: rotate(20deg);
}

.az-final-cta__inner {
    position: relative;
    z-index: 1;
}

.az-home .az-final-cta h2 {
    max-width: 800px;
    margin: 0;
    color: var(--az-white) !important;
    font-size: clamp(38px, 5vw, 62px) !important;
    line-height: 1.03 !important;
}

.az-final-cta__inner > p:not(.az-eyebrow) {
    max-width: 680px;
    margin: 24px 0 0;
    color: rgba(255,255,255,.72);
    font-size: 18px;
}

@media (max-width: 921px) {
    .az-home .az-wrap {
        width: min(100% - 40px, 1180px);
    }

    .az-hero {
        min-height: 680px;
        padding-top: 150px;
        padding-bottom: 80px;
    }

    .az-hero__meta {
        gap: 20px;
        flex-wrap: wrap;
        margin-top: 54px;
    }

    .az-hero__meta p,
    .az-hero__meta p + p {
        min-width: 180px;
        padding: 18px 28px 0 0;
        border-left: 0;
    }

    .az-section {
        padding: 82px 0;
    }

    .az-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .az-about__grid {
        gap: 44px;
    }
}

@media (max-width: 600px) {
    .az-home .az-wrap {
        width: calc(100% - 30px);
    }

    .az-hero {
        min-height: auto;
        padding-top: 125px;
        padding-bottom: 64px;
    }

    .az-home .az-hero__title {
        font-size: 48px !important;
    }

    .az-hero__lead {
        margin-top: 26px;
        font-size: 17px;
    }

    .az-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .az-actions .wp-block-button,
    .az-actions .wp-block-button__link {
        width: 100%;
        text-align: center;
    }

    .az-hero__meta {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        margin-top: 48px;
    }

    .az-hero__meta p,
    .az-hero__meta p + p {
        padding: 18px 0;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.12);
    }

    .az-section {
        padding: 68px 0;
    }

    .az-service-grid {
        grid-template-columns: 1fr;
        margin-top: 40px;
    }

    .az-card {
        min-height: 0;
        padding: 28px;
    }

    .az-card__number {
        margin-bottom: 28px;
    }

    .az-about__grid {
        display: block !important;
    }

    .az-about__grid > .wp-block-column + .wp-block-column {
        margin-top: 42px;
    }

    .az-area {
        padding: 58px 0;
    }

    .az-final-cta {
        padding: 70px 0;
    }
}

/* AZ-06-001H HOMEPAGE OUTER BLOCK RESET
 * Remove Astra/Gutenberg default block padding around the homepage shell.
 * Scoped to homepage only; header settings remain untouched.
 */
.home .entry-content > .wp-block-group.az-home {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* ==========================================================
 * AZ-06-002 HOMEPAGE POLISH
 * Visual spacing, hierarchy and responsive refinement.
 * No Astra builder settings are changed here.
 * ========================================================== */

/* ---------- Hero refinement ---------- */

.az-hero {
    min-height: 720px;
    padding-top: 170px;
    padding-bottom: 92px;
}

.az-hero__meta {
    margin-top: 58px;
}

.az-hero__meta strong {
    font-size: 21px;
    font-weight: 700;
}

.az-hero__meta span {
    margin-top: 7px;
    color: rgba(255,255,255,.68);
    font-size: 13px;
    line-height: 1.4;
}


/* ---------- Global homepage rhythm ---------- */

.az-section {
    padding-top: 88px;
    padding-bottom: 88px;
}

.az-section-lead {
    margin-top: 20px;
}

.az-section-action {
    margin-top: 32px;
}


/* ---------- Services ---------- */

.az-service-grid {
    margin-top: 46px;
}

.az-card {
    min-height: 245px;
    padding: 30px;
}

.az-card__number {
    margin-bottom: 30px;
}


/* ---------- About ---------- */

.az-about__grid {
    gap: 68px;
}

.az-about__copy {
    max-width: 570px;
}


/* ---------- Service area ---------- */

.az-area {
    padding-top: 64px;
    padding-bottom: 64px;
}


/* ---------- References ---------- */

.az-references {
    padding-top: 76px;
    padding-bottom: 76px;
}

.az-references__inner {
    max-width: 960px;
    padding-right: 0;
}

.az-references .wp-block-buttons {
    margin-top: 28px;
}


/* ---------- Final CTA ---------- */

.az-final-cta {
    padding-top: 78px;
    padding-bottom: 78px;
}

.az-final-cta .az-actions {
    margin-top: 30px;
}


/* ---------- Footer refinement ---------- */

.site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
    padding-top: 62px !important;
    padding-bottom: 56px !important;
}

.site-primary-footer-wrap .widget {
    margin-bottom: 0;
}

.site-primary-footer-wrap .widget .wp-block-heading {
    margin-bottom: 14px;
}

.site-primary-footer-wrap p {
    margin-bottom: 14px;
}

.site-below-footer-wrap[data-section="section-below-footer-builder"] {
    min-height: 64px !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

.site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row {
    min-height: 36px !important;
}


/* ---------- Tablet ---------- */

@media (max-width: 921px) {

    .az-hero {
        min-height: 650px;
        padding-top: 140px;
        padding-bottom: 72px;
    }

    .az-section {
        padding-top: 72px;
        padding-bottom: 72px;
    }

    .az-service-grid {
        margin-top: 38px;
    }

    .az-about__grid {
        gap: 42px;
    }

    .az-area {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .az-references {
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .az-final-cta {
        padding-top: 68px;
        padding-bottom: 68px;
    }

    .site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
        padding-top: 52px !important;
        padding-bottom: 46px !important;
    }
}


/* ---------- Mobile ---------- */

@media (max-width: 600px) {

    .az-hero {
        padding-top: 118px;
        padding-bottom: 56px;
    }

    .az-home .az-hero__title {
        font-size: clamp(42px, 13vw, 52px) !important;
        line-height: 1 !important;
    }

    .az-hero__meta {
        margin-top: 40px;
    }

    .az-section {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .az-service-grid {
        margin-top: 32px;
    }

    .az-card {
        padding: 26px;
    }

    .az-area {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .az-references {
        padding-top: 52px;
        padding-bottom: 52px;
    }

    .az-final-cta {
        padding-top: 58px;
        padding-bottom: 58px;
    }

    .site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
        padding-top: 44px !important;
        padding-bottom: 38px !important;
    }

    .site-below-footer-wrap[data-section="section-below-footer-builder"] {
        min-height: 54px !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }
}


/* ==========================================================
 * AZ-07-001 LEISTUNGEN
 * Scoped styles for page ID 310.
 * ========================================================== */

.az-leistungen {
    --azl-orange: #ff550f;
    --azl-orange-dark: #d94300;
    --azl-dark: #140b06;
    --azl-deep: #1c0d0a;
    --azl-white: #ffffff;
    --azl-soft: #f7f2ee;
    --azl-text: #353535;
    --azl-muted: #675e59;
    --azl-border: rgba(28,13,10,.12);
}

.az-leistungen,
.az-leistungen *,
.az-leistungen *::before,
.az-leistungen *::after {
    box-sizing: border-box;
}

.page-id-310 .entry-header {
    display: none;
}

.page-id-310 .site-content > .ast-container {
    width: 100%;
    max-width: none;
    padding: 0;
    display: block;
}

.page-id-310 #primary,
.page-id-310 .site-main,
.page-id-310 article,
.page-id-310 .entry-content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.page-id-310 .entry-content > .wp-block-group.az-leistungen {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.az-leistungen .az-l-wrap {
    width: min(1180px, calc(100% - 48px));
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.az-l-hero {
    position: relative;
    overflow: hidden;
    min-height: 600px;
    padding: 165px 0 95px;
    color: var(--azl-white);
    background:
        radial-gradient(circle at 82% 30%, rgba(255,85,15,.22), transparent 28%),
        linear-gradient(125deg,#100804 0%,#1c0d0a 58%,#2b1209 100%);
}

.az-l-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .16;
    background-image:
        linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
    background-size: 72px 72px;
}

.az-l-hero > * {
    position: relative;
    z-index: 2;
}

.az-l-eyebrow {
    margin: 0 0 20px;
    color: var(--azl-orange);
    font-size: 13px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.az-l-eyebrow-dark {
    color: var(--azl-orange-dark);
}

.az-leistungen .az-l-hero-title {
    max-width: 940px;
    margin: 0;
    color: var(--azl-white) !important;
    font-size: clamp(48px,7vw,84px) !important;
    line-height: .99 !important;
    letter-spacing: -.045em;
}

.az-l-hero-lead {
    max-width: 760px;
    margin: 30px 0 0;
    color: rgba(255,255,255,.80);
    font-size: 19px;
    line-height: 1.7;
}

.az-l-actions {
    margin-top: 34px;
}

.az-leistungen .az-l-btn .wp-block-button__link {
    min-height: 54px;
    padding: 18px 29px;
    border: 1px solid transparent;
    border-radius: 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: .05em;
    text-transform: uppercase;
    text-decoration: none;
}

.az-leistungen .az-l-btn-primary .wp-block-button__link {
    color: var(--azl-dark);
    background: var(--azl-orange);
    border-color: var(--azl-orange);
}

.az-leistungen .az-l-btn-primary .wp-block-button__link:hover,
.az-leistungen .az-l-btn-primary .wp-block-button__link:focus {
    color: var(--azl-white);
    background: var(--azl-orange-dark);
    border-color: var(--azl-orange-dark);
}

.az-l-section {
    padding: 92px 0;
}

.az-l-services {
    background: var(--azl-soft);
}

.az-leistungen .az-l-section-title {
    max-width: 820px;
    margin: 0;
    color: var(--azl-deep) !important;
    font-size: clamp(36px,5vw,58px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.035em;
}

.az-leistungen .az-l-light {
    color: var(--azl-white) !important;
}

.az-l-section-lead {
    max-width: 720px;
    margin: 22px 0 0;
    color: var(--azl-muted);
    font-size: 18px;
    line-height: 1.7;
}

.az-l-grid {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
    margin-top: 48px;
}

.az-l-grid > .wp-block-column {
    min-width: 0;
    margin: 0;
}

.az-l-card {
    position: relative;
    height: 100%;
    min-height: 250px;
    padding: 30px;
    overflow: hidden;
    border: 1px solid var(--azl-border);
    background: var(--azl-white);
}

.az-l-card::after {
    content: "";
    position: absolute;
    right: -28px;
    bottom: -28px;
    width: 82px;
    height: 82px;
    border: 17px solid rgba(255,85,15,.08);
    transform: rotate(18deg);
}

.az-l-number {
    margin: 0 0 30px;
    color: var(--azl-orange);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .12em;
}

.az-leistungen .az-l-card h3 {
    margin: 0 0 14px;
    color: var(--azl-deep) !important;
    font-size: 23px !important;
    line-height: 1.15 !important;
}

.az-l-card p:last-child {
    margin-bottom: 0;
    color: var(--azl-muted);
    line-height: 1.65;
}

.az-l-process {
    color: rgba(255,255,255,.78);
    background: var(--azl-dark);
}

.az-l-process-grid {
    gap: 0;
    margin-top: 48px;
    border-top: 1px solid rgba(255,255,255,.14);
}

.az-l-process-grid > .wp-block-column {
    margin: 0;
}

.az-l-step {
    min-height: 245px;
    padding: 34px 34px 20px 0;
}

.az-l-process-grid > .wp-block-column + .wp-block-column .az-l-step {
    padding-left: 34px;
    border-left: 1px solid rgba(255,255,255,.14);
}

.az-l-step span {
    color: var(--azl-orange);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .14em;
}

.az-leistungen .az-l-step h3 {
    margin: 34px 0 14px;
    color: var(--azl-white) !important;
    font-size: 23px !important;
}

.az-l-step p {
    color: rgba(255,255,255,.70);
    line-height: 1.7;
}

.az-l-region {
    padding: 68px 0;
    color: var(--azl-deep);
    background: var(--azl-orange);
}

.az-l-eyebrow-region {
    color: rgba(20,11,6,.62);
}

.az-leistungen .az-l-region-title {
    max-width: 980px;
    margin: 0;
    color: var(--azl-deep) !important;
    font-size: clamp(38px,6vw,68px) !important;
    line-height: 1 !important;
    letter-spacing: -.04em;
}

.az-l-region p:last-child {
    max-width: 720px;
    margin: 23px 0 0;
    font-size: 18px;
    line-height: 1.65;
}

.az-l-cta {
    padding: 82px 0;
    color: var(--azl-white);
    background:
        linear-gradient(115deg,rgba(255,85,15,.07),transparent 42%),
        var(--azl-deep);
}

.az-leistungen .az-l-cta h2 {
    max-width: 800px;
    margin: 0;
    color: var(--azl-white) !important;
    font-size: clamp(38px,5vw,60px) !important;
    line-height: 1.04 !important;
}

.az-l-cta .az-l-wrap > p:not(.az-l-eyebrow) {
    max-width: 680px;
    margin: 22px 0 0;
    color: rgba(255,255,255,.72);
    font-size: 18px;
    line-height: 1.7;
}

@media (max-width: 921px) {

    .az-leistungen .az-l-wrap {
        width: min(100% - 40px,1180px);
    }

    .az-l-hero {
        min-height: 560px;
        padding-top: 140px;
        padding-bottom: 76px;
    }

    .az-l-section {
        padding: 72px 0;
    }

    .az-l-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        margin-top: 40px;
    }

    .az-l-process-grid {
        display: block !important;
    }

    .az-l-step,
    .az-l-process-grid > .wp-block-column + .wp-block-column .az-l-step {
        min-height: 0;
        padding: 28px 0;
        border-left: 0;
        border-bottom: 1px solid rgba(255,255,255,.14);
    }
}

@media (max-width: 600px) {

    .az-leistungen .az-l-wrap {
        width: calc(100% - 30px);
    }

    .az-l-hero {
        min-height: auto;
        padding-top: 118px;
        padding-bottom: 58px;
    }

    .az-leistungen .az-l-hero-title {
        font-size: clamp(42px,13vw,52px) !important;
    }

    .az-l-hero-lead {
        font-size: 17px;
    }

    .az-l-section {
        padding: 56px 0;
    }

    .az-l-grid {
        grid-template-columns: 1fr;
        margin-top: 32px;
    }

    .az-l-card {
        min-height: 0;
        padding: 26px;
    }

    .az-l-region {
        padding: 50px 0;
    }

    .az-l-cta {
        padding: 60px 0;
    }

    .az-l-actions,
    .az-l-actions .wp-block-button,
    .az-l-actions .wp-block-button__link {
        width: 100%;
    }

    .az-l-actions .wp-block-button__link {
        text-align: center;
    }
}


/* ==========================================================
 * AZ GLOBAL CENTER ALIGN HOME + LEISTUNGEN
 * Homepage #308 + Leistungen #310 only
 * Header and footer remain untouched.
 * ========================================================== */

/* ---------- HOMEPAGE ---------- */

.az-home .az-hero__inner,
.az-home .az-section-header,
.az-home .az-about__grid,
.az-home .az-area__inner,
.az-home .az-references__inner,
.az-home .az-final-cta__inner {
    text-align: center;
}

.az-home .az-hero__lead,
.az-home .az-section-lead,
.az-home .az-about__copy,
.az-home .az-references__inner > p,
.az-home .az-final-cta__inner > p {
    margin-left: auto;
    margin-right: auto;
}

.az-home .wp-block-buttons,
.az-home .az-actions {
    justify-content: center !important;
}

.az-home .az-hero__meta {
    justify-content: center;
}

.az-home .az-card {
    text-align: center;
}

.az-home .az-about__grid {
    justify-items: center;
}

.az-home .az-about__copy {
    text-align: center;
}

.az-home .az-about__copy ul,
.az-home .az-about__copy .wp-block-list {
    display: inline-block;
    text-align: left;
}


/* ---------- LEISTUNGEN ---------- */

.az-leistungen .az-l-hero .az-l-wrap,
.az-leistungen .az-l-services .az-l-wrap,
.az-leistungen .az-l-process .az-l-wrap,
.az-leistungen .az-l-region .az-l-wrap,
.az-leistungen .az-l-cta .az-l-wrap {
    text-align: center;
}

.az-leistungen .az-l-hero-title,
.az-leistungen .az-l-hero-lead,
.az-leistungen .az-l-section-title,
.az-leistungen .az-l-section-lead,
.az-leistungen .az-l-region-title,
.az-leistungen .az-l-region p:last-child,
.az-leistungen .az-l-cta h2,
.az-leistungen .az-l-cta .az-l-wrap > p:not(.az-l-eyebrow) {
    margin-left: auto;
    margin-right: auto;
}

.az-leistungen .az-l-actions,
.az-leistungen .wp-block-buttons {
    justify-content: center !important;
}

.az-leistungen .az-l-card {
    text-align: center;
}

.az-leistungen .az-l-step {
    text-align: center;
}


/* ---------- MOBILE ---------- */

@media (max-width: 600px) {

    .az-home .wp-block-button,
    .az-leistungen .wp-block-button {
        margin-left: auto;
        margin-right: auto;
    }
}


/* ==========================================================
 * AZ CENTER ALIGN FINAL AUTHORITATIVE FIX
 * Homepage + Leistungen content only.
 * Header/Footer are outside these wrappers and untouched.
 * ========================================================== */

/* Entire page-content alignment */
.az-home,
.az-leistungen {
    text-align: center !important;
}

/* All normal textual content */
.az-home h1,
.az-home h2,
.az-home h3,
.az-home h4,
.az-home p,
.az-home li,
.az-leistungen h1,
.az-leistungen h2,
.az-leistungen h3,
.az-leistungen h4,
.az-leistungen p,
.az-leistungen li {
    text-align: center !important;
}

/* Center constrained heading/text blocks themselves */
.az-home h1,
.az-home h2,
.az-home h3,
.az-home p,
.az-leistungen h1,
.az-leistungen h2,
.az-leistungen h3,
.az-leistungen p {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Eyebrows / small section labels */
.az-home .az-eyebrow,
.az-home [class*="eyebrow"],
.az-leistungen .az-l-eyebrow {
    width: 100% !important;
    max-width: none !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Buttons */
.az-home .wp-block-buttons,
.az-home .az-actions,
.az-leistungen .wp-block-buttons,
.az-leistungen .az-l-actions {
    justify-content: center !important;
    align-items: center !important;
}

/* Hero content */
.az-home .az-hero__inner,
.az-leistungen .az-l-hero .az-l-wrap {
    text-align: center !important;
}

.az-home .az-hero__title,
.az-home .az-hero__lead,
.az-leistungen .az-l-hero-title,
.az-leistungen .az-l-hero-lead {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

/* Homepage section blocks */
.az-home .az-section,
.az-home .az-about,
.az-home .az-area,
.az-home .az-references,
.az-home .az-final-cta {
    text-align: center !important;
}

/* Service cards */
.az-home .az-card,
.az-leistungen .az-l-card {
    text-align: center !important;
}

.az-home .az-card h3,
.az-home .az-card p,
.az-leistungen .az-l-card h3,
.az-leistungen .az-l-card p,
.az-leistungen .az-l-number {
    text-align: center !important;
}

/* Leistungen process steps */
.az-leistungen .az-l-step,
.az-leistungen .az-l-step h3,
.az-leistungen .az-l-step p,
.az-leistungen .az-l-step span {
    text-align: center !important;
}

/* Homepage statistics */
.az-home .az-hero__meta {
    justify-content: center !important;
    text-align: center !important;
}

.az-home .az-hero__meta > * {
    text-align: center !important;
}

/* Lists if present */
.az-home ul,
.az-leistungen ul {
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0;
    list-style-position: inside;
    text-align: center !important;
}


/* Mobile */
@media (max-width: 600px) {

    .az-home h1,
    .az-home h2,
    .az-home h3,
    .az-home p,
    .az-leistungen h1,
    .az-leistungen h2,
    .az-leistungen h3,
    .az-leistungen p {
        text-align: center !important;
    }

    .az-home .wp-block-buttons,
    .az-leistungen .wp-block-buttons {
        justify-content: center !important;
    }
}


/* ==========================================================
 * AZ-08-001 REFERENZEN
 * Page 309 only
 * ========================================================== */

.az-referenzen {
    --azr-orange:#ff550f;
    --azr-dark:#140b06;
    --azr-deep:#1c0d0a;
    --azr-soft:#f7f2ee;
    --azr-white:#fff;
    --azr-muted:#675e59;
    text-align:center;
}

.page-id-309 .entry-header {
    display:none;
}

.page-id-309 .site-content > .ast-container,
.page-id-309 #primary,
.page-id-309 .site-main,
.page-id-309 article,
.page-id-309 .entry-content {
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
}

.page-id-309 .entry-content > .az-referenzen {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

.az-r-wrap {
    width:min(1180px,calc(100% - 48px));
    margin:0 auto;
}

.az-r-eyebrow {
    margin:0 0 20px;
    color:var(--azr-orange);
    font-size:13px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
    text-align:center;
}

.az-r-hero {
    min-height:600px;
    padding:165px 0 90px;
    color:white;
    background:
        radial-gradient(circle at 80% 25%,rgba(255,85,15,.23),transparent 30%),
        linear-gradient(125deg,#100804,#1c0d0a 60%,#2b1209);
}

.az-referenzen .az-r-title {
    max-width:900px;
    margin:0 auto;
    color:white !important;
    font-size:clamp(52px,7vw,84px) !important;
    line-height:1 !important;
    letter-spacing:-.045em;
    text-align:center;
}

.az-r-lead {
    max-width:780px;
    margin:30px auto 0;
    color:rgba(255,255,255,.78);
    font-size:19px;
    line-height:1.7;
}

.az-r-actions {
    justify-content:center !important;
    margin-top:34px;
}

.az-r-actions .wp-block-button__link {
    padding:18px 30px;
    border-radius:0;
    background:var(--azr-orange);
    color:var(--azr-dark);
    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
}

.az-r-section {
    padding:88px 0;
}

.az-r-work {
    background:var(--azr-soft);
}

.az-r-eyebrow-dark {
    color:#d94300;
}

.az-referenzen .az-r-section-title,
.az-referenzen .az-r-proof-title {
    max-width:820px;
    margin:0 auto;
    color:var(--azr-deep) !important;
    font-size:clamp(38px,5vw,58px) !important;
    line-height:1.05 !important;
}

.az-r-section-lead {
    max-width:720px;
    margin:22px auto 0;
    color:var(--azr-muted);
    font-size:18px;
    line-height:1.7;
}

.az-r-grid {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-top:48px;
}

.az-r-grid > .wp-block-column {
    margin:0;
}

.az-r-card {
    height:100%;
    min-height:240px;
    padding:32px 28px;
    border:1px solid rgba(28,13,10,.12);
    background:white;
    text-align:center;
}

.az-r-card span {
    display:block;
    margin-bottom:26px;
    color:var(--azr-orange);
    font-size:13px;
    font-weight:700;
}

.az-referenzen .az-r-card h3 {
    margin:0 0 15px;
    color:var(--azr-deep) !important;
    font-size:23px !important;
    text-align:center;
}

.az-r-card p {
    margin:0;
    color:var(--azr-muted);
    line-height:1.65;
    text-align:center;
}

.az-r-proof {
    padding:86px 0;
    color:white;
    background:var(--azr-dark);
}

.az-referenzen .az-r-proof-title {
    color:white !important;
}

.az-r-proof .az-r-wrap > p:not(.az-r-eyebrow) {
    max-width:720px;
    margin:22px auto 0;
    color:rgba(255,255,255,.72);
    font-size:18px;
    line-height:1.7;
}

.az-r-region {
    padding:68px 0;
    background:var(--azr-orange);
    color:var(--azr-dark);
}

.az-r-region-label {
    color:rgba(20,11,6,.6);
}

.az-referenzen .az-r-region-title {
    max-width:980px;
    margin:0 auto;
    color:var(--azr-dark) !important;
    font-size:clamp(42px,6vw,68px) !important;
    line-height:1 !important;
}

.az-r-region p:last-child {
    max-width:720px;
    margin:24px auto 0;
    font-size:18px;
}

.az-r-cta {
    padding:82px 0;
    color:white;
    background:var(--azr-deep);
}

.az-referenzen .az-r-cta h2 {
    max-width:850px;
    margin:0 auto;
    color:white !important;
    font-size:clamp(40px,5vw,60px) !important;
    line-height:1.04 !important;
    text-align:center;
}

.az-r-cta .az-r-wrap > p:not(.az-r-eyebrow) {
    max-width:680px;
    margin:22px auto 0;
    color:rgba(255,255,255,.72);
    font-size:18px;
}

@media(max-width:921px) {
    .az-r-hero {
        min-height:540px;
        padding:140px 0 72px;
    }

    .az-r-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:600px) {
    .az-r-wrap {
        width:calc(100% - 30px);
    }

    .az-r-hero {
        min-height:auto;
        padding:118px 0 58px;
    }

    .az-referenzen .az-r-title {
        font-size:clamp(42px,13vw,52px) !important;
    }

    .az-r-grid {
        grid-template-columns:1fr;
        margin-top:32px;
    }

    .az-r-section,
    .az-r-proof,
    .az-r-cta {
        padding:58px 0;
    }

    .az-r-region {
        padding:50px 0;
    }

    .az-r-actions,
    .az-r-actions .wp-block-button,
    .az-r-actions .wp-block-button__link {
        width:100%;
    }
}


/* ==========================================================
 * AZ-09-001 UEBER UNS
 * Page ID 13 only
 * ========================================================== */

.az-about-page {
    --aza-orange:#ff550f;
    --aza-dark:#140b06;
    --aza-deep:#1c0d0a;
    --aza-soft:#f7f2ee;
    --aza-white:#fff;
    --aza-muted:#675e59;
    text-align:center;
}

.page-id-13 .entry-header {
    display:none;
}

.page-id-13 .site-content > .ast-container,
.page-id-13 #primary,
.page-id-13 .site-main,
.page-id-13 article,
.page-id-13 .entry-content {
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
}

.page-id-13 .entry-content > .az-about-page {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

.az-a-wrap {
    width:min(1180px,calc(100% - 48px));
    margin:0 auto;
}

.az-a-eyebrow {
    margin:0 0 20px;
    color:var(--aza-orange);
    font-size:13px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
    text-align:center;
}

.az-a-eyebrow-dark {
    color:#d94300;
}

.az-a-hero {
    min-height:600px;
    padding:165px 0 92px;
    color:white;
    background:
        radial-gradient(circle at 80% 28%,rgba(255,85,15,.22),transparent 30%),
        linear-gradient(125deg,#100804,#1c0d0a 58%,#2b1209);
}

.az-about-page .az-a-title {
    max-width:940px;
    margin:0 auto;
    color:white !important;
    font-size:clamp(52px,7vw,84px) !important;
    line-height:1 !important;
    letter-spacing:-.045em;
    text-align:center;
}

.az-a-lead {
    max-width:780px;
    margin:30px auto 0;
    color:rgba(255,255,255,.8);
    font-size:19px;
    line-height:1.7;
}

.az-a-actions {
    justify-content:center !important;
    margin-top:34px;
}

.az-a-actions .wp-block-button__link {
    padding:18px 30px;
    border-radius:0;
    background:var(--aza-orange);
    color:var(--aza-dark);
    font-size:14px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.az-a-section {
    padding:88px 0;
    background:var(--aza-soft);
}

.az-about-page .az-a-section-title,
.az-about-page .az-a-management-title {
    max-width:850px;
    margin:0 auto;
    font-size:clamp(38px,5vw,58px) !important;
    line-height:1.05 !important;
    letter-spacing:-.035em;
    text-align:center;
}

.az-a-section-lead {
    max-width:760px;
    margin:22px auto 0;
    color:var(--aza-muted);
    font-size:18px;
    line-height:1.7;
}

.az-a-values {
    gap:0;
    margin-top:48px;
    border-top:1px solid rgba(28,13,10,.13);
}

.az-a-values > .wp-block-column {
    margin:0;
}

.az-a-value {
    min-height:235px;
    padding:34px;
}

.az-a-values > .wp-block-column + .wp-block-column .az-a-value {
    border-left:1px solid rgba(28,13,10,.13);
}

.az-a-value span,
.az-a-service-card span {
    display:block;
    color:var(--aza-orange);
    font-size:13px;
    font-weight:700;
    letter-spacing:.12em;
}

.az-about-page .az-a-value h3 {
    margin:28px 0 14px;
    color:var(--aza-deep) !important;
    font-size:23px !important;
    text-align:center;
}

.az-a-value p {
    color:var(--aza-muted);
    line-height:1.65;
}

.az-a-management {
    padding:88px 0;
    color:white;
    background:var(--aza-dark);
}

.az-about-page .az-a-management-title {
    color:white !important;
}

.az-a-people {
    max-width:850px;
    margin:48px auto 0;
    gap:18px;
}

.az-a-person {
    height:100%;
    padding:38px 28px;
    border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.035);
}

.az-a-person span {
    color:var(--aza-orange);
    font-size:12px;
    font-weight:700;
    letter-spacing:.15em;
}

.az-about-page .az-a-person h3 {
    margin:18px 0 14px;
    color:white !important;
    font-size:30px !important;
    text-align:center;
}

.az-a-person p {
    margin:0;
}

.az-a-person a {
    color:rgba(255,255,255,.78);
    text-decoration:none;
}

.az-a-person a:hover {
    color:var(--aza-orange);
}

.az-a-service-grid {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-top:48px;
}

.az-a-service-grid > .wp-block-column {
    margin:0;
}

.az-a-service-card {
    height:100%;
    min-height:150px;
    padding:30px 24px;
    border:1px solid rgba(28,13,10,.12);
    background:white;
}

.az-about-page .az-a-service-card h3 {
    margin:24px 0 0;
    color:var(--aza-deep) !important;
    font-size:22px !important;
    line-height:1.2 !important;
    text-align:center;
}

.az-a-region {
    padding:68px 0;
    color:var(--aza-dark);
    background:var(--aza-orange);
}

.az-a-region-label {
    color:rgba(20,11,6,.6);
}

.az-about-page .az-a-region-title {
    max-width:980px;
    margin:0 auto;
    color:var(--aza-dark) !important;
    font-size:clamp(42px,6vw,68px) !important;
    line-height:1 !important;
    letter-spacing:-.04em;
    text-align:center;
}

.az-a-region p:last-child {
    max-width:720px;
    margin:24px auto 0;
    font-size:18px;
}

.az-a-cta {
    padding:82px 0;
    color:white;
    background:var(--aza-deep);
}

.az-about-page .az-a-cta h2 {
    max-width:850px;
    margin:0 auto;
    color:white !important;
    font-size:clamp(40px,5vw,60px) !important;
    line-height:1.04 !important;
    text-align:center;
}

.az-a-cta .az-a-wrap > p:not(.az-a-eyebrow) {
    max-width:700px;
    margin:22px auto 0;
    color:rgba(255,255,255,.72);
    font-size:18px;
    line-height:1.7;
}

@media(max-width:921px) {

    .az-a-hero {
        min-height:540px;
        padding:140px 0 72px;
    }

    .az-a-service-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .az-a-values {
        display:block !important;
    }

    .az-a-value,
    .az-a-values > .wp-block-column + .wp-block-column .az-a-value {
        min-height:0;
        border-left:0;
        border-bottom:1px solid rgba(28,13,10,.13);
    }
}

@media(max-width:600px) {

    .az-a-wrap {
        width:calc(100% - 30px);
    }

    .az-a-hero {
        min-height:auto;
        padding:118px 0 58px;
    }

    .az-about-page .az-a-title {
        font-size:clamp(42px,13vw,52px) !important;
    }

    .az-a-section,
    .az-a-management,
    .az-a-cta {
        padding:58px 0;
    }

    .az-a-service-grid {
        grid-template-columns:1fr;
        margin-top:32px;
    }

    .az-a-people {
        display:block !important;
    }

    .az-a-people > .wp-block-column + .wp-block-column {
        margin-top:18px;
    }

    .az-a-region {
        padding:50px 0;
    }

    .az-a-actions,
    .az-a-actions .wp-block-button,
    .az-a-actions .wp-block-button__link {
        width:100%;
    }
}


/* ==========================================================
 * AZ-10-001 KONTAKT
 * Page ID 15 only
 * ========================================================== */

.az-kontakt {
    --azk-orange:#ff550f;
    --azk-orange-dark:#d94300;
    --azk-dark:#140b06;
    --azk-deep:#1c0d0a;
    --azk-soft:#f7f2ee;
    --azk-white:#fff;
    --azk-muted:#675e59;
    text-align:center;
}

.page-id-15 .entry-header {
    display:none;
}

.page-id-15 .site-content > .ast-container,
.page-id-15 #primary,
.page-id-15 .site-main,
.page-id-15 article,
.page-id-15 .entry-content {
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
}

.page-id-15 .entry-content > .az-kontakt {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

.az-k-wrap {
    width:min(1180px,calc(100% - 48px));
    margin:0 auto;
}

.az-k-eyebrow {
    margin:0 0 20px;
    color:var(--azk-orange);
    font-size:13px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
    text-align:center;
}

.az-k-eyebrow-dark {
    color:var(--azk-orange-dark);
}

.az-k-hero {
    min-height:600px;
    padding:165px 0 92px;
    color:white;
    background:
        radial-gradient(circle at 80% 28%,rgba(255,85,15,.22),transparent 30%),
        linear-gradient(125deg,#100804,#1c0d0a 58%,#2b1209);
}

.az-kontakt .az-k-title {
    max-width:980px;
    margin:0 auto;
    color:white !important;
    font-size:clamp(50px,7vw,82px) !important;
    line-height:1 !important;
    letter-spacing:-.045em;
    text-align:center;
}

.az-k-lead {
    max-width:790px;
    margin:30px auto 0;
    color:rgba(255,255,255,.8);
    font-size:19px;
    line-height:1.7;
}

.az-k-actions {
    justify-content:center !important;
    gap:12px;
    margin-top:34px;
}

.az-k-actions .wp-block-button__link {
    min-height:54px;
    padding:18px 30px;
    border:1px solid var(--azk-orange);
    border-radius:0;
    background:var(--azk-orange);
    color:var(--azk-dark);
    font-size:14px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    text-decoration:none;
}

.az-k-actions .is-style-outline .wp-block-button__link {
    color:white;
    background:transparent;
    border-color:rgba(255,255,255,.45);
}

.az-k-section {
    padding:88px 0;
}

.az-k-details {
    background:var(--azk-soft);
}

.az-kontakt .az-k-section-title,
.az-kontakt .az-k-form-title {
    max-width:850px;
    margin:0 auto;
    font-size:clamp(38px,5vw,58px) !important;
    line-height:1.05 !important;
    letter-spacing:-.035em;
    text-align:center;
}

.az-k-section-lead,
.az-k-form-lead {
    max-width:750px;
    margin:22px auto 0;
    font-size:18px;
    line-height:1.7;
}

.az-k-section-lead {
    color:var(--azk-muted);
}

.az-k-grid {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    max-width:980px;
    margin:48px auto 0;
}

.az-k-grid > .wp-block-column {
    margin:0;
}

.az-k-card {
    height:100%;
    min-height:210px;
    padding:34px 28px;
    border:1px solid rgba(28,13,10,.12);
    background:white;
    text-align:center;
}

.az-k-card > span {
    display:block;
    color:var(--azk-orange);
    font-size:12px;
    font-weight:700;
    letter-spacing:.15em;
}

.az-kontakt .az-k-card h3 {
    margin:24px 0 14px;
    color:var(--azk-deep) !important;
    font-size:24px !important;
    line-height:1.2 !important;
    text-align:center;
}

.az-k-card p {
    margin:0;
    color:var(--azk-muted);
    line-height:1.7;
    text-align:center;
}

.az-k-card a {
    color:var(--azk-deep);
    font-weight:600;
    text-decoration:none;
}

.az-k-card a:hover,
.az-k-card a:focus {
    color:var(--azk-orange-dark);
}

.az-k-form-section {
    padding:88px 0;
    color:white;
    background:var(--azk-dark);
}

.az-kontakt .az-k-form-title {
    color:white !important;
}

.az-k-form-lead {
    color:rgba(255,255,255,.72);
}

.az-k-form-box {
    max-width:820px;
    margin:48px auto 0 !important;
    padding:38px !important;
    background:white;
    color:var(--azk-deep);
    text-align:left;
}

/* Keep form fields readable while page headings/actions remain centered */
.az-k-form-box form {
    margin-left:auto;
    margin-right:auto;
}

.az-k-form-box label {
    text-align:left;
}

.az-k-form-box input:not([type="checkbox"]):not([type="radio"]),
.az-k-form-box textarea,
.az-k-form-box select {
    width:100%;
}

.az-k-form-box button[type="submit"],
.az-k-form-box input[type="submit"],
.az-k-form-box .srfm-submit-button {
    display:block;
    margin-left:auto !important;
    margin-right:auto !important;
}

.az-k-location {
    padding:68px 0;
    color:var(--azk-dark);
    background:var(--azk-orange);
}

.az-k-location-label {
    color:rgba(20,11,6,.6);
}

.az-kontakt .az-k-location-title {
    max-width:980px;
    margin:0 auto;
    color:var(--azk-dark) !important;
    font-size:clamp(40px,6vw,65px) !important;
    line-height:1 !important;
    letter-spacing:-.04em;
    text-align:center;
}

.az-k-location p:last-child {
    max-width:760px;
    margin:24px auto 0;
    font-size:18px;
    line-height:1.7;
}

.az-k-call {
    padding:82px 0;
    color:white;
    background:var(--azk-deep);
}

.az-kontakt .az-k-call h2 {
    max-width:800px;
    margin:0 auto;
    color:white !important;
    font-size:clamp(40px,5vw,60px) !important;
    line-height:1.04 !important;
    text-align:center;
}

.az-k-call .az-k-wrap > p:not(.az-k-eyebrow) {
    max-width:700px;
    margin:22px auto 0;
    color:rgba(255,255,255,.72);
    font-size:18px;
    line-height:1.7;
}

@media(max-width:921px) {

    .az-k-hero {
        min-height:540px;
        padding:140px 0 72px;
    }

    .az-k-grid {
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:600px) {

    .az-k-wrap {
        width:calc(100% - 30px);
    }

    .az-k-hero {
        min-height:auto;
        padding:118px 0 58px;
    }

    .az-kontakt .az-k-title {
        font-size:clamp(41px,12.5vw,52px) !important;
    }

    .az-k-section,
    .az-k-form-section,
    .az-k-call {
        padding:58px 0;
    }

    .az-k-grid {
        grid-template-columns:1fr;
        margin-top:32px;
    }

    .az-k-card {
        min-height:0;
        padding:28px 22px;
    }

    .az-k-form-box {
        margin-top:34px !important;
        padding:22px !important;
    }

    .az-k-location {
        padding:50px 0;
    }

    .az-k-actions,
    .az-k-actions .wp-block-button,
    .az-k-actions .wp-block-button__link {
        width:100%;
    }
}


/* ==========================================================
 * AZ-10-002F CONTACT FORM VISUAL FIX
 * SureForms + phone CTA appearance only.
 * Page ID 15.
 * ========================================================== */

/* ---------- SureForms white panel ---------- */

.az-k-form-box,
.az-k-form-box .srfm-form-container,
.az-k-form-box .srfm-form,
.az-k-form-box .srfm-single-form {
    color:#1c0d0a !important;
}

/* Labels / descriptions / messages */
.az-k-form-box label,
.az-k-form-box .srfm-block-label,
.az-k-form-box .srfm-label,
.az-k-form-box .srfm-description,
.az-k-form-box .srfm-helper-text,
.az-k-form-box .srfm-error-message,
.az-k-form-box p,
.az-k-form-box span {
    color:#1c0d0a !important;
}

/* Fields */
.az-k-form-box input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.az-k-form-box textarea,
.az-k-form-box select,
.az-k-form-box .srfm-input-common {
    width:100% !important;
    color:#1c0d0a !important;
    background:#ffffff !important;
    border:1px solid #cfc7c2 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    opacity:1 !important;
}

.az-k-form-box input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.az-k-form-box select {
    min-height:50px !important;
}

.az-k-form-box textarea {
    min-height:150px !important;
}

/* Placeholder visibility */
.az-k-form-box input::placeholder,
.az-k-form-box textarea::placeholder {
    color:#756d68 !important;
    opacity:1 !important;
}

/* Focus state */
.az-k-form-box input:focus,
.az-k-form-box textarea:focus,
.az-k-form-box select:focus,
.az-k-form-box .srfm-input-common:focus {
    color:#1c0d0a !important;
    background:#ffffff !important;
    border-color:#ff550f !important;
    outline:2px solid rgba(255,85,15,.18) !important;
    outline-offset:1px;
}

/* SureForms submit button */
.az-k-form-box button[type="submit"],
.az-k-form-box input[type="submit"],
.az-k-form-box .srfm-submit-button,
.az-k-form-box .srfm-submit-wrap button {
    display:block !important;
    width:auto !important;
    min-width:150px;
    min-height:50px;
    margin:28px auto 0 !important;
    padding:15px 26px !important;
    color:#140b06 !important;
    background:#ff550f !important;
    border:1px solid #ff550f !important;
    border-radius:0 !important;
    opacity:1 !important;
    font-weight:700 !important;
    text-transform:uppercase;
    cursor:pointer;
}

/* ---------- Phone CTA buttons ---------- */

.az-k-call-actions .wp-block-button:first-child .wp-block-button__link {
    color:#140b06 !important;
    background:#ff550f !important;
    border-color:#ff550f !important;
}

.az-k-call-actions .wp-block-button.is-style-outline .wp-block-button__link,
.az-k-call-actions .wp-block-button:nth-child(2) .wp-block-button__link {
    color:#ffffff !important;
    background:transparent !important;
    border:1px solid rgba(255,255,255,.65) !important;
}

.az-k-call-actions .wp-block-button.is-style-outline .wp-block-button__link:hover,
.az-k-call-actions .wp-block-button:nth-child(2) .wp-block-button__link:hover {
    color:#140b06 !important;
    background:#ffffff !important;
    border-color:#ffffff !important;
}


/* Mobile */
@media (max-width:600px) {

    .az-k-form-box button[type="submit"],
    .az-k-form-box input[type="submit"],
    .az-k-form-box .srfm-submit-button,
    .az-k-form-box .srfm-submit-wrap button {
        width:100% !important;
    }

    .az-k-call-actions .wp-block-button,
    .az-k-call-actions .wp-block-button__link {
        width:100% !important;
    }
}

/* ==========================================================
 * AZ-13-003 FOOTER POLISH
 * Footer visual cleanup only
 * ========================================================== */

.site-primary-footer-wrap[data-section="section-primary-footer-builder"]{
    padding-top:46px !important;
    padding-bottom:34px !important;
}

.site-primary-footer-wrap[data-section="section-primary-footer-builder"] .ast-builder-grid-row{
    align-items:start;
}

.site-primary-footer-wrap[data-section="section-primary-footer-builder"] .footer-widget-area-inner{
    width:100%;
}

.site-primary-footer-wrap[data-section="section-primary-footer-builder"] .widget{
    margin-bottom:0;
}

.site-primary-footer-wrap[data-section="section-primary-footer-builder"] .wp-block-heading{
    margin:0 0 14px;
}

.az-footer-links-list{
    list-style:none;
    margin:0;
    padding:0;
}

.az-footer-links-list li{
    margin:0 0 6px;
}

.az-footer-links-list a,
.az-footer-legal a{
    text-decoration:none;
}

.az-footer-legal{
    margin:18px 0 0;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.14);
    font-size:15px;
    line-height:1.6;
}

.az-footer-sep{
    opacity:.7;
    display:inline-block;
    margin:0 .35em;
}

.site-below-footer-wrap[data-section="section-below-footer-builder"]{
    min-height:auto !important;
    padding-top:14px !important;
    padding-bottom:14px !important;
}

@media (max-width:921px){
    .site-primary-footer-wrap[data-section="section-primary-footer-builder"]{
        padding-top:40px !important;
        padding-bottom:30px !important;
    }

    .az-footer-legal{
        margin-top:16px;
        padding-top:12px;
    }
}

@media (max-width:600px){
    .az-footer-legal{
        text-align:left;
    }
}

/* ==========================================================
 * AZ-14 LOGO RESPONSIVE POLISH
 * ========================================================== */

.site-logo-img,
.custom-logo{
    width:auto;
    height:auto;
    max-height:78px;
    max-width:260px;
    object-fit:contain;
}

/* Desktop */
@media (min-width:922px){
    .site-logo-img,
    .custom-logo{
        max-height:82px;
        max-width:280px;
    }
}

/* Tablet */
@media (max-width:921px){
    .site-logo-img,
    .custom-logo{
        max-height:68px;
        max-width:220px;
    }
}

/* Mobile */
@media (max-width:600px){
    .site-logo-img,
    .custom-logo{
        max-height:54px;
        max-width:180px;
    }

    .site-header-primary-section .ast-builder-layout-element{
        align-items:center;
    }
}


/* ==========================================================
 * AZ FOOTER LEGAL LINKS MOBILE CENTER
 * Impressum + Datenschutz in footer only
 * ========================================================== */

@media (max-width:600px){

    #block-24 p:has(a[href*="/impressum/"]),
    #block-24 div:has(> a[href*="/impressum/"]){
        text-align:center !important;
        justify-content:center !important;
        width:100%;
        margin-left:auto !important;
        margin-right:auto !important;
    }

}


/* ==========================================================
 * AZ FOOTER LEGAL MOBILE CENTER — FINAL
 * ========================================================== */

@media (max-width:600px){

    .site-footer .az-footer-legal{
        display:block !important;
        width:100% !important;
        text-align:center !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    .site-footer .az-footer-legal a,
    .site-footer .az-footer-legal .az-footer-sep{
        display:inline !important;
    }

}


/* ==========================================================
 * AZ PREMIUM MOTION POLISH
 * Subtle, performance-friendly interaction
 * ========================================================== */

.wp-block-button__link,
.ast-custom-button,
button,
input[type="submit"]{
    transition:
        transform 180ms cubic-bezier(.2,.8,.2,1),
        box-shadow 180ms cubic-bezier(.2,.8,.2,1),
        opacity 180ms ease !important;
}

@media (hover:hover) and (pointer:fine){

    .wp-block-button__link:hover,
    .ast-custom-button:hover,
    input[type="submit"]:hover{
        transform:translate3d(0,-2px,0);
    }

    .site-header a,
    .site-footer a{
        transition:
            opacity 180ms ease,
            transform 180ms cubic-bezier(.2,.8,.2,1);
    }
}

.wp-block-button__link:active,
.ast-custom-button:active,
input[type="submit"]:active{
    transform:translate3d(0,0,0) scale(.985);
}


/* Mobile: even quieter */
@media (max-width:600px){

    .wp-block-button__link,
    .ast-custom-button,
    button,
    input[type="submit"]{
        transition-duration:150ms !important;
    }
}


/* Accessibility */
@media (prefers-reduced-motion:reduce){

    *,
    *::before,
    *::after{
        scroll-behavior:auto !important;
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
    }
}


/* ==========================================================
 * AZ COPYRIGHT CENTER
 * ========================================================== */

.site-below-footer-wrap .site-footer-below-section-1,
.site-below-footer-wrap .ast-footer-copyright{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
}

.site-below-footer-wrap .ast-footer-copyright p{
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
}

