/* Kermzilla final visual polish pass */
:root {
    --kz-ink: #f7fff4;
    --kz-muted-strong: rgba(247, 255, 244, 0.76);
    --kz-panel-dark: #0b0b0d;
    --kz-panel-edge: rgba(255, 255, 255, 0.13);
    --kz-title-font: "DM Sans", sans-serif;
    --kz-title-weight: 500;
    --kz-title-major-size: clamp(2.45rem, 4.8vw, 5.15rem);
    --kz-title-tracking: -0.012em;
    --kz-title-leading: 1;
}

/* One title language site-wide, based on the lighter What Matters card title. */
body .kz-title {
    font-family: var(--kz-title-font) !important;
    font-style: normal !important;
    font-weight: var(--kz-title-weight) !important;
    letter-spacing: var(--kz-title-tracking) !important;
    word-spacing: 0.12em !important;
    text-wrap: balance;
}

body .kz-title .kermzilla-wordmark {
    font-family: inherit !important;
    font-style: inherit !important;
    font-weight: inherit !important;
}

body main .kz-title.kz-title--major,
body .kz-footer .kz-title.kz-title--major {
    font-family: var(--kz-title-font) !important;
    font-style: normal !important;
    font-size: var(--kz-title-major-size) !important;
    font-weight: var(--kz-title-weight) !important;
    letter-spacing: var(--kz-title-tracking) !important;
    line-height: var(--kz-title-leading) !important;
    word-spacing: 0.12em !important;
}

body .kz-title.kz-title--compact {
    font-family: var(--kz-title-font) !important;
    font-style: normal !important;
    font-weight: var(--kz-title-weight) !important;
    letter-spacing: var(--kz-title-tracking) !important;
    line-height: 1.08 !important;
    word-spacing: 0.12em !important;
}

.kermzilla-article-body :is(h2, h3) {
    font-family: var(--kz-title-font) !important;
    font-style: normal !important;
    font-weight: var(--kz-title-weight) !important;
    letter-spacing: var(--kz-title-tracking) !important;
    line-height: 1.08 !important;
    word-spacing: 0.12em !important;
}

@media (max-width: 991.98px) {
    :root {
        --kz-title-major-size: clamp(2.35rem, 11vw, 4.4rem);
    }
}

/* Keep long template-generated headings from overwhelming the page. */
.at-service-area .text-scale-anim,
.at-service-area .fz-ds-1,
.sec-1-portfolio-details-2 h1.fz-ds-1,
.sec-1-portfolio-1 h1.fz-ds-1,
.legal-hero h1.fz-ds-1 {
    font-size: clamp(2.45rem, 4.8vw, 5.15rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.055em !important;
    max-width: 880px;
}

.at-service-area .item .container {
    border-radius: 2rem;
    border: 1px solid var(--kz-panel-edge);
    background:
        radial-gradient(circle at 8% 10%, rgba(255, 255, 255, 0.055), transparent 26rem),
        linear-gradient(135deg, #070707 0%, #101113 54%, #060606 100%) !important;
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.28);
    padding-left: clamp(1.5rem, 3vw, 3.25rem) !important;
    padding-right: clamp(1.5rem, 3vw, 3.25rem) !important;
    margin-bottom: 2rem;
}

.at-service-area .item p,
.at-service-area .item li {
    color: var(--kz-muted-strong) !important;
}

.at-service-area .item p.fz-font-2xl {
    font-size: clamp(1.15rem, 1.55vw, 1.55rem) !important;
    line-height: 1.55 !important;
    max-width: 680px;
}

.at-service-area .item ul {
    list-style: none;
    padding-left: 0 !important;
    margin: 0.35rem 0 0;
    display: grid;
    gap: 0.55rem;
}

.at-service-area .item ul li {
    position: relative;
    padding: 0.58rem 0.75rem 0.58rem 2rem;
    border-radius: 999px;
    border: 1px solid rgba(141, 227, 139, 0.15);
    background: rgba(255, 255, 255, 0.045);
    font-size: 0.95rem;
    line-height: 1.2;
    white-space: normal !important;
}

.at-service-area .item ul li::before {
    content: "";
    position: absolute;
    left: 0.75rem;
    top: 50%;
    width: 0.48rem;
    height: 0.48rem;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #8de38b;
    box-shadow: 0 0 14px rgba(141, 227, 139, 0.5);
}

.kermzilla-offer-media {
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
}

.kermzilla-offer-media img {
    min-height: 340px;
    object-fit: cover;
}

/* Better page headers: still bold, but not absurdly tall on long phrases. */
.sec-1-portfolio-1,
.sec-1-portfolio-details-2,
.legal-hero {
    background:
        radial-gradient(circle at 12% 8%, rgba(255, 255, 255, 0.055), transparent 28rem),
        linear-gradient(180deg, #050505 0%, #0b0b0d 100%) !important;
}

.contact-page-card,
.sec-2-home-5__card,
.legal-card,
.platform-stack-card {
    border-radius: 1.35rem !important;
}

.blog-card-2 {
    border-radius: 1.4rem !important;
    overflow: hidden;
}

.blog-card-2__title-link,
.blog-card-2__author,
.sec-2-home-5__card a {
    text-decoration-thickness: 1px;
    text-underline-offset: 0.22em;
}

/* Mobile-safe footer: remove split text animation from footer and keep links aligned. */
.kz-footer {
    overflow: hidden;
}

.kz-footer .footer-2-border {
    border-color: rgba(255, 255, 255, 0.12) !important;
}

.kz-footer__copyright {
    display: block;
    color: rgba(247, 255, 244, 0.62);
    font-size: 1rem;
    margin-bottom: 0.35rem;
}

.kz-footer__title-wrap {
    max-width: 100%;
}

.kz-footer__title {
    font-size: clamp(3.1rem, 10.2vw, 8.6rem) !important;
    line-height: 0.92 !important;
    letter-spacing: -0.055em !important;
    white-space: nowrap;
    max-width: 100%;
}

.kz-footer__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem 1.15rem;
    align-items: center;
}

.kz-footer__nav .at-btn {
    height: auto !important;
    min-height: 1.8rem;
    line-height: 1.2 !important;
    font-size: 1rem;
    font-weight: 700;
}

.kz-footer__nav .at-btn span,
.kz-footer__nav .at-btn .text-1,
.kz-footer__nav .at-btn .text-2 {
    transform: none !important;
    transition: none !important;
    color: rgba(247, 255, 244, 0.76) !important;
}

.kz-footer__nav .at-btn .text-2 {
    display: none !important;
}

@media (max-width: 575.98px) {
    .kz-footer .at-footer-area {
        padding-top: 3.25rem !important;
    }

    .kz-footer .footer-2-border {
        padding-top: 1.8rem !important;
        padding-bottom: 2.2rem !important;
    }

    .kz-footer__title {
        font-size: clamp(2.35rem, 10.8vw, 3.25rem) !important;
        line-height: 0.98 !important;
        letter-spacing: -0.045em !important;
    }

    .kz-footer__nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.65rem 0.75rem;
        padding-top: 1.35rem !important;
        max-width: 24rem;
    }

    .kz-footer__nav .at-btn {
        justify-content: flex-start;
        width: 100%;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Keep the shop/platform/light sections crisp against the darker site. */
.platform-stack-section {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65), inset 0 -1px 0 rgba(10,28,12,.06);
}

@media (max-width: 991.98px) {
    .at-service-area .text-scale-anim,
    .at-service-area .fz-ds-1,
    .sec-1-portfolio-details-2 h1.fz-ds-1,
    .sec-1-portfolio-1 h1.fz-ds-1,
    .legal-hero h1.fz-ds-1 {
        font-size: clamp(2.35rem, 11vw, 4.4rem) !important;
        line-height: 1.02 !important;
    }

    .at-service-area .item .container {
        border-radius: 1.35rem;
    }

    .kermzilla-offer-media img {
        min-height: 260px;
    }
}


/* Global display-heading readability: the large template type is too tight at Kermzilla scale. */
.fz-ds-1,
.fz-160,
.fz-170,
.fz-200,
.fz-290,
.at-section-title,
.section-title,
.kermzilla-section-heading__title,
.legal-static-title {
    letter-spacing: -0.032em !important;
}

@media (max-width: 991.98px) {
    .fz-ds-1,
    .fz-160,
    .fz-170,
    .fz-200,
    .fz-290,
    .at-section-title,
    .section-title,
    .kermzilla-section-heading__title,
    .legal-static-title {
        letter-spacing: -0.024em !important;
    }
}


/* Dark contact / submit-message form. */
.contact-page-shell {
    background:
        radial-gradient(circle at 12% 8%, rgba(141, 227, 139, 0.09), transparent 30rem),
        radial-gradient(circle at 88% 18%, rgba(255, 255, 255, 0.055), transparent 34rem),
        linear-gradient(180deg, #050505 0%, #0b0d0b 48%, #050505 100%) !important;
    color: #f8fff7;
}

.contact-page-panel {
    background:
        radial-gradient(circle at 18% 0%, rgba(141, 227, 139, 0.10), transparent 30rem),
        linear-gradient(145deg, rgba(255,255,255,0.06), rgba(255,255,255,0.018)) !important;
    border: 1px solid rgba(255,255,255,0.11);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 30px 90px rgba(0,0,0,0.34);
}

.contact-page-shell .sec-1-portfolio-1 {
    border-color: rgba(255,255,255,0.10) !important;
}

.contact-page-shell .sec-1-portfolio-1 h1,
.contact-page-shell .sec-1-portfolio-1 p,
.contact-page-shell .sec-1-portfolio-1 .at-btn,
.contact-page-shell .sec-1-portfolio-1 .text-1,
.contact-page-shell .sec-1-portfolio-1 .text-2 {
    color: #f8fff7 !important;
}

.contact-page-shell .sec-1-portfolio-1 p {
    color: rgba(248,255,247,0.72) !important;
}

.contact-page-card {
    background:
        radial-gradient(circle at 22% 0%, rgba(141, 227, 139, 0.13), transparent 24rem),
        linear-gradient(145deg, rgba(9,12,10,0.96), rgba(16,18,17,0.92)) !important;
    border: 1px solid rgba(255,255,255,0.13) !important;
    box-shadow: 0 28px 90px rgba(0,0,0,0.48), inset 0 1px 0 rgba(255,255,255,0.09) !important;
}

.contact-page-label {
    color: rgba(248,255,247,0.78) !important;
}

.contact-page-card .sec-4-about-form__input {
    color: #f8fff7 !important;
    background: rgba(255,255,255,0.045) !important;
    border: 1px solid rgba(255,255,255,0.13) !important;
    border-radius: 1rem !important;
    padding: 1rem 1.1rem !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.055);
}

.contact-page-card .sec-4-about-form__input::placeholder {
    color: rgba(248,255,247,0.42) !important;
}

.contact-page-card .sec-4-about-form__input::-moz-placeholder {
    color: rgba(248,255,247,0.42) !important;
}

.contact-page-card .sec-4-about-form__input:focus {
    background: rgba(255,255,255,0.075) !important;
    border-color: rgba(141,227,139,0.72) !important;
    box-shadow: 0 0 0 0.22rem rgba(141,227,139,0.13), inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

.contact-page-card .sec-4-about-form__textarea {
    min-height: 12rem;
}

.contact-page-card .sec-4-about-form__actions .at-btn {
    background: radial-gradient(circle at 35% 28%, #f7fff5, #8de38b 58%, #63c96c 100%) !important;
    color: #071008 !important;
    border-color: rgba(141,227,139,0.72) !important;
    box-shadow: 0 18px 46px rgba(0,0,0,0.42), 0 0 0 0.18rem rgba(141,227,139,0.10) !important;
}

.contact-page-card .sec-4-about-form__actions .at-btn .text-1,
.contact-page-card .sec-4-about-form__actions .at-btn .text-2 {
    color: #071008 !important;
}

.contact-page-status--success {
    background: rgba(141,227,139,0.14) !important;
    color: #bff7bd !important;
    border: 1px solid rgba(141,227,139,0.26);
}

.contact-page-status--error {
    background: rgba(255,97,97,0.12) !important;
    color: #ffb7b7 !important;
    border: 1px solid rgba(255,97,97,0.26);
}

.contact-page-field-error {
    color: #ffb7b7 !important;
}
