/* ============================================================
   JANS.APP - Landing Page Styles
   Design: Warm, elegant, premium - Beige/Braun/Charcoal
   ============================================================ */

/* === RESET & BASE === */
*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --color-bg: #f6f1ec;
    --color-bg-alt: #ede6df;
    --color-bg-white: #ffffff;
    --color-bg-dark: #2d2926;
    --color-bg-card: #faf7f4;
    --color-primary: #2d2926;
    --color-primary-light: #4a4541;
    --color-accent: #8b7355;
    --color-accent-light: #a89279;
    --color-text: #2d2926;
    --color-text-light: #6b6560;
    --color-text-muted: #9a938c;
    --color-border: #ddd5cc;
    --color-danger: #c0392b;
    --color-danger-bg: #fdf2f0;
    --color-success: #3d7a4a;
    --color-success-bg: #f0f7f1;
    --color-cta: #2d2926;
    --color-cta-hover: #4a4541;
    --font-main: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
    --font-display: Georgia, 'Times New Roman', serif;
    --max-width: 1200px;
    --section-padding: 80px 24px;
    --radius: 12px;
    --radius-lg: 20px;
}

html {
    scroll-behavior: smooth;
}

.rz-p-4 {
    padding: 0 !important;
}

.rz-body {
    padding: 0 !important;
}

body {
    font-family: var(--font-main);
    color: var(--color-text);
    background: var(--color-bg);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.container {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 24px;
}

/* === NAVIGATION === */
.nav {
    background: var(--color-bg);
    border-bottom: 1px solid var(--color-border);
    padding: 14px 24px;
    position: sticky;
    top: 0;
    z-index: 100;
}

.nav-inner {
    max-width: var(--max-width);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.nav-logo-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}

.nav-logo-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--color-primary);
    color: #fff;
    font-weight: 700;
    font-size: 1.1rem;
    font-family: var(--font-display);
}

.nav-logo-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.nav-logo-name {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--color-primary);
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.nav-logo-sub {
    font-size: 0.65rem;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 500;
}

.nav-links {
    display: flex;
    gap: 28px;
    list-style: none;
    align-items: center;
}

    .nav-links a {
        text-decoration: none;
        color: var(--color-text-light);
        font-size: 0.88rem;
        font-weight: 500;
        transition: color 0.2s;
    }

        .nav-links a:hover {
            color: var(--color-primary);
        }

.nav-login {
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 8px !important;
    padding: 8px 16px !important;
}

.nav-cta {
    background: var(--color-cta) !important;
    color: #fff !important;
    padding: 9px 22px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    transition: background 0.2s !important;
}

    .nav-cta:hover {
        background: var(--color-cta-hover) !important;
    }

/* === heroLanding SECTION === */
.heroLanding {
    background: var(--color-bg);
    color: var(--color-text);
    padding: 60px 24px 80px;
    position: relative;
    overflow: hidden;
}

.heroLanding-inner {
    max-width: var(--max-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}

.heroLanding-content {
    padding-top: 20px;
}

.heroLanding-badge {
    display: inline-block;
    color: var(--color-text-muted);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 24px;
    border-bottom: 2px solid var(--color-border);
    padding-bottom: 8px;
}

.heroLanding h1 {
    font-family: var(--font-display);
    font-size: 3.2rem;
    font-weight: 400;
    line-height: 1.1;
    margin-bottom: 20px;
    color: var(--color-primary);
}

    .heroLanding h1 strong {
        font-weight: 700;
    }

.heroLanding-description {
    font-size: 0.95rem;
    line-height: 1.7;
    color: var(--color-text-light);
    margin-bottom: 32px;
    max-width: 520px;
}

.heroLanding-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.heroLanding-right {
    display: flex;
    align-items: stretch;
    gap: 20px;
}

.heroLanding-image-wrapper {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    flex: 1 1 auto;
}

    .heroLanding-image-wrapper img {
        width: 100%;
        height: 480px;
        object-fit: cover;
        border-radius: var(--radius-lg);
    }

/* Pricing card overlay on heroLanding image */
.heroLanding-pricing-card {
    position: relative;
    background: #000000a0;
    color: #fff;
    padding: 28px 24px;
    border-radius: var(--radius);
    width: 320px;
    flex: 0 0 320px;
    box-shadow: 0 16px 48px rgba(0,0,0,0.2);
}
.heroLanding-pricing-card:hover {

}

.heroLanding-pricing-label {
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.heroLanding-pricing-title {
    font-family: var(--font-display);
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.3;
    margin-bottom: 16px;
}

.heroLanding-pricing-divider {
    border: none;
    border-top: 1px solid rgba(255,255,255,0.15);
    margin: 16px 0;
}

.heroLanding-pricing-price {
    font-size: 0.85rem;
    margin-bottom: 4px;
}

.heroLanding-pricing-amount {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 16px;
}

.heroLanding-pricing-features {
    list-style: none;
    padding: 0;
    margin-bottom: 18px;
}

    .heroLanding-pricing-features li {
        font-size: 0.82rem;
        padding: 5px 0;
        border-bottom: 1px solid rgba(255,255,255,0.08);
        display: flex;
        align-items: center;
        gap: 8px;
    }

        .heroLanding-pricing-features li:last-child {
            border-bottom: none;
        }

.pricing-check {
    font-weight: 700;
}

.heroLanding-pricing-button {
    width: 100%;
    text-align: center;
}

/* === BUTTONS === */
.btn-primary {
    display: inline-block;
    background: var(--color-cta) !important;
    color: #fff !important;
    padding: 9px 22px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    text-decoration: none;
    transition: background 0.2s !important;
}

    .btn-primary:hover {
        background: var(--color-cta-hover) !important;
    }

.btn-secondary {
    display: inline-block;
    background: transparent;
    color: var(--color-text);
    font-size: 0.9rem;
    font-weight: 600;
    padding: 12px 28px;
    border: 1.5px solid var(--color-border);
    border-radius: 8px;
    text-decoration: none;
    transition: border-color 0.2s, background 0.2s;
}

    .btn-secondary:hover {
        border-color: var(--color-primary);
        background: rgba(45,41,38,0.04);
    }

/* === BEFORE/AFTER SPLIT VIEW === */
.split-section {
    padding: var(--section-padding);
    background: var(--color-bg);
}

.split-header {
    text-align: center;
    margin-bottom: 48px;
}

.section-label {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--color-text-muted);
    margin-bottom: 12px;
}

.section-title {
    font-family: var(--font-display);
    font-size: 2.2rem;
    font-weight: 400;
    color: var(--color-cta);
    margin-bottom: 8px;
}

    .section-title strong {
        font-weight: 700;
    }

.section-subtitle {
    font-size: 0.95rem;
    color: var(--color-text-light);
    max-width: 560px;
    margin: 0 auto;
    line-height: 1.6;
}

.split-container {
    max-width: 1000px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 4px 1fr;
    gap: 0;
    align-items: stretch;
    background: var(--color-bg-card);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,0.06);
}

.split-before, .split-after {
    padding: 40px 36px;
}

.split-before {
    background: var(--color-danger-bg);
    position: relative;
}

.split-divider {
    background: linear-gradient(180deg, var(--color-danger) 0%, var(--color-danger) 50%, var(--color-success) 50%, var(--color-success) 100%);
    width: 4px;
    position: relative;
}

    .split-divider::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: var(--color-bg-card);
        border: 3px solid var(--color-border);
        z-index: 2;
    }

.split-after {
    background: var(--color-success-bg);
}

.split-label {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 4px;
    margin-bottom: 16px;
}

.split-before .split-label {
    background: rgba(192,57,43,0.12);
    color: var(--color-danger);
}

.split-after .split-label {
    background: rgba(61,122,74,0.12);
    color: var(--color-success);
}

.split-title {
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 700;
    margin-bottom: 14px;
    line-height: 1.3;
}

.split-before .split-title {
    color: var(--color-danger);
}

.split-after .split-title {
    color: var(--color-success);
}

.split-text {
    font-size: 0.9rem;
    line-height: 1.75;
    color: var(--color-text-light);
}

.split-list {
    list-style: none;
    padding: 0;
    margin-top: 16px;
}

    .split-list li {
        font-size: 0.85rem;
        color: var(--color-text-light);
        padding: 6px 0;
        padding-left: 22px;
        position: relative;
    }

        .split-list li::before {
            position: absolute;
            left: 0;
            font-weight: 700;
            font-size: 0.9rem;
        }

.split-before .split-list li::before {
    content: '?';
    color: var(--color-danger);
}

.split-after .split-list li::before {
    content: '?';
    color: var(--color-success);
}

/* === STEPS SECTION === */
.steps {
    padding: var(--section-padding);
    background: var(--color-bg-alt);
}

.steps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 1000px;
    margin: 0 auto;
}

.step-card {
    text-align: center;
    padding: 32px 20px;
    background: var(--color-bg-white);
    border-radius: var(--radius);
    border: 1px solid var(--color-border);
    transition: transform 0.2s, box-shadow 0.2s;
}

    .step-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 8px 24px rgba(0,0,0,0.08);
    }

.step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--color-primary);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 14px;
}

.step-card h4 {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--color-text);
    margin-bottom: 8px;
}

.step-card p {
    font-size: 0.85rem;
    line-height: 1.55;
    color: var(--color-text-light);
}

/* === FEATURES/MODULES SECTION === */
.features {
    padding: var(--section-padding);
    background: var(--color-bg);
    margin-top: 0px !important;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1100px;
    margin: 0 auto;
}

.feature-card {
    background: var(--color-bg-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: 24px 22px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

    .feature-card:hover {
        border-color: var(--color-accent);
        box-shadow: 0 8px 24px rgba(139,115,85,0.1);
    }

.feature-card-image {
    width: 100%;
    height: 170px;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 14px;
}

    .feature-card-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.feature-card h3 {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--color-primary);
    margin-bottom: 8px;
}

.feature-card p {
    font-size: 0.85rem;
    line-height: 1.65;
    color: var(--color-text-light);
}

/* === BENEFITS SECTION === */
.benefits {
    padding: var(--section-padding);
    background: var(--color-bg-alt);
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 1000px;
    margin: 0 auto;
}

.benefit-card {
    text-align: center;
    padding: 28px 16px;
    background: var(--color-bg-white);
    border-radius: var(--radius);
    border: 1px solid var(--color-border);
}

.benefit-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 14px auto;
}

.benefit-card h4 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-text);
    margin-bottom: 6px;
}

.benefit-card p {
    font-size: 0.85rem;
    line-height: 1.55;
    color: var(--color-text-light);
}

/* === PRICING SECTION === */
.pricing {
    padding: var(--section-padding);
    background: var(--color-bg);
}

.pricing-box {
    max-width: 800px;
    margin: 0 auto;
    background: #000000a0;
    color: #fff;
    border-radius: var(--radius-lg);
    padding: 44px 40px;
    text-align: center;
}

    .pricing-box h3 {
        font-family: var(--font-display);
        font-size: 1.6rem;
        font-weight: 400;
        color: #fff;
        margin-bottom: 8px;
    }

.pricing-price-display {
    font-size: 2.4rem;
    font-weight: 800;
    color: #fff;
    margin: 16px 0 4px;
}

.pricing-price-sub {
    font-size: 0.85rem;
    color: rgba(255,255,255,0.5);
    margin-bottom: 24px;
}

.pricing-box p {
    font-size: 0.9rem;
    line-height: 1.7;
    color: rgba(255,255,255,0.7);
    margin-bottom: 12px;
}

.pricing-features {
    display: flex;
    justify-content: center;
    gap: 28px;
    margin-top: 24px;
    flex-wrap: wrap;
}

.pricing-feature {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    color: rgba(255,255,255,0.85);
    font-weight: 500;
}

    .pricing-feature .check {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: rgba(255,255,255,0.15);
        color: var(--color-accent-light);
        font-size: 0.75rem;
        font-weight: 700;
    }

.pricing-cta {
    margin-top: 28px;
}

/* === QUOTE SECTION === */
.quote-section {
    padding: 60px 24px;
    background: var(--color-bg-alt);
    text-align: center;
}

.quote-text {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 400;
    font-style: italic;
    line-height: 1.5;
    max-width: 700px;
    margin: 0 auto 12px auto;
    color: var(--color-primary);
}

.quote-author {
    font-size: 0.85rem;
    color: var(--color-text-muted);
}

/* === CTA SECTION === */
.cta {
    padding: 80px 24px;
    background: var(--color-bg-dark) !important;
    color: #fff;
    text-align: center;
}

    .cta h2 {
        font-family: var(--font-display);
        font-size: 2.2rem;
        font-weight: 400;
        margin-bottom: 12px;
    }

    .cta p {
        font-size: 1rem;
        color: rgba(255,255,255,0.7);
        margin-bottom: 32px;
        max-width: 560px;
        margin-left: auto;
        margin-right: auto;
        line-height: 1.7;
    }

/* === FOOTER === */
.footer {
    background: var(--color-primary);
    color: rgba(255,255,255,0.6);
    padding: 32px 24px;
    text-align: center;
}

    .footer p {
        font-size: 0.82rem;
        line-height: 1.7;
    }

    .footer a {
        color: var(--color-accent-light);
        text-decoration: none;
    }

        .footer a:hover {
            color: #fff;
        }

/* === IMAGE BREAK === */
.image-break {
    padding: 0;
    line-height: 0;
}

    .image-break img {
        width: 100%;
        height: 300px;
        object-fit: cover;
        filter: brightness(0.8) saturate(0.9);
    }

/* === RESPONSIVE === */
@media (max-width: 1024px) {
    .heroLanding-inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .heroLanding h1 {
        font-size: 2.4rem;
    }

    .heroLanding-content {
        text-align: center;
    }

    .heroLanding-description {
        max-width: 100%;
    }

    .heroLanding-buttons {
        justify-content: center;
    }

    .heroLanding-right {
        display: block;
        max-width: 600px;
        margin: 0 auto;
    }

    .heroLanding-pricing-card {
        position: relative;
        bottom: auto;
        right: auto;
        width: 100%;
        margin-top: 20px;
    }

    .heroLanding-image-wrapper img {
        height: 360px;
    }
}

@media (max-width: 900px) {
    .split-container {
        grid-template-columns: 1fr;
    }

    .split-divider {
        width: 100%;
        height: 4px;
        background: linear-gradient(90deg, var(--color-danger) 0%, var(--color-danger) 50%, var(--color-success) 50%, var(--color-success) 100%);
    }

        .split-divider::after {
            display: none;
        }

    .steps-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .features-grid {
        grid-template-columns: 1fr 1fr;
    }

    .benefits-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .nav-links {
        display: none;
    }

    .section-title {
        font-size: 1.8rem;
    }
}

@media (max-width: 600px) {
    .heroLanding {
        padding: 40px 16px 50px;
    }

        .heroLanding h1 {
            font-size: 1.7rem;
        }

    .heroLanding-badge {
        font-size: 0.6rem;
    }

    .heroLanding-description {
        font-size: 0.88rem;
    }

    .heroLanding-buttons {
        flex-direction: column;
        align-items: stretch;
    }

        .heroLanding-buttons .btn-primary,
        .heroLanding-buttons .btn-secondary {
            text-align: center;
        }

    .heroLanding-image-wrapper img {
        height: 220px;
    }

    .heroLanding-pricing-card {
        padding: 24px 20px;
        width: 100%;
    }

    .heroLanding-pricing-title {
        font-size: 1.3rem;
    }

    .split-before, .split-after {
        padding: 24px 20px;
    }

    .split-title {
        font-size: 1.15rem;
    }

    .split-text {
        font-size: 0.85rem;
    }

    .steps-grid {
        grid-template-columns: 1fr;
    }

    .features-grid {
        grid-template-columns: 1fr;
    }

    .benefits-grid {
        grid-template-columns: 1fr 1fr;
    }

    .pricing-features {
        flex-direction: column;
        align-items: center;
    }

    .pricing-box {
        padding: 28px 20px;
    }

    .pricing-price-display {
        font-size: 1.8rem;
    }

    .cta h2 {
        font-size: 1.5rem;
    }

    .cta p {
        font-size: 0.9rem;
    }

    .image-break img {
        height: 200px;
    }

    .section-title {
        font-size: 1.5rem;
    }

    .quote-text {
        font-size: 1.2rem;
    }
}

@media (max-width: 380px) {
    .heroLanding h1 {
        font-size: 1.4rem;
    }

    .benefits-grid {
        grid-template-columns: 1fr;
    }

    .step-card {
        padding: 24px 16px;
    }
}
:root:has(.rz-layout) body

/* Public marketing refresh for jans.app / jans.software */
.public-marketing-page {
    --public-bg: #f7f4ef;
    --public-card: #fffaf3;
    --public-ink: #171411;
    --public-muted: #6d6259;
    --public-line: rgba(42, 31, 22, 0.13);
    --public-accent: #b86f2d;
    --public-accent-dark: #2f241d;
    --public-mint: #8fd5bf;
    margin: -1.5rem;
    min-height: calc(100vh - 0px);
    background:
        radial-gradient(circle at top left, rgba(184, 111, 45, 0.18), transparent 34rem),
        linear-gradient(180deg, #fffaf3 0%, var(--public-bg) 48%, #efe8dd 100%);
    color: var(--public-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.public-marketing-page a { color: inherit; }

.public-nav {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem clamp(1rem, 4vw, 4rem);
    border-bottom: 1px solid rgba(42, 31, 22, 0.1);
    background: rgba(255, 250, 243, 0.88);
    backdrop-filter: blur(18px);
}

.public-nav__brand,
.public-nav__links,
.public-actions,
.public-proof-strip,
.public-tag-grid {
    display: flex;
    align-items: center;
}

.public-nav__brand {
    gap: 0.7rem;
    font-weight: 800;
    text-decoration: none;
    min-width: max-content;
}

.public-nav__brand span,
.public-nav__links a {
    color: var(--public-muted);
    font-size: 0.9rem;
}

.public-nav__links {
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.public-nav__links a,
.public-nav__login,
.public-button,
.public-card a,
.public-login-back {
    text-decoration: none;
}

.public-nav__login,
.public-button {
    border-radius: 999px;
    font-weight: 800;
}

.public-nav__login {
    padding: 0.7rem 1rem;
    color: #fff;
    background: var(--public-accent-dark);
}

.public-section {
    width: min(1160px, calc(100% - 2rem));
    margin: 0 auto;
    padding: clamp(3rem, 7vw, 6.5rem) 0;
}

.public-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(19rem, 0.88fr);
    align-items: center;
    gap: clamp(2rem, 6vw, 5rem);
    min-height: 72vh;
}

.public-eyebrow {
    margin: 0 0 1rem;
    color: var(--public-accent);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.public-hero h1,
.public-section h2 {
    margin: 0;
    max-width: 13ch;
    color: var(--public-ink);
    font-weight: 900;
    letter-spacing: -0.055em;
    line-height: 0.96;
}

.public-hero h1 { font-size: clamp(2.7rem, 9vw, 6.8rem); }
.public-section h2 { font-size: clamp(2rem, 5vw, 4rem); }

.public-lead,
.public-copy-list p,
.public-founder p,
.public-system-card p,
.public-card p,
.public-contact-aside,
.public-login-brand p {
    color: var(--public-muted);
    line-height: 1.72;
}

.public-lead {
    max-width: 43rem;
    margin: 1.4rem 0 0;
    font-size: clamp(1.05rem, 2vw, 1.35rem);
}

.public-actions {
    gap: 0.8rem;
    flex-wrap: wrap;
    margin-top: 2rem;
}

.public-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0.86rem 1.25rem;
    border: 1px solid var(--public-line);
    cursor: pointer;
}

.public-button--primary {
    border-color: var(--public-accent-dark);
    background: var(--public-accent-dark);
    color: #fff !important;
    box-shadow: 0 18px 38px rgba(47, 36, 29, 0.18);
}

.public-button--secondary {
    background: rgba(255, 255, 255, 0.72);
    color: var(--public-accent-dark) !important;
}

.public-proof-strip {
    align-items: stretch;
    gap: 0.6rem;
    flex-wrap: wrap;
    margin-top: 2rem;
}

.public-proof-strip span,
.public-tag-grid span {
    border: 1px solid var(--public-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.54);
    color: var(--public-muted);
    padding: 0.55rem 0.8rem;
    font-size: 0.86rem;
    font-weight: 750;
}

.public-system-card,
.public-card,
.public-contact-form,
.public-contact-aside,
.public-login-shell {
    border: 1px solid var(--public-line);
    border-radius: 28px;
    background: rgba(255, 250, 243, 0.74);
    box-shadow: 0 24px 70px rgba(47, 36, 29, 0.11);
}

.public-system-card {
    padding: clamp(1.2rem, 3vw, 2rem);
}

.public-system-card__header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.public-system-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
    margin-bottom: 1.35rem;
}

.public-system-grid span {
    border-radius: 18px;
    background: #fff;
    padding: 1rem;
    font-weight: 850;
    box-shadow: inset 0 0 0 1px rgba(42, 31, 22, 0.08);
}

.public-split,
.public-founder,
.public-contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: clamp(2rem, 6vw, 5rem);
    align-items: start;
}

.public-card-grid {
    display: grid;
    gap: 1rem;
    margin-top: 2rem;
}

.public-card-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.public-card-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.public-card {
    padding: 1.35rem;
    min-height: 12rem;
}

.public-card h3,
.public-contact-aside h2 {
    margin: 0 0 0.75rem;
    color: var(--public-ink);
    font-size: 1.18rem;
    letter-spacing: -0.02em;
}

.public-card--accent {
    background: linear-gradient(145deg, #30241d, #5a341b);
    color: #fff;
}

.public-card--accent p,
.public-card--accent a { color: rgba(255, 255, 255, 0.78); }
.public-card a { color: var(--public-accent); font-weight: 850; }
.public-case-card span { color: var(--public-accent); font-weight: 950; }

.public-check-list {
    display: grid;
    gap: 0.75rem;
    margin: 1.2rem 0 0;
    padding: 0;
    list-style: none;
}

.public-check-list li {
    position: relative;
    padding-left: 1.65rem;
    color: var(--public-muted);
    line-height: 1.55;
}

.public-check-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.42rem;
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 999px;
    background: var(--public-mint);
}

.public-tag-grid {
    gap: 0.7rem;
    flex-wrap: wrap;
    margin-top: 2rem;
}

.public-cta {
    text-align: center;
}

.public-cta h2 {
    max-width: 18ch;
    margin: 0 auto 1.7rem;
}

.public-login-page {
    display: grid;
    min-height: 78vh;
    place-items: center;
    padding: 1rem;
    background:
        radial-gradient(circle at 20% 15%, rgba(184,111,45,.18), transparent 30rem),
        linear-gradient(160deg, #fffaf3, #f1e8dc);
}

.public-login-shell {
    width: min(100%, 29rem);
    padding: clamp(1.3rem, 4vw, 2rem);
}

.public-login-back {
    color: var(--public-muted);
    font-weight: 800;
}

.public-login-brand {
    margin: 1.4rem 0;
}

.public-contact-form,
.public-contact-aside {
    padding: clamp(1.2rem, 3vw, 2rem);
}

.public-contact-form {
    display: grid;
    gap: 1rem;
}

.public-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.public-contact-form label {
    display: grid;
    gap: 0.42rem;
    color: var(--public-accent-dark);
    font-weight: 850;
}

.public-contact-form input,
.public-contact-form select,
.public-contact-form textarea {
    width: 100%;
    border: 1px solid var(--public-line);
    border-radius: 16px;
    background: #fff;
    color: var(--public-ink);
    padding: 0.85rem 1rem;
    font: inherit;
}

.public-consent {
    grid-template-columns: auto 1fr !important;
    align-items: start;
    color: var(--public-muted) !important;
    font-weight: 650 !important;
}

.public-honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.public-form-status {
    border-radius: 16px;
    padding: 0.9rem 1rem;
    font-weight: 800;
}

.public-form-status.is-success { background: rgba(143, 213, 191, 0.28); color: #185444; }
.public-form-status.is-error { background: rgba(184, 75, 45, 0.14); color: #83351d; }
.public-redirect-note { padding: 2rem; color: #6d6259; }

@media (max-width: 980px) {
    .public-nav { align-items: flex-start; flex-direction: column; }
    .public-nav__links { justify-content: flex-start; }
    .public-hero,
    .public-split,
    .public-founder,
    .public-contact-layout,
    .public-card-grid--three,
    .public-card-grid--four {
        grid-template-columns: 1fr;
    }
    .public-hero { min-height: auto; }
}

@media (max-width: 640px) {
    .public-marketing-page,
    .public-login-page { margin: -1rem; }
    .public-section { width: min(100% - 1.1rem, 1160px); padding: 2.6rem 0; }
    .public-nav { padding: 0.85rem; }
    .public-nav__links { gap: 0.65rem; }
    .public-nav__links a { font-size: 0.84rem; }
    .public-nav__login { width: 100%; text-align: center; }
    .public-actions { align-items: stretch; flex-direction: column; }
    .public-button { width: 100%; }
    .public-system-grid,
    .public-form-grid { grid-template-columns: 1fr; }
    .public-card { min-height: unset; }
}

/* Editorial rebuild requested by Jan: angular, agency-like, no rounded SaaS cards. */
.public-editorial-page,
.public-marketing-page {
    --public-bg: #f1eadf;
    --public-paper: #fbf5eb;
    --public-ink: #11100e;
    --public-muted: #686058;
    --public-line: rgba(17, 16, 14, 0.24);
    --public-line-strong: rgba(17, 16, 14, 0.72);
    --public-accent: #8a4d21;
    --public-accent-dark: #11100e;
    --public-mint: #79b9a2;
    background: var(--public-bg);
    color: var(--public-ink);
}

.public-marketing-page::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(rgba(17,16,14,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(17,16,14,.035) 1px, transparent 1px);
    background-size: 4.5rem 4.5rem;
    mask-image: linear-gradient(180deg, rgba(0,0,0,.75), rgba(0,0,0,.06));
}

.public-nav {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) auto auto auto;
    align-items: stretch;
    gap: 0;
    padding: 0;
    border-top: 1px solid var(--public-line-strong);
    border-bottom: 1px solid var(--public-line-strong);
    background: rgba(241, 234, 223, 0.96);
    backdrop-filter: blur(12px);
}

.public-nav__brand,
.public-nav__links a,
.public-nav__login,
.public-nav__burger > summary {
    min-height: 4.5rem;
    border-left: 1px solid var(--public-line);
}

.public-nav__brand {
    padding: 0 1.4rem;
    border-left: 0;
}

.public-nav__brand span {
    max-width: 11rem;
    color: var(--public-ink);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1.15;
    text-transform: uppercase;
}

.public-nav__links {
    gap: 0;
    flex-wrap: nowrap;
}

.public-nav__links a,
.public-nav__login {
    display: inline-flex;
    align-items: center;
    padding: 0 1.1rem;
    color: var(--public-ink);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.public-nav__links a:hover,
.public-nav__login:hover,
.public-nav__drawer a:hover {
    background: var(--public-ink);
    color: var(--public-paper) !important;
}

.public-nav__login {
    border-radius: 0;
    background: transparent;
    color: var(--public-ink);
}

.public-nav__burger {
    position: relative;
    display: none;
}

.public-nav__burger > summary {
    display: grid;
    width: 4.5rem;
    place-items: center;
    list-style: none;
    cursor: pointer;
}

.public-nav__burger > summary::-webkit-details-marker { display: none; }

.public-nav__burger > summary span {
    grid-area: 1 / 1;
    width: 1.55rem;
    height: 2px;
    background: var(--public-ink);
    transition: transform .2s ease, opacity .2s ease;
}

.public-nav__burger > summary span:nth-child(1) { transform: translateY(-7px); }
.public-nav__burger > summary span:nth-child(3) { transform: translateY(7px); }
.public-nav__burger[open] > summary span:nth-child(1) { transform: rotate(45deg); }
.public-nav__burger[open] > summary span:nth-child(2) { opacity: 0; }
.public-nav__burger[open] > summary span:nth-child(3) { transform: rotate(-45deg); }

.public-nav__drawer {
    position: absolute;
    top: calc(100% + 1px);
    right: 0;
    width: min(92vw, 25rem);
    border: 1px solid var(--public-line-strong);
    background: var(--public-paper);
    box-shadow: 1rem 1rem 0 rgba(17,16,14,.12);
}

.public-nav__drawer a {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid var(--public-line);
    padding: 1.15rem 1.25rem;
    color: var(--public-ink);
    font-size: .95rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
}

.public-nav__drawer a::after { content: "→"; }

.public-section {
    width: min(1320px, calc(100% - clamp(1rem, 5vw, 5rem)));
    padding: clamp(4rem, 9vw, 8rem) 0;
}

.public-hero {
    grid-template-columns: minmax(0, 1.35fr) minmax(20rem, .65fr);
    align-items: end;
    min-height: calc(100svh - 5rem);
    border-bottom: 1px solid var(--public-line-strong);
}

.public-hero h1 {
    max-width: 11ch;
    font-size: clamp(4.4rem, 12.5vw, 11.5rem);
    font-weight: 950;
    letter-spacing: -.085em;
    line-height: .82;
    text-transform: uppercase;
}

.public-section h2 {
    max-width: 10ch;
    font-size: clamp(2.8rem, 7vw, 7rem);
    font-weight: 950;
    letter-spacing: -.075em;
    line-height: .86;
    text-transform: uppercase;
}

.public-hero__statement {
    border-left: 1px solid var(--public-line-strong);
    padding-left: clamp(1.2rem, 3vw, 2.4rem);
}

.public-lead {
    max-width: 34rem;
    margin-top: 0;
    color: var(--public-ink);
    font-size: clamp(1.05rem, 1.65vw, 1.45rem);
    font-weight: 650;
    line-height: 1.55;
}

.public-eyebrow {
    color: var(--public-accent);
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .2em;
}

.public-button {
    min-height: 3.3rem;
    border-radius: 0;
    border-color: var(--public-ink);
    box-shadow: none;
    padding: .95rem 1.2rem;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.public-button--primary {
    background: var(--public-ink);
    color: var(--public-paper) !important;
}

.public-button--secondary {
    background: transparent;
    color: var(--public-ink) !important;
}

.public-button:hover {
    transform: translate(-2px, -2px);
    box-shadow: 6px 6px 0 rgba(17,16,14,.18);
}

.public-index-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border-top: 1px solid var(--public-line-strong);
    border-bottom: 1px solid var(--public-line-strong);
}

.public-index-strip span {
    min-height: 6rem;
    border-left: 1px solid var(--public-line);
    display: grid;
    place-items: center;
    padding: 1rem;
    color: var(--public-ink);
    font-size: clamp(.78rem, 1.4vw, 1.1rem);
    font-weight: 950;
    letter-spacing: .08em;
    text-align: center;
    text-transform: uppercase;
}

.public-index-strip span:first-child { border-left: 0; }

.public-split,
.public-founder,
.public-contact-layout {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    border-bottom: 1px solid var(--public-line-strong);
}

.public-copy-list p,
.public-founder p,
.public-card p,
.public-contact-aside,
.public-login-brand p {
    color: var(--public-muted);
    font-size: clamp(1rem, 1.3vw, 1.18rem);
    line-height: 1.7;
}

.public-work-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    border-bottom: 1px solid var(--public-line-strong);
}

.public-work-grid__intro {
    grid-column: 1 / -1;
    margin-bottom: clamp(2rem, 5vw, 4rem);
}

.public-work-tile,
.public-card,
.public-system-card,
.public-contact-form,
.public-contact-aside,
.public-login-shell {
    border: 0;
    border-left: 1px solid var(--public-line-strong);
    border-top: 1px solid var(--public-line-strong);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.public-work-tile {
    min-height: 21rem;
    padding: clamp(1rem, 2.6vw, 2rem);
    color: var(--public-ink);
    text-decoration: none;
}

.public-work-tile:first-of-type { border-left: 0; }
.public-work-tile--large { grid-column: span 2; }

.public-work-tile span,
.public-case-card span {
    color: var(--public-accent);
    font-size: .8rem;
    font-weight: 950;
    letter-spacing: .12em;
}

.public-work-tile h3,
.public-service-row h3,
.public-card h3,
.public-contact-aside h2 {
    margin: 1rem 0;
    color: var(--public-ink);
    font-size: clamp(1.6rem, 3vw, 3.5rem);
    font-weight: 950;
    letter-spacing: -.055em;
    line-height: .9;
    text-transform: uppercase;
}

.public-work-tile p,
.public-service-row p {
    color: var(--public-muted);
    font-size: 1rem;
    line-height: 1.65;
}

.public-work-tile--dark {
    background: var(--public-ink);
    color: var(--public-paper);
}

.public-work-tile--dark h3 { color: var(--public-paper); }
.public-work-tile--dark p { color: rgba(251,245,235,.74); }

.public-services {
    border-bottom: 1px solid var(--public-line-strong);
}

.public-service-row {
    display: grid;
    grid-template-columns: minmax(12rem, .8fr) minmax(0, 1.2fr);
    gap: clamp(1rem, 5vw, 4rem);
    padding: clamp(1.6rem, 4vw, 3rem) 0;
    border-top: 1px solid var(--public-line-strong);
}

.public-service-row h3 { margin: 0; font-size: clamp(1.8rem, 4vw, 4.2rem); }
.public-service-row p { margin: 0; max-width: 42rem; }

.public-card-grid {
    gap: 0;
    border-bottom: 1px solid var(--public-line-strong);
}

.public-card-grid--three,
.public-card-grid--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.public-card-grid--three .public-card:first-child { grid-column: span 2; }

.public-card {
    min-height: 18rem;
    padding: clamp(1rem, 2.4vw, 2rem);
}

.public-card--accent {
    background: var(--public-ink);
    color: var(--public-paper);
}

.public-card--accent h3 { color: var(--public-paper); }
.public-card--accent p,
.public-card--accent a { color: rgba(251,245,235,.76); }
.public-card a { color: var(--public-accent); font-weight: 950; text-transform: uppercase; letter-spacing: .08em; }

.public-proof-strip span,
.public-tag-grid span {
    border-radius: 0;
    border-color: var(--public-line-strong);
    background: transparent;
    color: var(--public-ink);
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.public-tag-grid {
    align-items: stretch;
    gap: 0;
}

.public-tag-grid span {
    margin: -1px 0 0 -1px;
    padding: .85rem 1rem;
}

.public-check-list li::before {
    width: .5rem;
    height: .5rem;
    border-radius: 0;
    background: var(--public-ink);
}

.public-cta {
    border-bottom: 1px solid var(--public-line-strong);
    text-align: left;
}

.public-cta h2 {
    margin: 0 0 2rem;
    max-width: 16ch;
}

.public-contact-form input,
.public-contact-form select,
.public-contact-form textarea {
    border-radius: 0;
    border-color: var(--public-line-strong);
    background: rgba(251,245,235,.8);
}

.public-form-status { border-radius: 0; }

.public-login-shell,
.public-contact-form,
.public-contact-aside {
    background: rgba(251,245,235,.72);
    padding: clamp(1.2rem, 3vw, 2rem);
}

@media (max-width: 1100px) {
    .public-nav { grid-template-columns: minmax(0, 1fr) auto auto; }
    .public-nav__links { display: none; }
    .public-nav__burger { display: block; }
    .public-nav__login { display: none; }
}

@media (max-width: 980px) {
    .public-hero,
    .public-split,
    .public-founder,
    .public-contact-layout,
    .public-service-row {
        grid-template-columns: 1fr;
    }

    .public-hero {
        align-items: start;
        min-height: auto;
    }

    .public-hero__statement {
        border-left: 0;
        border-top: 1px solid var(--public-line-strong);
        padding: 1.4rem 0 0;
    }

    .public-index-strip,
    .public-work-grid,
    .public-card-grid--three,
    .public-card-grid--four {
        grid-template-columns: 1fr 1fr;
    }

    .public-work-tile--large,
    .public-card-grid--three .public-card:first-child { grid-column: span 2; }
}

@media (max-width: 640px) {
    .public-marketing-page,
    .public-login-page { margin: -1rem; }

    .public-nav__brand { padding: 0 .9rem; }
    .public-nav__brand span { display: none; }
    .public-nav__brand,
    .public-nav__burger > summary { min-height: 4rem; }
    .public-nav__burger > summary { width: 4rem; }

    .public-section {
        width: min(100% - 1.2rem, 1320px);
        padding: 3.2rem 0;
    }

    .public-hero h1 { font-size: clamp(3.45rem, 19vw, 5.5rem); }
    .public-section h2 { font-size: clamp(2.55rem, 14vw, 4.4rem); }

    .public-index-strip,
    .public-work-grid,
    .public-card-grid--three,
    .public-card-grid--four,
    .public-form-grid {
        grid-template-columns: 1fr;
    }

    .public-index-strip span { min-height: 4.25rem; border-left: 0; border-top: 1px solid var(--public-line); }
    .public-index-strip span:first-child { border-top: 0; }

    .public-work-tile,
    .public-card,
    .public-contact-form,
    .public-contact-aside {
        border-left: 0;
    }

    .public-work-tile--large,
    .public-card-grid--three .public-card:first-child { grid-column: auto; }
    .public-work-tile { min-height: 15rem; }
    .public-actions { align-items: stretch; flex-direction: column; }
    .public-button { width: 100%; }
}

/* Wix construction-template inspired public homepage: dark header, yellow brand block, image-led hero. */
.public-construction-page {
    --construction-navy: #111923;
    --construction-navy-soft: #172331;
    --construction-yellow: #f2bd18;
    --construction-yellow-dark: #d7a20d;
    --construction-paper: #f3f1ec;
    --construction-ink: #111923;
    --construction-muted: #626b73;
    margin: -1.5rem;
    background: var(--construction-paper);
    color: var(--construction-ink);
    font-family: "Wix Madefor Text", Inter, Arial, sans-serif;
}

.public-construction-page::before { display: none; }

.public-construction-nav.public-nav {
    position: sticky;
    top: 0;
    z-index: 50;
    display: grid;
    grid-template-columns: minmax(18rem, 24rem) 1fr auto auto;
    min-height: 5.25rem;
    border: 0;
    background: var(--construction-navy);
    color: #fff;
}

.public-construction-nav .public-nav__brand {
    min-height: 5.25rem;
    border: 0;
    background: var(--construction-yellow);
    color: var(--construction-navy);
    padding: 0 1.6rem;
    gap: 1rem;
}

.public-construction-nav .public-nav__brand span {
    display: inline-block;
    max-width: none;
    color: var(--construction-navy);
    font-size: .92rem;
    font-weight: 950;
    letter-spacing: .08em;
    line-height: 1.12;
    text-transform: uppercase;
}

.public-construction-nav .public-nav__links {
    display: flex;
    justify-content: flex-end;
    gap: clamp(1.4rem, 3vw, 3.2rem);
    padding: 0 clamp(1.3rem, 4vw, 4rem);
}

.public-construction-nav .public-nav__links a,
.public-construction-nav .public-nav__login {
    min-height: 5.25rem;
    border: 0;
    padding: 0;
    color: rgba(255,255,255,.88);
    background: transparent;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.public-construction-nav .public-nav__links a.is-active,
.public-construction-nav .public-nav__links a:hover,
.public-construction-nav .public-nav__login:hover {
    color: var(--construction-yellow) !important;
    background: transparent;
}

.public-construction-nav .public-nav__login {
    display: inline-flex;
    align-items: center;
    padding: 0 1.8rem;
    border-left: 1px solid rgba(255,255,255,.16);
}

.public-construction-nav .public-nav__burger { display: none; }
.public-construction-nav .public-nav__burger > summary {
    min-height: 5.25rem;
    width: 5.25rem;
    border-left: 1px solid rgba(255,255,255,.16);
}
.public-construction-nav .public-nav__burger > summary span { background: #fff; }
.public-construction-nav .public-nav__drawer {
    border: 0;
    background: var(--construction-navy);
    box-shadow: 0 1.5rem 4rem rgba(0,0,0,.32);
}
.public-construction-nav .public-nav__drawer a {
    border-color: rgba(255,255,255,.14);
    color: #fff;
}
.public-construction-nav .public-nav__drawer a:hover {
    background: var(--construction-yellow);
    color: var(--construction-navy) !important;
}

.construction-hero {
    position: relative;
    display: grid;
    min-height: calc(100svh - 5.25rem);
    place-items: center;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(9, 15, 22, .36), rgba(9, 15, 22, .64)),
        linear-gradient(90deg, rgba(9,15,22,.48), rgba(9,15,22,.12), rgba(9,15,22,.48)),
        url('/images/development.png') center / cover no-repeat;
}

.construction-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 7rem 7rem;
    opacity: .24;
}

.construction-hero__content {
    position: relative;
    z-index: 1;
    width: min(1050px, calc(100% - 2rem));
    text-align: center;
    color: #fff;
}

.construction-kicker {
    margin: 0 0 2rem;
    color: var(--construction-yellow);
    font-size: .82rem;
    font-weight: 950;
    letter-spacing: .24em;
    text-transform: uppercase;
}

.construction-hero h1 {
    margin: 0 auto;
    max-width: 13ch;
    color: #fff;
    font-size: clamp(3.5rem, 9.8vw, 8.9rem);
    font-weight: 950;
    letter-spacing: .035em;
    line-height: .92;
    text-transform: uppercase;
    text-shadow: 0 1rem 3rem rgba(0,0,0,.42);
}

.construction-scroll {
    display: inline-grid;
    width: 3.6rem;
    height: 3.6rem;
    margin-top: 2.3rem;
    place-items: center;
    color: #fff;
    font-size: 3.4rem;
    line-height: 1;
    text-decoration: none;
}

.construction-services,
.construction-about,
.construction-projects,
.construction-contact {
    width: 100%;
}

.construction-section-title {
    display: grid;
    grid-template-columns: minmax(13rem, .38fr) minmax(0, 1fr);
    border-bottom: 1px solid rgba(17,25,35,.25);
    background: var(--construction-paper);
}

.construction-section-title span,
.construction-section-title h2 {
    margin: 0;
    padding: clamp(1.8rem, 4vw, 3.5rem) clamp(1rem, 5vw, 5rem);
}

.construction-section-title span {
    border-right: 1px solid rgba(17,25,35,.25);
    color: var(--construction-yellow-dark);
    font-size: .85rem;
    font-weight: 950;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.construction-section-title h2 {
    color: var(--construction-navy);
    font-size: clamp(2.4rem, 5.4vw, 5.7rem);
    font-weight: 950;
    letter-spacing: -.045em;
    line-height: .9;
    text-transform: uppercase;
}

.construction-service-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.construction-service-item {
    min-height: 24rem;
    border-right: 1px solid rgba(17,25,35,.25);
    border-bottom: 1px solid rgba(17,25,35,.25);
    padding: clamp(1.3rem, 2.8vw, 2.5rem);
    color: var(--construction-navy);
    text-decoration: none;
}

.construction-service-item:hover {
    background: var(--construction-yellow);
    color: var(--construction-navy);
}

.construction-service-item span {
    color: var(--construction-yellow-dark);
    font-weight: 950;
    letter-spacing: .18em;
}

.construction-service-item h3 {
    margin: 4rem 0 1.2rem;
    color: inherit;
    font-size: clamp(1.8rem, 3vw, 3.2rem);
    font-weight: 950;
    letter-spacing: -.04em;
    line-height: .92;
    text-transform: uppercase;
}

.construction-service-item p {
    max-width: 25rem;
    color: var(--construction-muted);
    font-size: 1rem;
    line-height: 1.65;
}

.construction-service-item:hover p,
.construction-service-item:hover span { color: rgba(17,25,35,.78); }

.construction-about {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    min-height: 42rem;
    background: #fff;
}

.construction-about__media {
    min-height: 30rem;
    background:
        linear-gradient(180deg, rgba(17,25,35,.12), rgba(17,25,35,.42)),
        url('/images/loesung_tablet.png') center / cover no-repeat;
}

.construction-about__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2rem, 6vw, 6rem);
}

.construction-about__copy span {
    color: var(--construction-yellow-dark);
    font-size: .85rem;
    font-weight: 950;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.construction-about__copy h2 {
    margin: 1.2rem 0 1.8rem;
    color: var(--construction-navy);
    font-size: clamp(2.4rem, 5vw, 5.3rem);
    font-weight: 950;
    letter-spacing: -.05em;
    line-height: .9;
    text-transform: uppercase;
}

.construction-about__copy p {
    max-width: 41rem;
    color: var(--construction-muted);
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    line-height: 1.72;
}

.construction-projects {
    background: var(--construction-navy);
    color: #fff;
}

.construction-section-title--dark {
    background: var(--construction-navy);
    border-color: rgba(255,255,255,.18);
}

.construction-section-title--dark span { border-color: rgba(255,255,255,.18); }
.construction-section-title--dark h2 { color: #fff; }

.construction-project-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.construction-project-grid a {
    display: flex;
    min-height: 22rem;
    flex-direction: column;
    justify-content: flex-end;
    border-top: 1px solid rgba(255,255,255,.18);
    border-right: 1px solid rgba(255,255,255,.18);
    padding: clamp(1.4rem, 3vw, 2.6rem);
    color: #fff;
    text-decoration: none;
}

.construction-project-grid a:hover { background: var(--construction-yellow); color: var(--construction-navy); }
.construction-project-grid strong { font-size: clamp(2rem, 3.8vw, 4rem); font-weight: 950; letter-spacing: -.05em; line-height: .9; text-transform: uppercase; }
.construction-project-grid span { margin-top: 1rem; color: rgba(255,255,255,.72); font-weight: 800; }
.construction-project-grid a:hover span { color: rgba(17,25,35,.7); }

.construction-contact {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2rem;
    padding: clamp(2rem, 5vw, 4.5rem) clamp(1rem, 5vw, 5rem);
    background: var(--construction-yellow);
    color: var(--construction-navy);
}

.construction-contact p {
    max-width: 54rem;
    margin: 0;
    font-size: clamp(1.8rem, 4vw, 4rem);
    font-weight: 950;
    letter-spacing: -.05em;
    line-height: .95;
    text-transform: uppercase;
}

.construction-contact a {
    display: inline-flex;
    min-height: 3.7rem;
    align-items: center;
    border: 2px solid var(--construction-navy);
    padding: 0 1.4rem;
    color: var(--construction-navy);
    font-size: .82rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-decoration: none;
    text-transform: uppercase;
}

.construction-contact a:hover { background: var(--construction-navy); color: #fff; }

@media (max-width: 1100px) {
    .public-construction-nav.public-nav { grid-template-columns: minmax(0, 1fr) auto; }
    .public-construction-nav .public-nav__links,
    .public-construction-nav .public-nav__login { display: none; }
    .public-construction-nav .public-nav__burger { display: block; }
    .construction-service-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .public-construction-page { margin: -1rem; }
    .public-construction-nav.public-nav { min-height: 4.5rem; }
    .public-construction-nav .public-nav__brand { min-height: 4.5rem; padding: 0 1rem; }
    .public-construction-nav .public-nav__brand span { font-size: .78rem; }
    .public-construction-nav .public-nav__burger > summary { min-height: 4.5rem; width: 4.5rem; }
    .construction-hero { min-height: calc(100svh - 4.5rem); }
    .construction-kicker { font-size: .68rem; line-height: 1.6; }
    .construction-hero h1 { font-size: clamp(2.6rem, 13vw, 4.8rem); letter-spacing: .02em; }
    .construction-section-title,
    .construction-about,
    .construction-project-grid,
    .construction-contact { grid-template-columns: 1fr; }
    .construction-section-title span { border-right: 0; border-bottom: 1px solid rgba(17,25,35,.25); }
    .construction-service-list { grid-template-columns: 1fr; }
    .construction-service-item { min-height: 18rem; border-right: 0; }
    .construction-about__copy { padding: 2.2rem 1rem; }
    .construction-project-grid a { min-height: 16rem; border-right: 0; }
    .construction-contact a { width: 100%; justify-content: center; }
}

/* Ambient Jans.App public design based on Jan's mint login/reference screenshot. */
.ambient-page {
    --ambient-ink: rgba(255, 255, 255, .94);
    --ambient-soft: rgba(255, 255, 255, .72);
    --ambient-muted: rgba(255, 255, 255, .56);
    --ambient-line: rgba(255, 255, 255, .58);
    --ambient-line-soft: rgba(255, 255, 255, .26);
    --ambient-green: #6bb9a9;
    --ambient-green-dark: #4f9388;
    --ambient-shadow: rgba(57, 111, 101, .18);
    position: relative;
    min-height: 100svh;
    overflow: hidden;
    color: var(--ambient-ink);
    font-family: Inter, "Wix Madefor Text", "Segoe UI", Arial, sans-serif;
    background:
        radial-gradient(circle at 20% 12%, rgba(255,255,255,.98) 0 7%, transparent 25%),
        radial-gradient(circle at 84% 20%, rgba(255,255,255,.62) 0 8%, transparent 30%),
        radial-gradient(circle at 24% 86%, rgba(255,255,255,.54) 0 10%, transparent 34%),
        linear-gradient(135deg, #b8d8cf 0%, #a9cec5 32%, #93c0b8 62%, #d7e4dc 100%);
}

.ambient-page::before,
.ambient-page::after {
    content: "";
    position: fixed;
    inset: auto;
    z-index: 0;
    pointer-events: none;
    filter: blur(46px);
    opacity: .78;
}

.ambient-page::before {
    width: 44vw;
    height: 44vw;
    min-width: 24rem;
    min-height: 24rem;
    left: -9vw;
    top: -8vw;
    border-radius: 999px;
    background: rgba(255,255,255,.46);
}

.ambient-page::after {
    width: 48vw;
    height: 48vw;
    right: -12vw;
    bottom: -15vw;
    border-radius: 999px;
    background: rgba(221,242,235,.72);
}

.ambient-page main,
.ambient-nav {
    position: relative;
    z-index: 1;
}

.ambient-nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: clamp(1rem, 2.6vw, 2.8rem);
    min-height: 5.75rem;
    padding: 0 clamp(1.25rem, 5vw, 5.5rem);
}

.ambient-nav__brand,
.ambient-nav__links,
.ambient-nav__login,
.ambient-entry-actions a,
.ambient-section a,
.ambient-link-list a,
.ambient-contact-note a {
    color: var(--ambient-ink);
    text-decoration: none;
}

.ambient-nav__brand {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .75rem;
    font-size: .95rem;
    font-weight: 800;
    letter-spacing: .02em;
}

.ambient-nav__brand .jans-app-brand--landing {
    filter: drop-shadow(0 .8rem 2rem var(--ambient-shadow));
}

.ambient-nav__brand span {
    color: var(--ambient-ink);
    text-shadow: 0 .4rem 1.6rem rgba(80, 131, 122, .16);
}

.ambient-nav__links {
    display: flex;
    align-items: center;
    gap: clamp(1.1rem, 2.6vw, 2.8rem);
}

.ambient-nav__links a,
.ambient-nav__login {
    color: var(--ambient-soft);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.ambient-nav__links a:hover,
.ambient-nav__login:hover { color: #fff; }

.ambient-nav__login {
    display: inline-flex;
    min-width: 7.6rem;
    min-height: 2.9rem;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ambient-line);
    border-radius: 0;
    background: rgba(255,255,255,.04);
    backdrop-filter: blur(14px);
}

.ambient-nav__burger { display: none; position: relative; }
.ambient-nav__burger > summary {
    display: grid;
    width: 3.25rem;
    height: 3.25rem;
    place-items: center;
    border: 1px solid var(--ambient-line);
    cursor: pointer;
    list-style: none;
    background: rgba(255,255,255,.05);
    backdrop-filter: blur(14px);
}
.ambient-nav__burger > summary::-webkit-details-marker { display: none; }
.ambient-nav__burger > summary span {
    display: block;
    width: 1.25rem;
    height: 1px;
    margin: .16rem 0;
    background: #fff;
}
.ambient-nav__drawer {
    position: absolute;
    top: calc(100% + .75rem);
    right: 0;
    display: grid;
    width: min(18rem, calc(100vw - 2rem));
    border: 1px solid var(--ambient-line-soft);
    background: rgba(133, 180, 170, .88);
    box-shadow: 0 1.5rem 4rem rgba(61, 111, 103, .22);
    backdrop-filter: blur(22px);
}
.ambient-nav__drawer a {
    border-bottom: 1px solid var(--ambient-line-soft);
    padding: 1rem 1.1rem;
    color: #fff;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.ambient-nav__drawer a:last-child { border-bottom: 0; }
.ambient-nav__drawer a:hover { background: rgba(255,255,255,.12); }

.ambient-hero {
    display: flex;
    min-height: calc(100svh - 5.75rem);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: clamp(3rem, 8vw, 7.5rem) clamp(1.25rem, 5vw, 5.5rem);
    text-align: center;
}

.ambient-hero--compact {
    min-height: 52svh;
    padding-bottom: clamp(2rem, 5vw, 4.5rem);
}

.ambient-overline {
    margin: 0 0 1.6rem;
    color: rgba(255,255,255,.78);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .26em;
    text-transform: uppercase;
}

.ambient-logo-title {
    margin: 0;
    color: #fff;
    font-size: clamp(5rem, 10vw, 14rem);
    font-weight: 900;
    letter-spacing: -.075em;
    line-height: .76;
    text-shadow: 0 1.6rem 5rem rgba(70, 121, 112, .22);
}

.ambient-logo-title span { color: #6ab8a8; text-shadow: 0 0 2rem rgba(255,255,255,.72); }

.ambient-hero h1:not(.ambient-logo-title) {
    max-width: 11.5ch;
    margin: 0;
    color: #fff;
    font-size: clamp(3.1rem, 9vw, 8.4rem);
    font-weight: 900;
    letter-spacing: -.072em;
    line-height: .86;
    text-shadow: 0 1.5rem 5rem rgba(70, 121, 112, .22);
}

.ambient-tagline {
    max-width: 42rem;
    margin: clamp(1.2rem, 2.5vw, 2.1rem) auto 0;
    color: rgba(255,255,255,.82);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 3vw, 2.55rem);
    font-style: italic;
    font-weight: 400;
    letter-spacing: .01em;
    line-height: 1.24;
}

.ambient-entry-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    margin-top: clamp(2.2rem, 5vw, 4.2rem);
}

.ambient-entry-actions a,
.ambient-section a,
.ambient-submit {
    display: inline-flex;
    min-width: min(19rem, calc(100vw - 2rem));
    min-height: 3.75rem;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ambient-line);
    border-radius: 0;
    padding: 0 1.5rem;
    background: rgba(255,255,255,.05);
    color: #fff;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .2em;
    text-transform: uppercase;
    backdrop-filter: blur(14px);
}

.ambient-entry-actions a:hover,
.ambient-section a:hover,
.ambient-submit:hover {
    background: rgba(255,255,255,.18);
    color: #fff;
}

.ambient-section {
    width: min(1080px, calc(100% - 2.5rem));
    margin: 0 auto clamp(4rem, 8vw, 8rem);
    padding: clamp(2rem, 5vw, 4.5rem) 0;
    border-top: 1px solid var(--ambient-line-soft);
    border-bottom: 1px solid var(--ambient-line-soft);
    text-align: center;
}

.ambient-section__kicker {
    margin: 0 0 1.3rem;
    color: rgba(255,255,255,.68);
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .24em;
    text-transform: uppercase;
}

.ambient-section h2 {
    max-width: 10ch;
    margin: 0 auto;
    color: #fff;
    font-size: clamp(2.7rem, 7vw, 6.5rem);
    font-weight: 900;
    letter-spacing: -.07em;
    line-height: .88;
}

.ambient-section p {
    max-width: 48rem;
    margin: 1.6rem auto 0;
    color: rgba(255,255,255,.74);
    font-size: clamp(1rem, 1.8vw, 1.28rem);
    line-height: 1.72;
}

.ambient-link-list,
.ambient-detail-grid,
.ambient-contact-layout {
    width: min(1180px, calc(100% - 2.5rem));
    margin: 0 auto clamp(4.5rem, 9vw, 9rem);
}

.ambient-link-list {
    display: grid;
    border-top: 1px solid var(--ambient-line-soft);
}

.ambient-link-list a {
    display: grid;
    grid-template-columns: 5rem minmax(0, .7fr) minmax(0, 1fr);
    gap: clamp(1rem, 3vw, 3rem);
    align-items: center;
    border-bottom: 1px solid var(--ambient-line-soft);
    padding: clamp(1.35rem, 3vw, 2.3rem) 0;
}

.ambient-link-list span,
.ambient-detail-grid span {
    color: rgba(255,255,255,.56);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .22em;
}

.ambient-link-list strong {
    color: #fff;
    font-size: clamp(1.8rem, 4vw, 3.9rem);
    font-weight: 900;
    letter-spacing: -.06em;
    line-height: .9;
}

.ambient-link-list em {
    color: rgba(255,255,255,.72);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1rem, 1.7vw, 1.35rem);
    font-style: italic;
    line-height: 1.5;
}

.ambient-link-list em .ambient-link-list__subheadline {
    display: block;
    margin-bottom: .35rem;
    color: rgba(255,255,255,.9);
    font-family: Inter, system-ui, sans-serif;
    font-size: .78rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .2em;
    line-height: 1.35;
    text-transform: uppercase;
}

.ambient-link-list a:hover strong,
.ambient-link-list a:hover em { color: #fff; }

.ambient-detail-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--ambient-line-soft);
    border-left: 1px solid var(--ambient-line-soft);
}

.ambient-detail-grid article {
    min-height: 20rem;
    border-right: 1px solid var(--ambient-line-soft);
    border-bottom: 1px solid var(--ambient-line-soft);
    padding: clamp(1.25rem, 2.8vw, 2.3rem);
    background: rgba(255,255,255,.035);
    backdrop-filter: blur(12px);
}

.ambient-detail-grid h2 {
    margin: 4.5rem 0 1rem;
    color: #fff;
    font-size: clamp(1.7rem, 3vw, 3.1rem);
    font-weight: 900;
    letter-spacing: -.06em;
    line-height: .9;
}

.ambient-detail-grid p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: .98rem;
    line-height: 1.65;
}

.ambient-closing {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: clamp(4rem, 9vw, 8rem);
}

.ambient-closing p {
    max-width: 14ch;
    color: #fff;
    font-size: clamp(2.4rem, 6.8vw, 6.4rem);
    font-weight: 900;
    letter-spacing: -.075em;
    line-height: .88;
}

.ambient-closing a { margin-top: 2.3rem; }

.ambient-contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(17rem, .42fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: start;
}

.ambient-contact-form {
    display: grid;
    gap: 1rem;
}

.ambient-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.ambient-contact-form label {
    display: grid;
    gap: .55rem;
    color: rgba(255,255,255,.74);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.ambient-contact-form input,
.ambient-contact-form select,
.ambient-contact-form textarea {
    width: 100%;
    min-height: 3.7rem;
    border: 1px solid var(--ambient-line);
    border-radius: 0;
    padding: .95rem 1rem;
    background: rgba(255,255,255,.04);
    color: #fff;
    outline: 0;
    font: inherit;
    letter-spacing: normal;
    text-transform: none;
    backdrop-filter: blur(12px);
}

.ambient-contact-form textarea { min-height: 11rem; resize: vertical; }
.ambient-contact-form input::placeholder,
.ambient-contact-form textarea::placeholder { color: rgba(255,255,255,.48); }
.ambient-contact-form select option { color: #1f3f39; }

.ambient-consent {
    display: flex !important;
    grid-template-columns: auto 1fr;
    align-items: flex-start;
    gap: .8rem !important;
    color: rgba(255,255,255,.72) !important;
    font-size: .82rem !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    line-height: 1.55;
    text-transform: none !important;
}
.ambient-consent input { width: 1.2rem !important; min-height: 1.2rem !important; margin-top: .15rem; }
.ambient-consent a { color: #fff; }

.ambient-submit {
    width: min(22rem, 100%);
    cursor: pointer;
}

.ambient-submit:disabled { cursor: wait; opacity: .72; }

.ambient-contact-note {
    border-top: 1px solid var(--ambient-line-soft);
    padding-top: 1.5rem;
    color: rgba(255,255,255,.74);
}

.ambient-contact-note h2 {
    margin: 0 0 1rem;
    color: #fff;
    font-size: clamp(2rem, 4vw, 4rem);
    font-weight: 900;
    letter-spacing: -.06em;
    line-height: .9;
}

.ambient-contact-note p,
.ambient-contact-note li {
    color: rgba(255,255,255,.74);
    line-height: 1.65;
}

.ambient-contact-note ul {
    display: grid;
    gap: .75rem;
    margin: 1.4rem 0 0;
    padding: 0;
    list-style: none;
}

.ambient-contact-note li {
    border-top: 1px solid var(--ambient-line-soft);
    padding-top: .75rem;
}

.ambient-page .validation-errors,
.ambient-page .validation-message,
.ambient-page .validation-summary-errors {
    color: #fff;
}

.ambient-page .public-form-status {
    border: 1px solid var(--ambient-line-soft);
    padding: 1rem;
    color: #fff;
    background: rgba(255,255,255,.08);
}

@media (max-width: 1100px) {
    .ambient-nav { grid-template-columns: minmax(0, 1fr) auto; }
    .ambient-nav__links,
    .ambient-nav__login { display: none; }
    .ambient-nav__burger { display: block; }
    .ambient-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ambient-contact-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .ambient-page { margin: -1rem; }
    .ambient-nav {
        min-height: 4.75rem;
        padding: 0 1rem;
    }
    .ambient-hero {
        min-height: calc(100svh - 4.75rem);
        padding-inline: 1rem;
    }
    .ambient-hero--compact { min-height: 48svh; }
    .ambient-logo-title { font-size: clamp(4rem, 21vw, 6.8rem); }
    .ambient-hero h1:not(.ambient-logo-title) {
        max-width: 9.4ch;
        font-size: clamp(3.1rem, 15vw, 5.8rem);
    }
    .ambient-tagline { font-size: clamp(1.25rem, 6vw, 1.9rem); }
    .ambient-entry-actions { width: 100%; }
    .ambient-entry-actions a,
    .ambient-section a,
    .ambient-submit {
        width: 100%;
        min-width: 0;
    }
    .ambient-section,
    .ambient-link-list,
    .ambient-detail-grid,
    .ambient-contact-layout { width: calc(100% - 2rem); }
    .ambient-link-list a {
        grid-template-columns: 1fr;
        gap: .65rem;
    }
    .ambient-detail-grid,
    .ambient-form-grid { grid-template-columns: 1fr; }
    .ambient-detail-grid article { min-height: 15rem; }
    .ambient-detail-grid h2 { margin-top: 2.8rem; }
}

@media (max-width: 420px) {
    .ambient-logo-title { font-size: 3.7rem; }
    .ambient-overline { font-size: .62rem; letter-spacing: .18em; }
    .ambient-nav__brand span { display: none; }
}

/* Ambient Jans.App refinement: structured sage surface matching Jan's reference color. */
.ambient-page {
    --ambient-bg: #8fb7ad;
    --ambient-bg-deep: #7fa99f;
    --ambient-bg-light: #a9cbc1;
    --ambient-ink: #ffffff;
    --ambient-soft: rgba(255, 255, 255, .9);
    --ambient-muted: rgba(255, 255, 255, .76);
    --ambient-line: rgba(255, 255, 255, .66);
    --ambient-line-soft: rgba(255, 255, 255, .32);
    --ambient-green: #35b78c;
    --ambient-green-dark: #237c68;
    --ambient-card-contrast: #0d2b26;
    --ambient-card-contrast-alt: #132330;
    min-height: 100svh;
    background:
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 34%),
        radial-gradient(circle at 50% 18%, rgba(255,255,255,.16), transparent 28rem),
        linear-gradient(135deg, var(--ambient-bg-light) 0%, var(--ambient-bg) 42%, var(--ambient-bg-deep) 100%) !important;
}

.ambient-page::before,
.ambient-page::after {
    opacity: .22;
    filter: blur(70px);
}

.ambient-page::before {
    background: rgba(255,255,255,.28);
}

.ambient-page::after {
    background: rgba(74, 145, 129, .28);
}

.ambient-nav {
    min-height: 5.25rem;
    padding-inline: clamp(1rem, 4vw, 4.5rem);
    background: linear-gradient(180deg, rgba(103, 151, 141, .58), rgba(103, 151, 141, .18));
    border-bottom: 1px solid rgba(255,255,255,.22);
    backdrop-filter: blur(18px);
}

.ambient-nav__brand {
    min-width: 0;
}

.ambient-nav__brand .jans-app-brand--landing {
    --jans-app-brand-ink: #fff;
    --jans-app-brand-accent: #2ed59a;
    gap: .62rem;
}

.ambient-nav__brand .jans-app-brand--landing img {
    width: 2rem;
    height: 2rem;
}

.ambient-nav__brand .jans-app-brand--landing > span {
    font-size: 1.15rem;
    letter-spacing: -.06em;
    text-shadow: 0 .5rem 1.5rem rgba(56, 112, 101, .22);
}

.ambient-nav__brand > span:not(.jans-app-brand) {
    display: none !important;
}

.ambient-nav__links a,
.ambient-nav__login {
    color: rgba(255,255,255,.86);
    text-shadow: 0 .45rem 1.4rem rgba(61, 112, 102, .18);
}

.ambient-nav__login,
.ambient-nav__burger > summary,
.ambient-entry-actions a,
.ambient-section a,
.ambient-submit {
    border-color: rgba(255,255,255,.74);
    background: rgba(255,255,255,.08);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 1rem 2.6rem rgba(63, 117, 106, .16);
}

.ambient-entry-actions a:first-child,
.ambient-submit {
    background: rgba(255,255,255,.92);
    color: #537f76;
    border-color: rgba(255,255,255,.96);
}

.ambient-entry-actions a:first-child:hover,
.ambient-submit:hover {
    background: #fff;
    color: #426f66;
}

.ambient-hero {
    min-height: calc(92svh - 5.25rem);
    padding-top: clamp(3.5rem, 8vw, 7rem);
    padding-bottom: clamp(3rem, 8vw, 6rem);
}

.ambient-hero--home::after {
    content: "";
    width: min(34rem, 64vw);
    height: 1px;
    margin-top: clamp(2.5rem, 5vw, 4.5rem);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.68), transparent);
}

.ambient-overline {
    color: rgba(255,255,255,.84);
    text-shadow: 0 .45rem 1.4rem rgba(65, 111, 103, .18);
}

.ambient-logo-title {
    color: #fff;
    text-shadow: 0 1.2rem 4rem rgba(59, 111, 101, .24);
}

.ambient-logo-title span {
    color: #2fd297;
    text-shadow: 0 0 1.6rem rgba(255,255,255,.7);
}

.ambient-hero h1:not(.ambient-logo-title) {
    max-width: 12.5ch;
    text-shadow: 0 1.2rem 4rem rgba(59, 111, 101, .24);
}

.ambient-tagline {
    color: rgba(255,255,255,.93);
    text-shadow: 0 .8rem 2.6rem rgba(59, 111, 101, .2);
}

.ambient-section,
.ambient-link-list,
.ambient-detail-grid,
.ambient-contact-layout {
    position: relative;
    z-index: 1;
}

.ambient-intro {
    width: min(980px, calc(100% - 2.5rem));
    border: 1px solid rgba(255,255,255,.36);
    padding: clamp(2.2rem, 5vw, 4rem);
    background: rgba(255,255,255,.08);
    box-shadow: 0 2rem 5rem rgba(58, 112, 101, .14);
    backdrop-filter: blur(16px);
}

.ambient-section h2,
.ambient-closing p,
.ambient-link-list strong,
.ambient-detail-grid h2,
.ambient-contact-note h2 {
    text-shadow: 0 .9rem 2.8rem rgba(58, 112, 101, .2);
}

.ambient-section p,
.ambient-link-list em,
.ambient-detail-grid p,
.ambient-contact-note p,
.ambient-contact-note li {
    color: rgba(255,255,255,.84);
}

.ambient-link-list {
    border-top: 1px solid rgba(255,255,255,.38);
    border-bottom: 1px solid rgba(255,255,255,.2);
}

.ambient-link-list a {
    border-bottom-color: rgba(255,255,255,.28);
}

.ambient-link-list a:hover {
    padding-inline: clamp(1rem, 2vw, 1.6rem);
    background: rgba(255,255,255,.08);
}

.ambient-detail-grid {
    border-color: rgba(255,255,255,.34);
    background: rgba(255,255,255,.035);
    box-shadow: 0 2rem 5rem rgba(58, 112, 101, .12);
}

.ambient-detail-grid article {
    border-color: rgba(255,255,255,.28);
    background: rgba(255,255,255,.075);
}

.ambient-detail-grid article:hover {
    background: rgba(255,255,255,.13);
}

.ambient-contact-form input,
.ambient-contact-form select,
.ambient-contact-form textarea {
    border-color: rgba(255,255,255,.68);
    background: rgba(255,255,255,.1);
    color: #fff;
}

.ambient-contact-form input:focus,
.ambient-contact-form select:focus,
.ambient-contact-form textarea:focus {
    border-color: #fff;
    box-shadow: 0 0 0 3px rgba(255,255,255,.16);
}

.ambient-contact-page .ambient-contact-form label {
    color: #173c35;
    text-shadow: none;
}

.ambient-contact-page .ambient-contact-form input,
.ambient-contact-page .ambient-contact-form select,
.ambient-contact-page .ambient-contact-form textarea {
    border-color: rgba(23, 60, 53, .42);
    background: rgba(248, 255, 252, .88);
    color: #10231f;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.68), 0 .85rem 1.8rem rgba(34, 83, 73, .08);
}

.ambient-contact-page .ambient-contact-form input:focus,
.ambient-contact-page .ambient-contact-form select:focus,
.ambient-contact-page .ambient-contact-form textarea:focus {
    border-color: #0f4b40;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(15, 75, 64, .22), 0 .85rem 1.8rem rgba(34, 83, 73, .1);
}

.ambient-contact-page .ambient-contact-form input::placeholder,
.ambient-contact-page .ambient-contact-form textarea::placeholder {
    color: rgba(16, 35, 31, .54);
}

.ambient-contact-page .ambient-contact-form select option { color: #10231f; }

.ambient-contact-page .ambient-consent {
    color: #244a43 !important;
}

.ambient-contact-page .ambient-consent input {
    accent-color: #0f4b40;
    border-color: #0f4b40;
}

.ambient-contact-page .ambient-consent a {
    color: #0d453b;
    font-weight: 850;
    text-decoration: underline;
    text-underline-offset: .16em;
}

.ambient-contact-page .ambient-submit {
    border-color: #0f4b40;
    background: #123f36;
    color: #fff;
    box-shadow: 0 1rem 2.4rem rgba(18, 63, 54, .22);
}

.ambient-contact-page .ambient-submit:hover {
    border-color: #082f28;
    background: #082f28;
    color: #fff;
}

.ambient-nav__drawer {
    background: rgba(115, 163, 153, .96);
}

@media (max-width: 760px) {
    .ambient-page {
        background:
            linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 28%),
            linear-gradient(145deg, #a7c9bf 0%, #8fb7ad 48%, #7fa99f 100%) !important;
    }

    .ambient-nav {
        min-height: 4.6rem;
        background: rgba(130, 176, 166, .72);
    }

    .ambient-nav__brand .jans-app-brand--landing img {
        width: 1.85rem;
        height: 1.85rem;
    }

    .ambient-nav__brand .jans-app-brand--landing > span {
        font-size: 1.05rem;
    }

    .ambient-hero {
        min-height: calc(86svh - 4.6rem);
        justify-content: center;
    }

    .ambient-intro {
        width: calc(100% - 2rem);
        padding: 1.5rem 1.2rem;
    }

    .ambient-link-list a:hover {
        padding-inline: 0;
        background: transparent;
    }
}

/* Mobile navigation and hero polish after responsive review. */
@media (max-width: 900px) {
    .ambient-nav {
        position: sticky;
        top: 0;
        z-index: 80;
        grid-template-columns: minmax(0, 1fr) auto;
        min-height: 4.9rem;
        padding-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));
        background: rgba(132, 177, 167, .86);
        box-shadow: 0 .8rem 2.4rem rgba(65, 113, 104, .14);
    }

    .ambient-nav__links,
    .ambient-nav__login {
        display: none !important;
    }

    .ambient-nav__brand .jans-app-brand--landing {
        gap: .7rem;
    }

    .ambient-nav__brand .jans-app-brand--landing img {
        width: 2.35rem;
        height: 2.35rem;
    }

    .ambient-nav__brand .jans-app-brand--landing > span {
        font-size: clamp(1.35rem, 4.7vw, 1.72rem);
        letter-spacing: -.065em;
        line-height: .95;
    }

    .ambient-nav__burger {
        display: block !important;
        position: static;
    }

    .ambient-nav__burger > summary {
        position: relative;
        z-index: 120;
        width: 3.35rem;
        height: 3.35rem;
        border-color: rgba(255,255,255,.78);
        background: rgba(255,255,255,.11);
        box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 .8rem 2rem rgba(61, 112, 102, .16);
    }

    .ambient-nav__burger > summary span {
        width: 1.34rem;
        height: 2px;
        margin: .13rem 0;
        border-radius: 999px;
        background: #fff;
        transition: transform .18s ease, opacity .18s ease;
    }

    .ambient-nav__burger[open] > summary {
        position: fixed;
        top: max(.85rem, env(safe-area-inset-top));
        right: max(1rem, env(safe-area-inset-right));
        border-color: rgba(255,255,255,.52);
        background: rgba(255,255,255,.14);
    }

    .ambient-nav__burger[open] > summary span:nth-child(1) {
        transform: translateY(.26rem) rotate(45deg);
    }

    .ambient-nav__burger[open] > summary span:nth-child(2) {
        opacity: 0;
    }

    .ambient-nav__burger[open] > summary span:nth-child(3) {
        transform: translateY(-.26rem) rotate(-45deg);
    }

    .ambient-nav__drawer {
        position: fixed;
        inset: 0;
        z-index: 110;
        width: 100vw;
        min-height: 100dvh;
        border: 0;
        padding: max(5.8rem, calc(env(safe-area-inset-top) + 5.2rem)) max(1.25rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));
        background:
            radial-gradient(circle at 24% 12%, rgba(255,255,255,.18), transparent 18rem),
            linear-gradient(145deg, rgba(150, 192, 183, .98), rgba(112, 159, 149, .98));
        box-shadow: none;
        backdrop-filter: blur(18px);
    }

    .ambient-nav__drawer::before {
        content: "Jans.App";
        display: block;
        margin: 0 0 1.1rem;
        color: #fff;
        font-size: clamp(2.7rem, 13vw, 5.6rem);
        font-weight: 900;
        letter-spacing: -.075em;
        line-height: .86;
        text-shadow: 0 1rem 3rem rgba(55, 107, 97, .18);
    }

    .ambient-nav__drawer a {
        display: flex;
        min-height: clamp(3.8rem, 10.5vw, 5.2rem);
        align-items: center;
        justify-content: space-between;
        border-bottom: 1px solid rgba(255,255,255,.28);
        padding: 0 .2rem;
        color: #fff;
        font-size: clamp(1rem, 3.4vw, 1.35rem);
        font-weight: 850;
        letter-spacing: .14em;
        line-height: 1;
        text-transform: uppercase;
    }

    .ambient-nav__drawer a::after {
        content: "↗";
        font-size: 1rem;
        opacity: .72;
    }

    .ambient-nav__drawer a:hover {
        background: transparent;
        color: #fff;
        padding-inline: .75rem;
    }

    .ambient-hero {
        min-height: calc(88dvh - 4.9rem);
        padding: clamp(3.2rem, 8vw, 5.5rem) 1.15rem clamp(2.6rem, 7vw, 4.5rem);
    }

    .ambient-logo-title {
        font-size: clamp(4.35rem, 17vw, 8.8rem);
        letter-spacing: -.078em;
    }

    .ambient-hero h1:not(.ambient-logo-title) {
        max-width: 10.6ch;
        font-size: clamp(3rem, 12.5vw, 6.8rem);
    }

    .ambient-overline {
        margin-bottom: 1.15rem;
        font-size: clamp(.68rem, 2vw, .78rem);
        letter-spacing: .17em;
        line-height: 1.45;
    }

    .ambient-tagline {
        max-width: 18rem;
        margin-top: 1.25rem;
        font-size: clamp(1.45rem, 5.8vw, 2.15rem);
        line-height: 1.16;
    }

    .ambient-entry-actions {
        width: min(22rem, 100%);
        margin-top: 2.1rem;
        gap: .75rem;
    }

    .ambient-entry-actions a,
    .ambient-section a,
    .ambient-submit {
        width: 100%;
        min-width: 0;
        min-height: 3.55rem;
        padding-inline: 1rem;
        font-size: .72rem;
        letter-spacing: .16em;
    }
}

@media (max-width: 900px) and (max-height: 560px) {
    .ambient-nav {
        min-height: 4.25rem;
    }

    .ambient-nav__brand .jans-app-brand--landing img {
        width: 2rem;
        height: 2rem;
    }

    .ambient-nav__brand .jans-app-brand--landing > span {
        font-size: 1.25rem;
    }

    .ambient-nav__burger > summary {
        width: 3rem;
        height: 3rem;
    }

    .ambient-hero {
        min-height: calc(100dvh - 4.25rem);
        padding-top: 1.25rem;
        padding-bottom: 1.6rem;
    }

    .ambient-logo-title {
        font-size: clamp(3.7rem, 11vw, 6.4rem);
    }

    .ambient-hero h1:not(.ambient-logo-title) {
        font-size: clamp(2.7rem, 9.4vw, 5.2rem);
    }

    .ambient-tagline {
        margin-top: .85rem;
        font-size: clamp(1.15rem, 3.7vw, 1.65rem);
    }

    .ambient-entry-actions {
        flex-direction: row;
        width: min(42rem, 92vw);
        margin-top: 1.4rem;
    }

    .ambient-entry-actions a {
        width: auto;
        flex: 1 1 0;
        min-height: 3.15rem;
    }

    .ambient-nav__drawer {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-content: center;
        column-gap: 1.2rem;
        padding-top: max(4.6rem, calc(env(safe-area-inset-top) + 4.2rem));
    }

    .ambient-nav__drawer::before {
        grid-column: 1 / -1;
        margin-bottom: .5rem;
        font-size: clamp(2.4rem, 9vw, 4.2rem);
    }

    .ambient-nav__drawer a {
        min-height: 3.2rem;
        font-size: clamp(.82rem, 2.3vw, 1rem);
    }
}

@media (max-width: 420px) {
    .ambient-nav__brand .jans-app-brand--landing img {
        width: 2.12rem;
        height: 2.12rem;
    }

    .ambient-nav__brand .jans-app-brand--landing > span {
        display: inline-block !important;
        font-size: 1.24rem;
    }

    .ambient-nav__brand .jans-app-brand--landing {
        gap: .52rem;
    }

    .ambient-logo-title {
        font-size: clamp(3.9rem, 18.5vw, 5.2rem);
    }
}

/* Public content expansion and robust responsive brand alignment. */
.ambient-nav__brand,
.ambient-nav__brand .jans-app-brand,
.ambient-nav__brand .jans-app-brand--landing {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 0 0 auto;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    line-height: 1 !important;
    transform: none !important;
}

.ambient-nav__brand .jans-app-brand--landing img {
    display: block !important;
    flex: 0 0 auto !important;
    object-fit: contain;
    margin: 0 !important;
    transform: none !important;
}

.ambient-nav__brand .jans-app-brand--landing > span {
    display: inline-block !important;
    max-width: none !important;
    margin: 0 !important;
    color: #fff !important;
    white-space: nowrap;
    transform: none !important;
}

.ambient-nav__brand .jans-app-brand--landing > span > span {
    color: #2ed59a !important;
}

.ambient-nav,
.ambient-nav__brand,
.ambient-nav__brand .jans-app-brand--landing,
.ambient-nav__links,
.ambient-nav__links a,
.ambient-nav__login {
    align-items: center !important;
}

.ambient-nav__links a,
.ambient-nav__login,
.ambient-nav__brand,
.ambient-nav__brand .jans-app-brand--landing {
    text-decoration: none !important;
    border-bottom: 0 !important;
}

.ambient-nav__links a::before,
.ambient-nav__links a::after,
.ambient-nav__login::before,
.ambient-nav__login::after {
    content: none !important;
    display: none !important;
}

.ambient-nav__brand .jans-app-brand--landing img,
.ambient-nav__brand .jans-app-brand--landing > span {
    align-self: center !important;
}

.ambient-hero-copy {
    max-width: 43rem;
    margin: 1.4rem auto 0;
    color: rgba(255,255,255,.86);
    font-size: clamp(1rem, 1.8vw, 1.28rem);
    line-height: 1.65;
    text-shadow: 0 .6rem 2rem rgba(58,112,101,.18);
}

.ambient-feature-showcase,
.ambient-process,
.ambient-roadmap,
.ambient-feature-band {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 2.5rem));
    margin: 0 auto clamp(4.5rem, 9vw, 9rem);
}

.ambient-section-heading {
    display: grid;
    grid-template-columns: minmax(8rem, .35fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: end;
    margin-bottom: clamp(1.6rem, 4vw, 3rem);
}

.ambient-section-heading p,
.ambient-roadmap > p,
.ambient-feature-band > p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.ambient-section-heading h2,
.ambient-process h2,
.ambient-roadmap h2,
.ambient-feature-band h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(2.4rem, 6vw, 6rem);
    font-weight: 900;
    letter-spacing: -.075em;
    line-height: .88;
    text-shadow: 0 1rem 3rem rgba(58,112,101,.2);
}

.ambient-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,.32);
    border-left: 1px solid rgba(255,255,255,.26);
}

.ambient-feature-grid article,
.ambient-feature-band article {
    min-height: 16rem;
    border-right: 1px solid rgba(255,255,255,.26);
    border-bottom: 1px solid rgba(255,255,255,.26);
    padding: clamp(1.2rem, 2.8vw, 2rem);
    background: rgba(255,255,255,.075);
    backdrop-filter: blur(14px);
}

.ambient-feature-grid article span {
    display: inline-flex;
    min-height: 1.65rem;
    align-items: center;
    border: 1px solid rgba(255,255,255,.42);
    padding: 0 .65rem;
    color: rgba(255,255,255,.86);
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.ambient-feature-grid h3,
.ambient-feature-band strong {
    display: block;
    margin: clamp(2.4rem, 5vw, 4rem) 0 .9rem;
    color: #fff;
    font-size: clamp(1.55rem, 3vw, 2.8rem);
    font-weight: 900;
    letter-spacing: -.06em;
    line-height: .92;
}

.ambient-feature-grid p,
.ambient-feature-band span {
    color: rgba(255,255,255,.82);
    font-size: .98rem;
    line-height: 1.62;
}

.ambient-process {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: start;
}

.ambient-process ol {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgba(255,255,255,.28);
}

.ambient-process li {
    display: grid;
    grid-template-columns: 4.5rem minmax(0, .7fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
    border-bottom: 1px solid rgba(255,255,255,.28);
    padding: 1.25rem 0;
}

.ambient-process strong {
    color: rgba(255,255,255,.56);
    font-size: .76rem;
    letter-spacing: .18em;
}

.ambient-process span {
    color: #fff;
    font-size: clamp(1.15rem, 2vw, 1.65rem);
    font-weight: 900;
    letter-spacing: -.045em;
    line-height: 1;
}

.ambient-process p {
    margin: 0;
    color: rgba(255,255,255,.8);
    line-height: 1.55;
}

.ambient-roadmap {
    text-align: center;
}

.ambient-roadmap h2 {
    max-width: 12ch;
    margin: 1rem auto 2rem;
}

.ambient-roadmap div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .75rem;
}

.ambient-roadmap span {
    border: 1px solid rgba(255,255,255,.42);
    padding: .78rem 1rem;
    color: #fff;
    background: rgba(255,255,255,.07);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ambient-feature-band {
    border-top: 1px solid rgba(255,255,255,.32);
    padding-top: clamp(2rem, 5vw, 4rem);
}

.ambient-feature-band h2 {
    max-width: 12ch;
    margin: 1rem 0 2rem;
}

.ambient-feature-band > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,.26);
    border-left: 1px solid rgba(255,255,255,.26);
}

@media (max-width: 900px) {
    .ambient-nav {
        padding-left: max(1.1rem, env(safe-area-inset-left)) !important;
        padding-right: max(1.1rem, env(safe-area-inset-right)) !important;
    }

    .ambient-nav__brand .jans-app-brand--landing {
        gap: .58rem !important;
    }

    .ambient-nav__brand .jans-app-brand--landing img {
        width: 2.15rem !important;
        height: 2.15rem !important;
    }

    .ambient-nav__brand .jans-app-brand--landing > span {
        font-size: clamp(1.24rem, 4.2vw, 1.55rem) !important;
        line-height: .92 !important;
    }

    .ambient-hero-copy {
        max-width: 21rem;
        margin-top: 1rem;
        font-size: .98rem;
        line-height: 1.55;
    }

    .ambient-section-heading,
    .ambient-process {
        grid-template-columns: 1fr;
    }

    .ambient-feature-grid,
    .ambient-feature-band > div {
        grid-template-columns: 1fr;
    }

    .ambient-feature-grid article,
    .ambient-feature-band article {
        min-height: auto;
    }

    .ambient-feature-grid h3,
    .ambient-feature-band strong {
        margin-top: 2.2rem;
    }

    .ambient-process li {
        grid-template-columns: 3.5rem minmax(0, 1fr);
    }

    .ambient-process li p {
        grid-column: 2;
    }
}

@media (max-width: 520px) {
    .ambient-feature-showcase,
    .ambient-process,
    .ambient-roadmap,
    .ambient-feature-band {
        width: calc(100% - 2rem);
    }

    .ambient-section-heading h2,
    .ambient-process h2,
    .ambient-roadmap h2,
    .ambient-feature-band h2 {
        font-size: clamp(2.3rem, 11vw, 4.1rem);
    }

    .ambient-roadmap div {
        justify-content: stretch;
    }

    .ambient-roadmap span {
        width: 100%;
        text-align: center;
    }
}

/* Mobile hardening: prevent horizontal clipping and finish bottom CTA headline. */
html,
body {
    overflow-x: hidden;
}

.ambient-page,
.ambient-page * {
    box-sizing: border-box;
}

.ambient-page {
    max-width: 100%;
    overflow-x: clip;
}

.ambient-closing h2 {
    max-width: 12ch;
    margin: 1rem auto 1.25rem;
    color: #fff;
    font-size: clamp(2.8rem, 7.5vw, 7rem);
    font-weight: 900;
    letter-spacing: -.078em;
    line-height: .86;
    text-shadow: 0 1rem 3rem rgba(58,112,101,.22);
}

.ambient-closing > .ambient-section__kicker {
    margin-bottom: 0;
}

.ambient-closing p:not(.ambient-section__kicker) {
    max-width: 40rem;
    font-size: clamp(1rem, 1.8vw, 1.28rem);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.65;
}

@media (max-width: 900px) {
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden !important;
    }

    .ambient-page {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        overflow-x: hidden !important;
    }

    .ambient-nav {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        overflow: visible !important;
        padding-left: max(1.25rem, env(safe-area-inset-left)) !important;
        padding-right: max(1rem, env(safe-area-inset-right)) !important;
    }

    .ambient-nav__brand {
        overflow: visible !important;
        min-width: 0 !important;
    }

    .ambient-nav__brand .jans-app-brand--landing {
        overflow: visible !important;
        max-width: calc(100vw - 6rem) !important;
    }

    .ambient-nav__brand .jans-app-brand--landing img {
        width: 2.05rem !important;
        height: 2.05rem !important;
    }

    .ambient-nav__brand .jans-app-brand--landing > span {
        max-width: calc(100vw - 8.8rem) !important;
        overflow: visible !important;
        font-size: clamp(1.18rem, 4vw, 1.42rem) !important;
    }

    .ambient-nav__drawer {
        inset: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        transform: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        padding-left: max(1.5rem, env(safe-area-inset-left)) !important;
        padding-right: max(1.5rem, env(safe-area-inset-right)) !important;
    }

    .ambient-nav__drawer a,
    .ambient-nav__drawer::before {
        width: 100%;
        max-width: 100%;
        overflow-wrap: break-word;
    }

    .ambient-hero,
    .ambient-section,
    .ambient-intro,
    .ambient-link-list,
    .ambient-detail-grid,
    .ambient-feature-showcase,
    .ambient-process,
    .ambient-roadmap,
    .ambient-feature-band,
    .ambient-contact-layout {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: max(1.35rem, env(safe-area-inset-left)) !important;
        padding-right: max(1.35rem, env(safe-area-inset-right)) !important;
    }

    .ambient-intro,
    .ambient-feature-grid,
    .ambient-detail-grid,
    .ambient-feature-band > div {
        border-left: 0 !important;
        border-right: 0 !important;
    }

    .ambient-link-list a {
        width: 100%;
        max-width: 100%;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow: hidden;
    }

    .ambient-link-list strong,
    .ambient-link-list em,
    .ambient-feature-grid h3,
    .ambient-feature-band strong,
    .ambient-detail-grid h2,
    .ambient-process span,
    .ambient-roadmap span {
        overflow-wrap: break-word;
        word-break: normal;
        hyphens: auto;
    }

    .ambient-link-list strong {
        font-size: clamp(2.05rem, 10vw, 3.65rem) !important;
        line-height: .95;
    }

    .ambient-link-list em {
        font-size: clamp(1.05rem, 5.2vw, 1.55rem) !important;
        line-height: 1.35;
    }

    .ambient-feature-grid article,
    .ambient-feature-band article,
    .ambient-detail-grid article {
        border-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .ambient-closing {
        padding-top: clamp(4rem, 16vw, 6rem) !important;
        padding-bottom: calc(clamp(5rem, 18vw, 7rem) + env(safe-area-inset-bottom)) !important;
    }

    .ambient-closing h2 {
        max-width: 10.5ch;
        font-size: clamp(2.7rem, 12.5vw, 4.8rem);
    }

    .ambient-closing p:not(.ambient-section__kicker) {
        max-width: 23rem;
        font-size: 1rem;
    }
}

@media (max-width: 390px) {
    .ambient-nav {
        padding-left: max(1rem, env(safe-area-inset-left)) !important;
    }

    .ambient-nav__brand .jans-app-brand--landing {
        gap: .45rem !important;
    }

    .ambient-nav__brand .jans-app-brand--landing img {
        width: 1.92rem !important;
        height: 1.92rem !important;
    }

    .ambient-nav__brand .jans-app-brand--landing > span {
        font-size: 1.12rem !important;
    }
}

/* Responsive cleanup: frameless burger, no white right gutter, software list heading. */
html:has(.ambient-page),
body:has(.ambient-page),
#app:has(.ambient-page),
.rz-layout:has(.ambient-page),
.rz-body:has(.ambient-page),
.main-body:has(.ambient-page) {
    background: #8fb7ad !important;
}

.ambient-page {
    background-color: #8fb7ad !important;
}

.ambient-software-section {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 2.5rem));
    margin: 0 auto clamp(4.5rem, 9vw, 9rem);
}

.ambient-section-heading--stacked {
    display: block;
    max-width: 52rem;
    margin-bottom: clamp(2rem, 5vw, 4rem);
}

.ambient-section-heading--stacked p {
    margin-bottom: 1rem;
}

.ambient-section-heading--stacked h2 {
    max-width: 12ch;
}

.ambient-software-section .ambient-link-list {
    width: 100%;
    margin: 0;
}

.ambient-nav__burger > summary {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

.ambient-nav__burger > summary:hover,
.ambient-nav__burger[open] > summary {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ambient-nav__burger > summary span {
    box-shadow: 0 .35rem .9rem rgba(58, 112, 101, .18);
}

@media (max-width: 900px) {
    body:has(.ambient-page) {
        min-width: 0 !important;
        background: #8fb7ad !important;
    }

    .rz-body:has(.ambient-page),
    .main-body:has(.ambient-page) {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: hidden !important;
        background: #8fb7ad !important;
    }

    .ambient-page {
        position: relative;
        left: 50%;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: -50vw !important;
        margin-right: -50vw !important;
        overflow-x: hidden !important;
    }

    .ambient-nav {
        position: sticky;
        top: 0;
        width: 100vw !important;
        max-width: 100vw !important;
        padding-left: max(1.25rem, env(safe-area-inset-left)) !important;
        padding-right: max(1.15rem, env(safe-area-inset-right)) !important;
        background: rgba(132, 177, 167, .92) !important;
    }

    .ambient-nav__burger > summary {
        width: 3rem !important;
        height: 3rem !important;
        padding: 0 !important;
        place-items: center;
    }

    .ambient-nav__burger > summary span {
        width: 1.62rem !important;
        height: 2px !important;
        margin: .16rem 0 !important;
    }

    .ambient-nav__burger[open] > summary {
        top: max(1rem, env(safe-area-inset-top)) !important;
        right: max(1.1rem, env(safe-area-inset-right)) !important;
    }

    .ambient-nav__drawer {
        width: 100vw !important;
        max-width: 100vw !important;
        min-height: 100dvh;
        left: 0 !important;
        right: auto !important;
        margin: 0 !important;
        padding-left: max(1.65rem, env(safe-area-inset-left)) !important;
        padding-right: max(1.65rem, env(safe-area-inset-right)) !important;
    }

    .ambient-software-section {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: max(1.35rem, env(safe-area-inset-left)) !important;
        padding-right: max(1.35rem, env(safe-area-inset-right)) !important;
    }

    .ambient-section-heading--stacked {
        max-width: 100%;
        margin-bottom: 2rem;
    }

    .ambient-section-heading--stacked h2 {
        max-width: 11ch;
        font-size: clamp(2.35rem, 11vw, 4.35rem) !important;
    }

    .ambient-software-section .ambient-link-list {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Inline hero login and final mobile gutter/header alignment fix. */
.ambient-nav {
    align-items: center !important;
}

.ambient-nav__brand,
.ambient-nav__burger {
    align-self: center !important;
}

.ambient-nav__brand .jans-app-brand--landing {
    align-items: center !important;
}

.ambient-nav__burger > summary {
    align-items: center !important;
    justify-content: center !important;
    line-height: 0;
}

.ambient-hero-switch {
    display: grid;
    width: min(62rem, 100%);
    margin: 0 auto;
    transition: min-height .32s ease;
}

.ambient-entry-actions--primary,
.ambient-inline-login {
    grid-area: 1 / 1;
    transition: opacity .28s ease, transform .32s ease, filter .32s ease, max-height .34s ease;
}

.ambient-entry-actions--primary {
    align-self: start;
}

.ambient-entry-actions button,
.ambient-inline-login__back {
    appearance: none;
    font: inherit;
    cursor: pointer;
}

.ambient-entry-actions a,
.ambient-entry-actions button,
.ambient-section a,
.ambient-submit {
    display: inline-flex;
    min-width: min(19rem, calc(100vw - 2rem));
    min-height: 3.75rem;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ambient-line);
    border-radius: 0;
    padding: 0 1.5rem;
    background: rgba(255,255,255,.05);
    color: #fff;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .2em;
    text-decoration: none;
    text-transform: uppercase;
    backdrop-filter: blur(14px);
}

.ambient-entry-actions button:hover {
    background: rgba(255,255,255,.18);
    color: #fff;
}

.ambient-inline-login {
    width: min(45rem, 100%);
    max-height: 0;
    margin: clamp(1.9rem, 4vw, 3.5rem) auto 0;
    opacity: 0;
    pointer-events: none;
    transform: translateY(1.1rem) scale(.985);
    filter: blur(6px);
    overflow: hidden;
}

.ambient-hero-switch.is-login .ambient-entry-actions--primary {
    max-height: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-1rem) scale(.985);
    filter: blur(6px);
    overflow: hidden;
}

.ambient-hero-switch.is-login .ambient-inline-login {
    max-height: 38rem;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    filter: blur(0);
    overflow: visible;
}

.ambient-inline-login__back {
    display: inline-flex;
    min-height: 2.25rem;
    align-items: center;
    justify-content: center;
    border: 0;
    margin: 0 auto 1rem;
    padding: 0 .75rem;
    background: transparent;
    color: rgba(255,255,255,.86);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.ambient-inline-login__back:hover {
    color: #fff;
}

.ambient-inline-login .hero.hero-full {
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #fff !important;
}

.ambient-inline-login .hero-content {
    width: 100% !important;
    max-width: 100% !important;
}

.ambient-inline-login .hero-content > .jans-app-brand,
.ambient-inline-login .hero-content > .tagline {
    display: none !important;
}

.ambient-inline-login .FlexContainerRow {
    width: min(100%, 45rem);
    max-width: 45rem;
}

.ambient-inline-login .login-hero-input,
.ambient-inline-login .login-hero-button {
    min-height: 3.75rem;
    border: 1px solid rgba(255,255,255,.58);
    background: rgba(255,255,255,.07);
    color: #fff;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .16em;
    backdrop-filter: blur(14px);
}

.ambient-inline-login .login-hero-button:hover,
.ambient-inline-login .login-hero-input.is-active,
.ambient-inline-login .login-hero-input:not(:placeholder-shown) {
    border-color: rgba(255,255,255,.85);
    background: rgba(255,255,255,.16);
    color: #fff;
}

.ambient-inline-login .login-hero-links {
    margin-top: .85rem;
}

@media (max-width: 900px) {
    html:has(.ambient-page),
    body:has(.ambient-page),
    #app:has(.ambient-page),
    .rz-layout:has(.ambient-page),
    .rz-body:has(.ambient-page),
    .main-body:has(.ambient-page) {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        background: #8fb7ad !important;
    }

    .ambient-page {
        left: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        transform: none !important;
        overflow-x: hidden !important;
        background: #8fb7ad !important;
    }

    .ambient-page::before,
    .ambient-page::after,
    .ambient-hero--home::after {
        max-width: 100%;
        overflow: hidden;
    }

    .ambient-nav {
        min-height: 4.75rem !important;
        height: 4.75rem;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .ambient-nav__brand,
    .ambient-nav__burger,
    .ambient-nav__burger > summary {
        height: 3rem !important;
    }

    .ambient-nav__brand {
        display: inline-flex !important;
    }

    .ambient-nav__burger > summary {
        display: flex !important;
        flex-direction: column;
    }

    .ambient-entry-actions a,
    .ambient-entry-actions button,
    .ambient-section a,
    .ambient-submit {
        width: 100%;
        min-width: 0;
        min-height: 3.55rem;
        padding-inline: 1rem;
        font-size: .72rem;
        letter-spacing: .16em;
    }

    .ambient-home-page .ambient-entry-actions--primary {
        width: min(100%, 22rem);
        margin-inline: auto;
        justify-self: center;
        align-items: center;
    }

    .ambient-home-page .ambient-entry-actions--primary a,
    .ambient-home-page .ambient-entry-actions--primary button {
        max-width: 22rem;
    }

    .ambient-inline-login {
        width: min(100%, 22rem);
    }

    .ambient-inline-login .FlexContainerRow {
        width: 100%;
        max-width: 100%;
    }

    .ambient-inline-login .login-hero-input,
    .ambient-inline-login .login-hero-button {
        width: 100%;
        min-height: 3.55rem;
        font-size: .72rem;
    }
}

/* Public pages must own the full viewport: no layout padding/frame above or around Ambient pages. */
.content-wrap:has(> .ambient-page),
.content-wrap:has(> .public-marketing-page),
.content-wrap:has(> .public-login-page) {
    padding: 0 !important;
    margin: 0 !important;
    background: #8fb7ad !important;
}

.rz-body:has(.ambient-page),
.main-body:has(.ambient-page),
.rz-body:has(.public-marketing-page),
.main-body:has(.public-marketing-page) {
    padding: 0 !important;
    background: #8fb7ad !important;
    overflow-x: hidden !important;
}

.ambient-page.public-marketing-page,
.public-marketing-page.ambient-page {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100dvh;
    margin: 0 !important;
}

@media (max-width: 900px) {
    .content-wrap:has(> .ambient-page),
    .content-wrap:has(> .public-marketing-page),
    .content-wrap:has(> .public-login-page) {
        padding: 0 !important;
    }
}

/* Gastro software page: expanded module scope, developer license, testimonials. */
.ambient-gastro-early-access,
.ambient-gastro-suite,
.ambient-gastro-flow,
.ambient-gastro-calculation,
.ambient-gastro-license,
.ambient-gastro-testimonials,
.ambient-time-license {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 2.5rem));
    margin: 0 auto clamp(4.5rem, 9vw, 9rem);
}

.ambient-gastro-early-access {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: clamp(1.5rem, 5vw, 5rem);
    align-items: end;
    border-top: 1px solid var(--ambient-line-soft);
    border-bottom: 1px solid var(--ambient-line-soft);
    padding: clamp(1.8rem, 4vw, 3.5rem) 0;
}

.ambient-gastro-early-access h2,
.ambient-gastro-calculation h2 {
    max-width: 12ch;
    margin: 0;
    color: #fff;
    font-size: clamp(2.6rem, 6vw, 6rem);
    font-weight: 950;
    letter-spacing: -.078em;
    line-height: .88;
}

.ambient-gastro-early-access p:not(.ambient-section__kicker),
.ambient-gastro-calculation p:not(.ambient-section__kicker) {
    max-width: 44rem;
    margin: 0 0 1rem;
    color: rgba(255,255,255,.84);
    font-size: clamp(1rem, 1.55vw, 1.18rem);
    line-height: 1.65;
}

.ambient-gastro-early-access p:last-child,
.ambient-gastro-calculation p:last-child {
    margin-bottom: 0;
}

.ambient-gastro-module-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--ambient-line-soft);
    border-left: 1px solid var(--ambient-line-soft);
}

.ambient-gastro-module-grid article {
    min-width: 0;
    border-right: 1px solid var(--ambient-line-soft);
    border-bottom: 1px solid var(--ambient-line-soft);
    padding: clamp(1.05rem, 2.2vw, 1.6rem);
    background: rgba(255,255,255,.055);
    backdrop-filter: blur(16px);
}

.ambient-gastro-module-grid article:nth-child(even) {
    background: rgba(255,255,255,.095);
}

.ambient-gastro-visual {
    position: relative;
    min-height: clamp(8rem, 16vw, 13rem);
    margin-bottom: 1.25rem;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.22);
    background:
        linear-gradient(135deg, rgba(255,255,255,.24), rgba(255,255,255,.04)),
        radial-gradient(circle at 25% 25%, rgba(255,255,255,.72), transparent 2.8rem),
        radial-gradient(circle at 76% 70%, rgba(53,183,140,.42), transparent 4.5rem);
}

.ambient-gastro-visual::before,
.ambient-gastro-visual::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255,255,255,.48);
    background: rgba(255,255,255,.1);
}

.ambient-gastro-visual::before {
    inset: 1rem 1rem auto;
    height: 2.6rem;
}

.ambient-gastro-visual::after {
    right: 1rem;
    bottom: 1rem;
    width: 42%;
    height: 38%;
}

.ambient-gastro-visual--products { background-image: linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,.04)), radial-gradient(circle at 18% 24%, rgba(255,255,255,.72), transparent 2.4rem), radial-gradient(circle at 72% 72%, rgba(255,214,121,.38), transparent 4.5rem); }
.ambient-gastro-visual--ai { background-image: linear-gradient(135deg, rgba(255,255,255,.24), rgba(255,255,255,.04)), radial-gradient(circle at 25% 30%, rgba(255,255,255,.72), transparent 2.6rem), radial-gradient(circle at 78% 68%, rgba(91,141,255,.38), transparent 4.6rem); }
.ambient-gastro-visual--tasks { background-image: linear-gradient(135deg, rgba(255,255,255,.24), rgba(255,255,255,.04)), radial-gradient(circle at 24% 20%, rgba(255,255,255,.72), transparent 2.5rem), radial-gradient(circle at 78% 72%, rgba(255,255,255,.28), transparent 4.2rem); }
.ambient-gastro-visual--customer { background-image: linear-gradient(135deg, rgba(255,255,255,.24), rgba(255,255,255,.04)), radial-gradient(circle at 28% 28%, rgba(255,255,255,.72), transparent 2.7rem), radial-gradient(circle at 74% 70%, rgba(255,144,122,.36), transparent 4.4rem); }
.ambient-gastro-visual--crm { background-image: linear-gradient(135deg, rgba(255,255,255,.24), rgba(255,255,255,.04)), radial-gradient(circle at 28% 28%, rgba(255,255,255,.72), transparent 2.7rem), radial-gradient(circle at 72% 70%, rgba(176,132,255,.36), transparent 4.5rem); }
.ambient-gastro-visual--wawi { background-image: linear-gradient(135deg, rgba(255,255,255,.24), rgba(255,255,255,.04)), radial-gradient(circle at 28% 28%, rgba(255,255,255,.72), transparent 2.7rem), radial-gradient(circle at 72% 70%, rgba(96,207,190,.42), transparent 4.5rem); }
.ambient-gastro-visual--menu { background-image: linear-gradient(135deg, rgba(255,255,255,.24), rgba(255,255,255,.04)), radial-gradient(circle at 28% 28%, rgba(255,255,255,.72), transparent 2.7rem), radial-gradient(circle at 72% 70%, rgba(255,255,255,.36), transparent 4.5rem); }

.ambient-gastro-module-grid span,
.ambient-gastro-license aside span,
.ambient-time-feature-grid span,
.ambient-time-license aside span {
    display: block;
    margin-bottom: .8rem;
    color: rgba(255,255,255,.68);
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.ambient-gastro-module-grid h3,
.ambient-time-feature-grid h3 {
    margin: 0 0 .85rem;
    color: #fff;
    font-size: clamp(1.25rem, 2.2vw, 1.8rem);
    font-weight: 900;
    letter-spacing: -.045em;
    line-height: 1;
}

.ambient-gastro-module-grid p,
.ambient-time-feature-grid p {
    margin: 0;
    color: rgba(255,255,255,.82);
    font-size: .95rem;
    line-height: 1.55;
}

.ambient-gastro-flow-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--ambient-line-soft);
    border-left: 1px solid var(--ambient-line-soft);
}

.ambient-gastro-flow-grid article {
    min-width: 0;
    min-height: clamp(16rem, 22vw, 22rem);
    border-right: 1px solid var(--ambient-line-soft);
    border-bottom: 1px solid var(--ambient-line-soft);
    padding: clamp(1.35rem, 3vw, 2.35rem);
    background: var(--ambient-card-contrast, #0d2b26);
    backdrop-filter: blur(18px);
}

.ambient-gastro-flow-grid span {
    display: inline-flex;
    width: 2.7rem;
    height: 2.7rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.34);
    margin-bottom: clamp(2.4rem, 6vw, 5rem);
    color: rgba(255,255,255,.74);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em;
}

.ambient-gastro-flow-grid h3 {
    margin: 0 0 .9rem;
    color: #fff;
    font-size: clamp(1.55rem, 3vw, 2.5rem);
    font-weight: 950;
    letter-spacing: -.06em;
    line-height: .95;
}

.ambient-gastro-flow-grid p {
    margin: 0;
    color: rgba(255,255,255,.82);
    font-size: clamp(.98rem, 1.45vw, 1.08rem);
    line-height: 1.6;
}

.ambient-gastro-calculation {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(1.5rem, 5vw, 5rem);
    align-items: start;
    border: 1px solid rgba(255,255,255,.26);
    padding: clamp(1.6rem, 4vw, 3rem);
    background:
        radial-gradient(circle at 14% 18%, rgba(255,214,121,.18), transparent 9rem),
        radial-gradient(circle at 86% 78%, rgba(96,207,190,.18), transparent 10rem),
        rgba(255,255,255,.07);
    box-shadow: 0 1.5rem 4rem rgba(61,111,103,.14);
    backdrop-filter: blur(20px);
}

.ambient-gastro-calculation .ambient-section__kicker {
    grid-column: 1 / -1;
    margin-bottom: -1rem;
}

.ambient-gastro-license,
.ambient-time-license {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .65fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: stretch;
    border-top: 1px solid var(--ambient-line-soft);
    border-bottom: 1px solid var(--ambient-line-soft);
    padding: clamp(2rem, 5vw, 4.5rem) 0;
}

.ambient-gastro-license h2,
.ambient-time-license h2 {
    max-width: 11ch;
    margin: 0 0 1.25rem;
    color: #fff;
    font-size: clamp(2.8rem, 7vw, 7rem);
    font-weight: 900;
    letter-spacing: -.078em;
    line-height: .86;
}

.ambient-gastro-license p,
.ambient-time-license p {
    max-width: 42rem;
    color: rgba(255,255,255,.86);
    font-size: clamp(1rem, 1.6vw, 1.22rem);
    line-height: 1.65;
}

.ambient-gastro-license a,
.ambient-time-license a {
    display: inline-flex;
    min-height: 3.75rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.66);
    margin-top: 1.5rem;
    padding: 0 1.45rem;
    color: #fff;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-decoration: none;
    text-transform: uppercase;
    background: rgba(255,255,255,.12);
}

.ambient-gastro-license a:hover,
.ambient-time-license a:hover {
    background: rgba(255,255,255,.22);
}

.ambient-gastro-license aside,
.ambient-time-license aside {
    border: 1px solid rgba(255,255,255,.44);
    padding: clamp(1.4rem, 3vw, 2rem);
    background:
        radial-gradient(circle at 82% 14%, rgba(255,255,255,.28), transparent 7rem),
        rgba(255,255,255,.09);
    box-shadow: 0 1.5rem 4rem rgba(61,111,103,.16);
    backdrop-filter: blur(18px);
}

.ambient-gastro-license strong,
.ambient-time-license strong {
    display: block;
    color: #fff;
    font-size: clamp(4rem, 12vw, 8rem);
    font-weight: 950;
    letter-spacing: -.09em;
    line-height: .8;
}

.ambient-gastro-license em,
.ambient-time-license em {
    display: block;
    margin: .9rem 0 1.3rem;
    color: rgba(255,255,255,.82);
    font-style: normal;
    font-weight: 800;
}

.ambient-gastro-license ul,
.ambient-time-license ul {
    display: grid;
    gap: .85rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ambient-gastro-license li,
.ambient-time-license li {
    border-top: 1px solid rgba(255,255,255,.24);
    padding-top: .85rem;
    color: rgba(255,255,255,.86);
    font-size: .95rem;
}

.ambient-gastro-testimonials > div:last-child {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--ambient-line-soft);
    border-left: 1px solid var(--ambient-line-soft);
}

.ambient-gastro-testimonials blockquote {
    min-width: 0;
    margin: 0;
    border-right: 1px solid var(--ambient-line-soft);
    border-bottom: 1px solid var(--ambient-line-soft);
    padding: clamp(1.4rem, 3vw, 2.25rem);
    background: rgba(255,255,255,.065);
}

.ambient-gastro-testimonials blockquote::before {
    content: "“";
    display: block;
    height: 3rem;
    color: rgba(255,255,255,.55);
    font-size: 5rem;
    font-weight: 900;
    line-height: .75;
}

.ambient-gastro-testimonials p {
    margin: 0 0 1.4rem;
    color: #fff;
    font-size: clamp(1.08rem, 2vw, 1.4rem);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.25;
}

.ambient-gastro-testimonials cite {
    color: rgba(255,255,255,.7);
    font-size: .78rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

@media (max-width: 1100px) {
    .ambient-gastro-module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ambient-gastro-flow-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .ambient-gastro-early-access,
    .ambient-gastro-suite,
    .ambient-gastro-flow,
    .ambient-gastro-calculation,
    .ambient-gastro-license,
    .ambient-gastro-testimonials,
    .ambient-time-license {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: max(1.35rem, env(safe-area-inset-left)) !important;
        padding-right: max(1.35rem, env(safe-area-inset-right)) !important;
    }

    .ambient-gastro-early-access,
    .ambient-gastro-module-grid,
    .ambient-gastro-flow-grid,
    .ambient-gastro-calculation,
    .ambient-gastro-license,
    .ambient-gastro-testimonials > div:last-child,
    .ambient-time-license {
        grid-template-columns: 1fr;
    }

    .ambient-gastro-module-grid,
    .ambient-gastro-flow-grid,
    .ambient-gastro-testimonials > div:last-child {
        border-left: 0;
    }

    .ambient-gastro-module-grid article,
    .ambient-gastro-flow-grid article,
    .ambient-gastro-testimonials blockquote {
        border-right: 0;
        padding-left: 0;
        padding-right: 0;
    }

    .ambient-gastro-visual {
        min-height: 11rem;
    }

    .ambient-gastro-early-access,
    .ambient-gastro-calculation,
    .ambient-gastro-license,
    .ambient-time-license {
        gap: 2rem;
        padding-top: clamp(3rem, 12vw, 5rem) !important;
        padding-bottom: clamp(3rem, 12vw, 5rem) !important;
    }

    .ambient-gastro-visual {
        min-height: 11rem;
    }

    .ambient-gastro-flow-grid article {
        min-height: auto;
    }

    .ambient-gastro-flow-grid span {
        margin-bottom: 2rem;
    }

    .ambient-gastro-early-access h2,
    .ambient-gastro-calculation h2,
    .ambient-gastro-license h2,
    .ambient-gastro-testimonials h2,
    .ambient-time-license h2 {
        max-width: 10.5ch;
        font-size: clamp(2.45rem, 11vw, 4.5rem) !important;
    }

    .ambient-gastro-calculation .ambient-section__kicker {
        margin-bottom: 0;
    }

    .ambient-gastro-license a,
    .ambient-time-license a {
        width: 100%;
    }
}

.ambient-gastro-license__note,
.ambient-time-license__note {
    border-left: 1px solid rgba(255,255,255,.44);
    margin-top: 1.2rem !important;
    padding-left: 1rem;
    color: rgba(255,255,255,.78) !important;
    font-size: clamp(.95rem, 1.4vw, 1.08rem) !important;
}

@media (max-width: 760px) {
    .ambient-gastro-license__note,
    .ambient-time-license__note {
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.24);
        padding-top: 1rem;
        padding-left: 0;
    }
}

/* ProstCast public landing: feature scope from prostcast.beer. */
.ambient-prostcast-community,
.ambient-prostcast-suite {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 2.5rem));
    margin: 0 auto clamp(4.5rem, 9vw, 9rem);
}

.ambient-prostcast-community {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: end;
    margin-top: clamp(-.5rem, -1vw, 0rem);
    border-top: 1px solid rgba(255,255,255,.32);
    border-bottom: 1px solid rgba(255,255,255,.18);
    padding: clamp(1.6rem, 4vw, 3.5rem) 0;
}

.ambient-prostcast-community::before {
    content: "";
    position: absolute;
    inset: 0 calc(50% - 50vw);
    z-index: -1;
    background:
        radial-gradient(circle at 12% 18%, rgba(255, 214, 121, .14), transparent 18rem),
        radial-gradient(circle at 82% 76%, rgba(106, 184, 168, .16), transparent 16rem),
        linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.018));
    pointer-events: none;
}

.ambient-prostcast-community h2 {
    max-width: 11ch;
    margin: 0;
    color: #fff;
    font-size: clamp(2.45rem, 6.4vw, 6.2rem);
    font-weight: 950;
    letter-spacing: -.075em;
    line-height: .88;
}

.ambient-prostcast-community__body {
    display: grid;
    gap: clamp(1rem, 2vw, 1.35rem);
    max-width: 44rem;
}

.ambient-prostcast-community__body p {
    margin: 0;
    color: rgba(255,255,255,.78);
    font-size: clamp(1rem, 1.8vw, 1.24rem);
    line-height: 1.7;
}

.ambient-prostcast-community__body p:first-child {
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2.7vw, 2.05rem);
    font-style: italic;
    line-height: 1.28;
}

.ambient-prostcast-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--ambient-line-soft);
    border-left: 1px solid var(--ambient-line-soft);
}

.ambient-prostcast-feature-grid article {
    min-height: 18rem;
    display: grid;
    align-content: end;
    border-right: 1px solid var(--ambient-line-soft);
    border-bottom: 1px solid var(--ambient-line-soft);
    padding: clamp(1.25rem, 2.8vw, 2.2rem);
    background:
        radial-gradient(circle at 82% 16%, rgba(255,255,255,.12), transparent 6rem),
        rgba(255,255,255,.055);
    backdrop-filter: blur(16px);
}

.ambient-prostcast-feature-grid article:nth-child(2n) {
    background:
        radial-gradient(circle at 18% 18%, rgba(255,214,121,.13), transparent 6rem),
        rgba(255,255,255,.085);
}

.ambient-prostcast-feature-grid span {
    margin-bottom: .9rem;
    color: rgba(255,255,255,.62);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.ambient-prostcast-feature-grid h3 {
    margin: 0 0 .85rem;
    color: #fff;
    font-size: clamp(1.55rem, 3vw, 3rem);
    font-weight: 900;
    letter-spacing: -.06em;
    line-height: .9;
}

.ambient-prostcast-feature-grid p {
    margin: 0;
    color: rgba(255,255,255,.78);
    font-size: .98rem;
    line-height: 1.6;
}

@media (max-width: 980px) {
    .ambient-prostcast-community {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .ambient-prostcast-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ambient-prostcast-community,
    .ambient-prostcast-suite {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: max(1.35rem, env(safe-area-inset-left)) !important;
        padding-right: max(1.35rem, env(safe-area-inset-right)) !important;
    }

    .ambient-prostcast-community {
        margin-top: 0;
        padding-top: 2.2rem;
        padding-bottom: 2.2rem;
    }

    .ambient-prostcast-community h2 {
        max-width: 9.5ch;
    }

    .ambient-prostcast-community__body {
        max-width: none;
    }

    .ambient-prostcast-feature-grid {
        grid-template-columns: 1fr;
        border-left: 0;
    }

    .ambient-prostcast-feature-grid article {
        min-height: 14rem;
        border-right: 0;
        padding-left: 0;
        padding-right: 0;
        background: transparent;
    }
}

/* Time tracking public landing: derived from AC-Nordend workforce portal. */
.ambient-time-hero-copy p:not(.ambient-tagline) {
    max-width: 42rem;
    margin: 1.1rem auto 0;
    color: rgba(255,255,255,.78);
    font-size: clamp(1rem, 1.6vw, 1.22rem);
    line-height: 1.65;
}

.ambient-time-suite,
.ambient-time-process {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 2.5rem));
    margin: 0 auto clamp(4.5rem, 9vw, 9rem);
}

.ambient-time-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--ambient-line-soft);
    border-left: 1px solid var(--ambient-line-soft);
}

.ambient-time-feature-card {
    min-width: 0;
    border-right: 1px solid var(--ambient-line-soft);
    border-bottom: 1px solid var(--ambient-line-soft);
    padding: clamp(1.05rem, 2.2vw, 1.6rem);
    background: rgba(255,255,255,.055);
    backdrop-filter: blur(16px);
    overflow-wrap: anywhere;
}

.ambient-time-feature-card:nth-child(even) {
    background: rgba(255,255,255,.095);
}

.ambient-time-process {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: start;
}

.ambient-time-process > div {
    position: sticky;
    top: 6rem;
}

.ambient-time-process h2 {
    margin: .5rem 0 1rem;
    color: #fff;
    font-size: clamp(2.2rem, 5vw, 5rem);
    font-weight: 950;
    letter-spacing: -.075em;
    line-height: .9;
}

.ambient-time-process p:not(.ambient-section__kicker) {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 1.05rem;
    line-height: 1.7;
}

.ambient-time-process ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .9rem;
}

.ambient-time-process li {
    display: grid;
    gap: .35rem;
    border-top: 1px solid rgba(255,255,255,.24);
    padding-top: .95rem;
    color: rgba(255,255,255,.86);
}

.ambient-time-process strong {
    color: #fff;
    font-size: 1.08rem;
}

.ambient-time-process li span {
    color: rgba(255,255,255,.72);
    line-height: 1.55;
}

@media (max-width: 980px) {
    .ambient-time-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ambient-time-process {
        grid-template-columns: 1fr;
    }

    .ambient-time-process > div {
        position: static;
    }
}

@media (max-width: 760px) {
    .ambient-time-suite,
    .ambient-time-process {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: max(1.35rem, env(safe-area-inset-left)) !important;
        padding-right: max(1.35rem, env(safe-area-inset-right)) !important;
    }

    .ambient-time-feature-grid {
        grid-template-columns: 1fr;
        border-left: 0;
    }

    .ambient-time-feature-card {
        border-right: 0;
        padding-left: 0;
        padding-right: 0;
        background: transparent;
    }
}

/* Jans.Software public landing: expertise, agent workflows and automation. */
.public-jans-software-intro {
    isolation: isolate;
    display: grid;
    gap: clamp(1.5rem, 4vw, 3rem);
    width: min(1180px, calc(100% - 2.5rem));
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.16);
    padding: clamp(1.5rem, 5vw, 4.25rem);
    text-align: left;
    background:
        radial-gradient(circle at 12% 10%, rgba(108, 240, 201, .18), transparent 18rem),
        linear-gradient(135deg, rgba(13, 43, 38, .94), rgba(19, 35, 48, .92));
    box-shadow: 0 1.5rem 4rem rgba(3, 12, 18, .2);
    backdrop-filter: blur(16px);
}

.public-jans-software-intro::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: linear-gradient(180deg, rgba(108, 240, 201, .95), rgba(53, 183, 140, .2));
}

.public-jans-software-intro .ambient-section__kicker {
    margin-bottom: 1rem;
}

.public-jans-software-intro h2 {
    max-width: 13ch;
    margin: 0;
    font-size: clamp(2.35rem, 6vw, 5.5rem);
}

.public-jans-software-intro p {
    max-width: 42rem;
    margin: 0;
    color: rgba(255,255,255,.78);
}

.public-jans-software-intro p + p {
    margin-top: 1rem;
}

.public-jans-software-intro__body {
    display: grid;
    align-content: end;
}

.public-jans-software-intro__signals {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin: clamp(1.25rem, 3vw, 2rem) 0 0;
    padding: 0;
    list-style: none;
}

.public-jans-software-intro__signals li {
    min-width: 0;
}

.public-jans-software-intro__signals span {
    display: inline-flex;
    align-items: center;
    min-height: 2.4rem;
    border: 1px solid rgba(255,255,255,.14);
    padding: 0 .9rem;
    color: rgba(255,255,255,.9);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
    background: rgba(255,255,255,.05);
}

@media (min-width: 880px) {
    .public-jans-software-intro {
        grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
        align-items: end;
    }
}

.ambient-agent-system,
.ambient-jans-software-process {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 2.5rem));
    margin: 0 auto clamp(4.5rem, 9vw, 9rem);
}

.ambient-agent-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: var(--ambient-line-soft);
    border: 1px solid var(--ambient-line-soft);
}

.ambient-agent-grid article {
    min-height: 18.5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(1.25rem, 2.8vw, 2.25rem);
    background: var(--ambient-card-contrast, #0d2b26);
    backdrop-filter: blur(16px);
}

.ambient-agent-grid article:nth-child(even) {
    background: var(--ambient-card-contrast-alt, #132330);
}

.ambient-agent-grid span {
    width: 2.6rem;
    height: 2.6rem;
    display: grid;
    place-items: center;
    margin-bottom: 1rem;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    color: var(--ambient-green);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .08em;
}

.ambient-agent-grid h3 {
    margin: 0 0 .85rem;
    color: #fff;
    font-size: clamp(1.55rem, 3vw, 2.75rem);
    font-weight: 950;
    letter-spacing: -.065em;
    line-height: .92;
}

.ambient-agent-grid p {
    margin: 0;
    color: rgba(255,255,255,.76);
    font-size: .98rem;
    line-height: 1.6;
}

.ambient-jans-software-process {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: start;
}

.ambient-jans-software-process > div {
    position: sticky;
    top: 6rem;
}

.ambient-jans-software-process h2 {
    margin: .5rem 0 1rem;
    color: #fff;
    font-size: clamp(2.2rem, 5vw, 5rem);
    font-weight: 950;
    letter-spacing: -.075em;
    line-height: .9;
}

.ambient-jans-software-process p:not(.ambient-section__kicker) {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 1.05rem;
    line-height: 1.7;
}

.ambient-jans-software-process ol {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .9rem;
    counter-reset: jans-software-process;
}

.ambient-jans-software-process li {
    counter-increment: jans-software-process;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    padding: clamp(1rem, 2vw, 1.5rem);
    border: 1px solid rgba(255, 255, 255, .14);
    background: var(--ambient-card-contrast, #0d2b26);
    color: #ffffff;
    box-shadow: 0 1.1rem 2.4rem rgba(3, 12, 18, .18);
}

.ambient-jans-software-process li > div {
    display: grid;
    gap: .35rem;
    align-self: center;
}

.ambient-jans-software-process li::before {
    content: counter(jans-software-process, decimal-leading-zero);
    width: 2.75rem;
    height: 2.75rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(108, 240, 201, .14);
    color: var(--ambient-green);
    font-size: .75rem;
    font-weight: 950;
    letter-spacing: .08em;
}

.ambient-jans-software-process strong {
    color: #fff;
    font-size: 1.08rem;
}

.ambient-jans-software-process li span {
    color: rgba(255,255,255,.72);
    line-height: 1.55;
}

@media (max-width: 1100px) {
    .ambient-nav__links a[href="/software-entwicklung"] {
        display: none;
    }
}

/* Keep the public mobile menu on the top visual layer above page heroes, cards and Radzen shell surfaces. */
@media (max-width: 1100px) {
    .ambient-nav {
        z-index: 2147482000 !important;
        isolation: isolate;
    }

    .ambient-nav__burger[open] {
        position: fixed !important;
        inset: 0 !important;
        z-index: 2147482500 !important;
        pointer-events: none;
    }

    .ambient-nav__burger[open] > summary,
    .ambient-nav__burger[open] .ambient-nav__drawer,
    .ambient-nav__burger[open] .public-nav__drawer {
        pointer-events: auto;
    }

    .ambient-nav__burger[open] > summary {
        z-index: 2147483000 !important;
    }

    .ambient-nav__burger[open] .ambient-nav__drawer,
    .ambient-nav__burger[open] .public-nav__drawer {
        z-index: 2147482900 !important;
    }
}

@media (max-width: 980px) {
    .ambient-agent-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ambient-jans-software-process {
        grid-template-columns: 1fr;
    }

    .ambient-jans-software-process > div {
        position: static;
    }
}

@media (max-width: 760px) {
    .ambient-agent-system,
    .ambient-jans-software-process {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: max(1.35rem, env(safe-area-inset-left)) !important;
        padding-right: max(1.35rem, env(safe-area-inset-right)) !important;
    }

    .ambient-agent-grid {
        grid-template-columns: 1fr;
        background: transparent;
        border-left: 0;
        border-right: 0;
    }

    .ambient-agent-grid article {
        min-height: 14rem;
        padding-left: 0;
        padding-right: 0;
        background: transparent;
    }

    .ambient-jans-software-process li {
        grid-template-columns: 1fr;
        gap: .85rem;
    }
}

/* Contact page: light pastel card look matching Jan's mobile reference. */
.ambient-contact-page {
    --contact-page-ink: #172033;
    --contact-page-muted: #667085;
    --contact-page-line: #e4e9f2;
    --contact-page-blue: #4f7df3;
    --contact-page-violet: #8b5cf6;
    --contact-page-green: #16a36f;
    color: var(--contact-page-ink);
    background:
        radial-gradient(circle at 14% 8%, rgba(104, 132, 245, .16), transparent 18rem),
        radial-gradient(circle at 84% 18%, rgba(139, 92, 246, .14), transparent 18rem),
        #f7f9fc !important;
}

.ambient-contact-page::before,
.ambient-contact-page::after {
    display: none;
}

.ambient-contact-page .ambient-nav {
    color: var(--contact-page-ink);
}

.ambient-contact-page .ambient-nav__links a,
.ambient-contact-page .ambient-nav__login,
.ambient-contact-page .ambient-nav__brand span {
    color: rgba(23, 32, 51, .72);
    text-shadow: none;
}

.ambient-contact-page .ambient-nav__links a:hover,
.ambient-contact-page .ambient-nav__login:hover {
    color: var(--contact-page-ink);
}

.ambient-contact-page .ambient-nav__login,
.ambient-contact-page .ambient-nav__burger > summary {
    border-color: rgba(79, 125, 243, .22);
    border-radius: 16px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 .85rem 2rem rgba(35, 49, 85, .08);
}

.ambient-contact-page .ambient-nav__burger > summary span {
    background: var(--contact-page-ink);
}

.ambient-contact-page .ambient-hero--compact {
    width: min(980px, calc(100% - 2rem));
    min-height: 0;
    margin: clamp(1rem, 3vw, 2rem) auto clamp(2rem, 5vw, 4rem);
    border-radius: clamp(28px, 6vw, 44px);
    padding: clamp(2.6rem, 7vw, 5rem) clamp(1.5rem, 5vw, 4rem);
    overflow: hidden;
    text-align: center;
    background:
        radial-gradient(circle at 20% 18%, rgba(255,255,255,.34), transparent 9rem),
        linear-gradient(135deg, #4f7df3 0%, #6d5df5 46%, #9b5cf6 100%);
    box-shadow: 0 1.4rem 3.5rem rgba(79, 93, 220, .24);
}

.ambient-contact-hero__icon {
    display: grid;
    width: 4rem;
    height: 4rem;
    margin: 0 auto 1.1rem;
    place-items: center;
    border-radius: 22px;
    background: rgba(255,255,255,.18);
    font-size: 2rem;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.26);
}

.ambient-contact-page .ambient-overline {
    color: rgba(255,255,255,.82);
    text-shadow: none;
}

.ambient-contact-page .ambient-hero h1:not(.ambient-logo-title) {
    max-width: none;
    margin-inline: auto;
    color: #fff;
    font-size: clamp(2.45rem, 8vw, 5.25rem);
    letter-spacing: -.055em;
    text-shadow: none;
}

.ambient-contact-page .ambient-tagline {
    max-width: 42rem;
    margin-inline: auto;
    color: rgba(255,255,255,.88);
    font-size: clamp(1.02rem, 2.3vw, 1.35rem);
    text-shadow: none;
}

.ambient-contact-page .ambient-contact-layout {
    width: min(980px, calc(100% - 2rem));
    margin: 0 auto clamp(3rem, 7vw, 5rem);
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
}

.ambient-contact-page .ambient-contact-form,
.ambient-contact-page .ambient-contact-note {
    border: 1px solid var(--contact-page-line);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 1.2rem 3rem rgba(21, 32, 58, .08);
}

.ambient-contact-page .ambient-contact-form {
    position: relative;
    gap: 1.05rem;
    padding: clamp(1.25rem, 4vw, 2rem);
    overflow: hidden;
}

.ambient-contact-page .ambient-contact-form::before,
.ambient-contact-page .ambient-contact-note::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: linear-gradient(180deg, var(--contact-page-blue), var(--contact-page-violet));
}

.ambient-contact-form__intro {
    display: grid;
    gap: .45rem;
    margin-bottom: .35rem;
}

.ambient-contact-form__intro span,
.ambient-contact-note__badge {
    width: fit-content;
    border-radius: 999px;
    padding: .32rem .72rem;
    background: #eef3ff;
    color: #315ad7;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ambient-contact-form__intro h2 {
    margin: 0;
    color: var(--contact-page-ink);
    font-size: clamp(1.45rem, 4vw, 2.15rem);
    font-weight: 900;
    letter-spacing: -.045em;
    line-height: 1.05;
}

.ambient-contact-form__intro p {
    max-width: 46rem;
    margin: 0;
    color: var(--contact-page-muted);
    line-height: 1.6;
}

.ambient-contact-page .ambient-contact-form label {
    color: #24304a;
    font-size: .78rem;
    letter-spacing: .08em;
    text-shadow: none;
}

.ambient-contact-page .ambient-contact-form input,
.ambient-contact-page .ambient-contact-form select,
.ambient-contact-page .ambient-contact-form textarea {
    min-height: 3.35rem;
    border-color: #d5ddea;
    border-radius: 16px;
    background: #fbfcff;
    color: var(--contact-page-ink);
    box-shadow: none;
    backdrop-filter: none;
}

.ambient-contact-page .ambient-contact-form input:focus,
.ambient-contact-page .ambient-contact-form select:focus,
.ambient-contact-page .ambient-contact-form textarea:focus {
    border-color: var(--contact-page-blue);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(79, 125, 243, .14);
}

.ambient-contact-page .ambient-contact-form textarea {
    min-height: 10rem;
}

.ambient-contact-page .ambient-consent {
    border: 1px solid #d7f0e5;
    border-radius: 18px;
    padding: .95rem;
    background: #effbf6;
    color: #27604c !important;
}

.ambient-contact-page .ambient-consent input {
    accent-color: var(--contact-page-green);
}

.ambient-contact-page .ambient-consent a {
    color: #0f7a54;
}

.ambient-contact-page .ambient-submit {
    width: 100%;
    min-height: 3.45rem;
    border: 0;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--contact-page-blue), var(--contact-page-violet));
    color: #fff;
    box-shadow: 0 1rem 2.2rem rgba(79, 93, 220, .28);
}

.ambient-contact-page .ambient-submit:hover {
    background: linear-gradient(135deg, #3f68df, #7c3fec);
    color: #fff;
    transform: translateY(-1px);
}

.ambient-contact-page .ambient-contact-note {
    position: relative;
    display: grid;
    gap: .9rem;
    border-top: 1px solid var(--contact-page-line);
    padding: clamp(1.25rem, 4vw, 2rem);
    overflow: hidden;
    color: var(--contact-page-muted);
}

.ambient-contact-page .ambient-contact-note h2 {
    margin: 0;
    color: var(--contact-page-ink);
    font-size: clamp(1.35rem, 4vw, 2rem);
    letter-spacing: -.045em;
    line-height: 1.05;
    text-shadow: none;
}

.ambient-contact-page .ambient-contact-note p,
.ambient-contact-page .ambient-contact-note li {
    color: var(--contact-page-muted);
}

.ambient-contact-page .ambient-contact-note a {
    color: #315ad7;
    font-weight: 850;
}

.ambient-contact-page .ambient-contact-note ul {
    gap: .75rem;
    margin-top: .25rem;
}

.ambient-contact-page .ambient-contact-note li {
    border: 1px solid #e6ecf5;
    border-left: 5px solid #9bd8bd;
    border-radius: 18px;
    padding: .9rem 1rem;
    background: #f6fcf9;
}

/* Legal notices: same public landing language as the start page, without the old admin-card look. */
.ambient-legal-page .ambient-legal-hero {
    width: min(980px, calc(100% - 2rem));
    min-height: 0;
    margin: clamp(1rem, 3vw, 2rem) auto clamp(2rem, 5vw, 4rem);
    border-radius: clamp(28px, 6vw, 44px);
    padding: clamp(2.8rem, 7vw, 5.4rem) clamp(1.5rem, 5vw, 4rem);
    background:
        radial-gradient(circle at 18% 18%, rgba(255,255,255,.34), transparent 9rem),
        linear-gradient(135deg, rgba(68, 119, 245, .95), rgba(25, 176, 128, .9));
    text-align: center;
    box-shadow: 0 1.4rem 3.5rem rgba(58,112,101,.2);
}

.ambient-legal-page .ambient-legal-hero h1,
.ambient-legal-page .ambient-legal-hero .ambient-tagline,
.ambient-legal-page .ambient-legal-hero .ambient-overline {
    max-width: 48rem;
    margin-inline: auto;
    color: #fff;
    text-shadow: none;
}

.ambient-legal-layout {
    display: grid;
    width: min(980px, calc(100% - 2rem));
    margin: 0 auto clamp(3rem, 7vw, 5rem);
    gap: 1.25rem;
}

.ambient-legal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.ambient-legal-card {
    display: grid;
    gap: .8rem;
    border: 1px solid rgba(255,255,255,.42);
    border-radius: 28px;
    padding: clamp(1.25rem, 4vw, 2rem);
    background: rgba(255,255,255,.82);
    color: #173c35;
    box-shadow: 0 1.2rem 3rem rgba(61,111,103,.12);
    backdrop-filter: blur(18px);
}

.ambient-legal-card > span:not(.ambient-contact-note__badge) {
    color: #21b982;
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .16em;
}

.ambient-legal-card h2 {
    margin: 0;
    color: #123f36;
    font-size: clamp(1.35rem, 3vw, 2rem);
    line-height: 1.05;
}

.ambient-legal-card p {
    margin: 0;
    color: rgba(23, 60, 53, .78);
    line-height: 1.65;
}

.ambient-legal-card--contact {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
}

.ambient-legal-card--contact .ambient-submit {
    width: auto;
    min-width: 10rem;
    justify-self: end;
    text-decoration: none;
}

@media (max-width: 760px) {
    .ambient-legal-grid,
    .ambient-legal-card--contact {
        grid-template-columns: 1fr;
    }

    .ambient-legal-card--contact .ambient-submit {
        width: 100%;
        justify-self: stretch;
    }
}

@media (min-width: 900px) {
    .ambient-contact-page .ambient-contact-layout {
        grid-template-columns: minmax(0, 1fr) minmax(18rem, .46fr);
        gap: 1.5rem;
    }
}

@media (max-width: 900px) {
    html:has(.ambient-contact-page),
    body:has(.ambient-contact-page),
    #app:has(.ambient-contact-page),
    .rz-layout:has(.ambient-contact-page),
    .rz-body:has(.ambient-contact-page),
    .main-body:has(.ambient-contact-page) {
        background: #f7f9fc !important;
    }

    .ambient-contact-page {
        background: #f7f9fc !important;
    }

    .ambient-contact-page .ambient-nav {
        background: rgba(247, 249, 252, .9) !important;
    }
}

@media (max-width: 760px) {
    .ambient-contact-page .ambient-hero--compact,
    .ambient-contact-page .ambient-contact-layout {
        width: calc(100% - 2rem) !important;
    }

    .ambient-contact-page .ambient-hero--compact {
        border-radius: 28px;
        padding: 2.6rem 1.25rem;
    }
}

/* Cookie policy: align legal content with the public pastel landing/contact UI. */
.ambient-cookie-page .ambient-cookie-hero {
    background:
        radial-gradient(circle at 18% 18%, rgba(255,255,255,.34), transparent 9rem),
        linear-gradient(135deg, #4f7df3 0%, #6d5df5 46%, #9b5cf6 100%);
}

.ambient-cookie-layout {
    display: grid;
    width: min(980px, calc(100% - 2rem));
    margin: 0 auto clamp(3rem, 7vw, 5rem);
    gap: 1.25rem;
}

.ambient-cookie-card {
    position: relative;
    display: grid;
    gap: .9rem;
    overflow: hidden;
    border: 1px solid var(--contact-page-line);
    border-radius: 28px;
    padding: clamp(1.25rem, 4vw, 2rem);
    background: #fff;
    color: var(--contact-page-muted);
    box-shadow: 0 1.2rem 3rem rgba(21, 32, 58, .08);
}

.ambient-cookie-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: linear-gradient(180deg, var(--contact-page-blue), var(--contact-page-violet));
}

.ambient-cookie-card h2,
.ambient-cookie-card strong {
    margin: 0;
    color: var(--contact-page-ink);
}

.ambient-cookie-card h2 {
    font-size: clamp(1.35rem, 4vw, 2rem);
    font-weight: 900;
    letter-spacing: -.045em;
    line-height: 1.05;
}

.ambient-cookie-card p {
    margin: 0;
    color: var(--contact-page-muted);
    line-height: 1.65;
}

.ambient-cookie-card ul {
    display: grid;
    gap: .6rem;
    margin: .2rem 0 0;
    padding: 0;
    list-style: none;
}

.ambient-cookie-card li {
    border: 1px solid #e6ecf5;
    border-left: 5px solid #9bd8bd;
    border-radius: 16px;
    padding: .75rem .9rem;
    background: #f6fcf9;
    color: var(--contact-page-muted);
}

.ambient-cookie-mini-grid,
.ambient-cookie-category-grid,
.ambient-cookie-info-grid,
.ambient-cookie-link-row,
.ambient-cookie-actions {
    display: grid;
    gap: 1rem;
}

.ambient-cookie-mini-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ambient-cookie-mini-grid div {
    display: grid;
    gap: .2rem;
    border: 1px solid #e6ecf5;
    border-radius: 18px;
    padding: 1rem;
    background: #fbfcff;
}

.ambient-cookie-mini-grid span {
    color: var(--contact-page-muted);
}

.ambient-cookie-category-grid,
.ambient-cookie-info-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ambient-cookie-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ambient-cookie-card__header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
}

.ambient-cookie-card__header span {
    display: grid;
    width: 2.6rem;
    height: 2.6rem;
    place-items: center;
    border-radius: 16px;
    background: #eef3ff;
    font-size: 1.25rem;
}

.ambient-cookie-card__header em {
    border-radius: 999px;
    padding: .28rem .6rem;
    background: #eef3ff;
    color: #315ad7;
    font-size: .68rem;
    font-style: normal;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ambient-cookie-card--actions {
    align-items: center;
}

.ambient-cookie-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ambient-cookie-button {
    min-height: 3.25rem;
    border: 1px solid #d5ddea;
    border-radius: 16px;
    padding: .85rem 1rem;
    background: #fbfcff;
    color: #24304a;
    font-weight: 850;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.ambient-cookie-button:hover {
    border-color: rgba(79, 125, 243, .4);
    background: #fff;
    box-shadow: 0 .8rem 1.8rem rgba(35, 49, 85, .08);
    transform: translateY(-1px);
}

.ambient-cookie-button--primary,
.ambient-cookie-button--success {
    border: 0;
    background: linear-gradient(135deg, var(--contact-page-blue), var(--contact-page-violet));
    color: #fff;
    box-shadow: 0 1rem 2.2rem rgba(79, 93, 220, .22);
}

.ambient-cookie-button--success {
    background: linear-gradient(135deg, #16a36f, #35b989);
}

.ambient-cookie-link-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ambient-cookie-link-row a {
    border: 1px solid #e6ecf5;
    border-radius: 16px;
    padding: .9rem 1rem;
    background: #f8fbff;
    color: #315ad7;
    font-weight: 850;
    text-decoration: none;
}

.ambient-cookie-link-row a:hover {
    background: #eef3ff;
    color: #2348bd;
}

@media (min-width: 900px) {
    .ambient-cookie-card--actions {
        grid-template-columns: minmax(0, 1fr) minmax(24rem, .85fr);
    }
}

@media (max-width: 900px) {
    .ambient-cookie-category-grid,
    .ambient-cookie-info-grid,
    .ambient-cookie-actions,
    .ambient-cookie-link-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .ambient-cookie-layout {
        width: calc(100% - 2rem) !important;
    }

    .ambient-cookie-mini-grid {
        grid-template-columns: 1fr;
    }

    .ambient-cookie-card {
        border-radius: 24px;
    }

    .ambient-cookie-card__header {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .ambient-cookie-card__header em {
        grid-column: 2;
        width: fit-content;
    }
}

/* Cookie policy reference override: mint Jans.App landing design with white typography. */
.ambient-cookie-page {
    background:
        radial-gradient(circle at 18% 10%, rgba(255,255,255,.88) 0 6%, transparent 24%),
        radial-gradient(circle at 86% 18%, rgba(255,255,255,.52) 0 7%, transparent 29%),
        radial-gradient(circle at 22% 88%, rgba(255,255,255,.42) 0 9%, transparent 34%),
        linear-gradient(135deg, #b8d8cf 0%, #a9cec5 34%, #93c0b8 66%, #d7e4dc 100%) !important;
    color: rgba(255,255,255,.94);
}

.ambient-cookie-page .ambient-nav {
    background: rgba(169, 207, 197, .18);
    backdrop-filter: blur(12px);
}

.ambient-cookie-page .ambient-nav__links a,
.ambient-cookie-page .ambient-nav__login,
.ambient-cookie-page .ambient-nav__brand span {
    color: rgba(255,255,255,.78);
    text-shadow: 0 .4rem 1.6rem rgba(80, 131, 122, .16);
}

.ambient-cookie-page .ambient-nav__links a:hover,
.ambient-cookie-page .ambient-nav__login:hover {
    color: #fff;
}

.ambient-cookie-page .ambient-nav__login,
.ambient-cookie-page .ambient-nav__burger > summary {
    border-color: rgba(255,255,255,.5);
    border-radius: 0;
    background: rgba(255,255,255,.05);
    box-shadow: none;
}

.ambient-cookie-page .ambient-nav__burger > summary span {
    background: #fff;
}

.ambient-cookie-page .ambient-cookie-hero {
    width: min(1080px, calc(100% - 2rem));
    min-height: 38svh;
    margin: clamp(1.25rem, 4vw, 3rem) auto clamp(2.5rem, 6vw, 5rem);
    padding: clamp(4rem, 10vw, 7.5rem) clamp(1.5rem, 5vw, 4rem) clamp(3.25rem, 7vw, 5rem);
    border-radius: 0;
    text-align: center;
    background: transparent;
    box-shadow: none;
}

.ambient-cookie-page .ambient-contact-hero__icon {
    width: 4.4rem;
    height: 4.4rem;
    margin-bottom: 1.35rem;
    border: 1px solid rgba(255,255,255,.38);
    border-radius: 0;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(16px);
    box-shadow: none;
}

.ambient-cookie-page .ambient-overline {
    color: rgba(255,255,255,.76);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .35em;
    text-transform: uppercase;
    text-shadow: none;
}

.ambient-cookie-page .ambient-hero h1:not(.ambient-logo-title) {
    max-width: 10ch;
    margin-inline: auto;
    color: #fff;
    font-size: clamp(3.2rem, 12vw, 8.6rem);
    font-weight: 900;
    letter-spacing: -.075em;
    line-height: .88;
    text-shadow: 0 1rem 3rem rgba(58,112,101,.22);
}

.ambient-cookie-page .ambient-tagline {
    max-width: 44rem;
    margin-inline: auto;
    color: rgba(255,255,255,.8);
    font-size: clamp(1rem, 1.9vw, 1.22rem);
    font-weight: 500;
    line-height: 1.8;
    text-shadow: none;
}

.ambient-cookie-page .ambient-cookie-layout {
    width: min(960px, calc(100% - 2.5rem));
    margin: 0 auto clamp(5rem, 10vw, 8rem);
    gap: 1.15rem;
}

.ambient-cookie-page .ambient-cookie-card {
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 0;
    padding: clamp(1.5rem, 4.8vw, 3.5rem) clamp(1.25rem, 5vw, 4rem);
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.78);
    box-shadow: none;
    backdrop-filter: blur(18px);
}

.ambient-cookie-page .ambient-cookie-card::before {
    display: none;
}

.ambient-cookie-page .ambient-cookie-card h2,
.ambient-cookie-page .ambient-cookie-card strong {
    color: #fff;
}

.ambient-cookie-page .ambient-cookie-card h2 {
    font-size: clamp(1.55rem, 4vw, 2.35rem);
    letter-spacing: -.055em;
}

.ambient-cookie-page .ambient-cookie-card p,
.ambient-cookie-page .ambient-cookie-card li,
.ambient-cookie-page .ambient-cookie-mini-grid span {
    color: rgba(255,255,255,.78);
    font-size: .96rem;
    line-height: 1.8;
}

.ambient-cookie-page .ambient-contact-note__badge,
.ambient-cookie-page .ambient-cookie-card__header em {
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 0;
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.82);
    letter-spacing: .25em;
}

.ambient-cookie-page .ambient-cookie-mini-grid div,
.ambient-cookie-page .ambient-cookie-card li,
.ambient-cookie-page .ambient-cookie-link-row a {
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 0;
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.82);
}

.ambient-cookie-page .ambient-cookie-card li {
    border-left-color: rgba(255,255,255,.55);
}

.ambient-cookie-page .ambient-cookie-card__header span {
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 0;
    background: rgba(255,255,255,.08);
}

.ambient-cookie-page .ambient-cookie-button {
    min-height: 3.65rem;
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 0;
    background: transparent;
    color: #fff;
    font-size: .72rem;
    letter-spacing: .22em;
    text-transform: uppercase;
    box-shadow: none;
}

.ambient-cookie-page .ambient-cookie-button:hover {
    border-color: #fff;
    background: rgba(255,255,255,.08);
    box-shadow: none;
}

.ambient-cookie-page .ambient-cookie-button--primary,
.ambient-cookie-page .ambient-cookie-button--success {
    border-color: #fff;
    background: #fff;
    color: #24413b;
}

.ambient-cookie-page .ambient-cookie-button--success {
    background: rgba(255,255,255,.9);
}

.ambient-cookie-page .ambient-cookie-link-row a {
    color: #fff;
    font-weight: 850;
    text-decoration: none;
}

.ambient-cookie-page .ambient-cookie-link-row a:hover {
    border-color: rgba(255,255,255,.5);
    background: rgba(255,255,255,.12);
    color: #fff;
}

@media (max-width: 900px) {
    html:has(.ambient-cookie-page),
    body:has(.ambient-cookie-page),
    #app:has(.ambient-cookie-page),
    .rz-layout:has(.ambient-cookie-page),
    .rz-body:has(.ambient-cookie-page),
    .main-body:has(.ambient-cookie-page) {
        background: #a9cec5 !important;
    }

    .ambient-cookie-page .ambient-nav {
        background: rgba(169, 207, 197, .58) !important;
    }
}

@media (max-width: 760px) {
    .ambient-cookie-page .ambient-cookie-hero,
    .ambient-cookie-page .ambient-cookie-layout {
        width: calc(100% - 2rem) !important;
    }

    .ambient-cookie-page .ambient-cookie-hero {
        min-height: 34svh;
        padding-top: 3.2rem;
    }

    .ambient-cookie-page .ambient-hero h1:not(.ambient-logo-title) {
        font-size: clamp(3rem, 17vw, 5.3rem);
    }

    .ambient-cookie-page .ambient-cookie-card {
        padding: 1.5rem 1.25rem;
    }
}

/* Cookie policy mobile polish: no icons, no horizontal overflow. */
.ambient-cookie-page {
    overflow-x: hidden !important;
}

.ambient-cookie-page .ambient-cookie-layout,
.ambient-cookie-page .ambient-cookie-hero,
.ambient-cookie-page .ambient-cookie-card,
.ambient-cookie-page .ambient-cookie-actions,
.ambient-cookie-page .ambient-cookie-link-row {
    max-width: 100%;
}

.ambient-cookie-page .ambient-contact-hero__icon,
.ambient-cookie-page .ambient-cookie-card__header > span[aria-hidden="true"] {
    display: none !important;
}

.ambient-cookie-page .ambient-cookie-card__header {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
}

.ambient-cookie-page .ambient-cookie-card__header strong,
.ambient-cookie-page .ambient-cookie-card h2,
.ambient-cookie-page .ambient-cookie-card p,
.ambient-cookie-page .ambient-cookie-card li,
.ambient-cookie-page .ambient-cookie-button,
.ambient-cookie-page .ambient-cookie-link-row a {
    min-width: 0;
    overflow-wrap: anywhere;
}

.ambient-cookie-page .ambient-hero h1:not(.ambient-logo-title) {
    max-width: min(100%, 11ch);
    overflow-wrap: anywhere;
}

@media (max-width: 760px) {
    .ambient-cookie-page .ambient-cookie-hero,
    .ambient-cookie-page .ambient-cookie-layout {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: max(1.15rem, env(safe-area-inset-left)) !important;
        padding-right: max(1.15rem, env(safe-area-inset-right)) !important;
    }

    .ambient-cookie-page .ambient-cookie-hero {
        min-height: 0;
        margin-top: 1rem !important;
        margin-bottom: 1.75rem !important;
        padding-top: 2.5rem !important;
        padding-bottom: 2.25rem !important;
    }

    .ambient-cookie-page .ambient-hero h1:not(.ambient-logo-title) {
        max-width: 8.8ch;
        font-size: clamp(2.9rem, 15.5vw, 4.65rem) !important;
        letter-spacing: -.07em;
        line-height: .9;
    }

    .ambient-cookie-page .ambient-tagline {
        font-size: .98rem;
        line-height: 1.7;
    }

    .ambient-cookie-page .ambient-cookie-layout {
        gap: 1rem;
        margin-bottom: 4rem !important;
    }

    .ambient-cookie-page .ambient-cookie-card {
        width: 100%;
        padding: 1.35rem 1.15rem;
    }

    .ambient-cookie-page .ambient-cookie-card__header {
        grid-template-columns: 1fr;
        gap: .65rem;
    }

    .ambient-cookie-page .ambient-cookie-card__header em {
        grid-column: auto;
    }

    .ambient-cookie-page .ambient-cookie-actions,
    .ambient-cookie-page .ambient-cookie-link-row {
        width: 100%;
    }

    .ambient-cookie-page .ambient-cookie-button,
    .ambient-cookie-page .ambient-cookie-link-row a {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 380px) {
    .ambient-cookie-page .ambient-hero h1:not(.ambient-logo-title) {
        font-size: clamp(2.55rem, 14.5vw, 3.65rem) !important;
    }
}

/* Issue-run #542-#546: public pages must stay in the shared ambient/legal templates. */
.ambient-nav__login,
.ambient-contact-page .ambient-nav__login,
.public-construction-nav .public-nav__login {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.ambient-contact-page {
    --contact-page-ink: #ffffff;
    --contact-page-muted: rgba(255, 255, 255, .74);
    --contact-page-line: var(--ambient-line-soft);
    color: #ffffff;
    background:
        radial-gradient(circle at 16% 10%, rgba(108, 240, 201, .14), transparent 18rem),
        radial-gradient(circle at 82% 18%, rgba(255, 255, 255, .1), transparent 20rem),
        linear-gradient(145deg, #85b4aa 0%, #6e9e94 48%, #4c7f76 100%) !important;
}

.ambient-contact-page .ambient-hero--compact {
    width: auto;
    min-height: 52svh;
    margin: 0;
    border-radius: 0;
    padding: clamp(3rem, 8vw, 7.5rem) clamp(1.25rem, 5vw, 5.5rem) clamp(2rem, 5vw, 4.5rem);
    background: transparent;
    box-shadow: none;
}

.ambient-contact-page .ambient-nav__links a,
.ambient-contact-page .ambient-nav__login,
.ambient-contact-page .ambient-nav__brand span {
    color: var(--ambient-soft);
}

.ambient-contact-page .ambient-nav__links a:hover,
.ambient-contact-page .ambient-nav__login:hover {
    color: #ffffff;
}

.ambient-contact-page .ambient-nav__burger > summary {
    border-color: var(--ambient-line);
    border-radius: 0;
    background: rgba(255, 255, 255, .05);
    box-shadow: none;
}

.ambient-contact-page .ambient-nav__burger > summary span {
    background: #ffffff;
}

.ambient-contact-page .ambient-contact-layout {
    width: min(1180px, calc(100% - 2.5rem));
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr);
    gap: clamp(1.25rem, 3vw, 2rem);
}

.ambient-contact-page .ambient-contact-form,
.ambient-contact-page .ambient-contact-note {
    border: 1px solid var(--ambient-line-soft);
    border-radius: 0;
    background: rgba(255, 255, 255, .075);
    color: rgba(255, 255, 255, .78);
    box-shadow: none;
    backdrop-filter: blur(18px);
}

.ambient-contact-page .ambient-contact-form::before,
.ambient-contact-page .ambient-contact-note::before {
    display: none;
}

.ambient-contact-page .ambient-contact-form label,
.ambient-contact-page .ambient-contact-note p,
.ambient-contact-page .ambient-contact-note li,
.ambient-contact-page .ambient-contact-form__intro p {
    color: rgba(255, 255, 255, .78);
}

.ambient-contact-page .ambient-contact-form__intro h2,
.ambient-contact-page .ambient-contact-note h2 {
    color: #ffffff;
}

.ambient-contact-page .ambient-contact-form__intro span,
.ambient-contact-page .ambient-contact-note__badge {
    border-radius: 0;
    background: rgba(108, 240, 201, .16);
    color: var(--ambient-green);
}

.ambient-contact-page .ambient-contact-form input,
.ambient-contact-page .ambient-contact-form select,
.ambient-contact-page .ambient-contact-form textarea {
    border-color: rgba(255, 255, 255, .26);
    border-radius: 0;
    background: rgba(255, 255, 255, .92);
    color: #123f36;
}

.ambient-contact-page .ambient-contact-form input:focus,
.ambient-contact-page .ambient-contact-form select:focus,
.ambient-contact-page .ambient-contact-form textarea:focus {
    border-color: rgba(108, 240, 201, .78);
    box-shadow: 0 0 0 4px rgba(108, 240, 201, .16);
}

.ambient-contact-page .ambient-consent {
    border-color: rgba(108, 240, 201, .28);
    border-radius: 0;
    background: rgba(108, 240, 201, .12);
    color: rgba(255, 255, 255, .82) !important;
}

.ambient-contact-page .ambient-consent a,
.ambient-contact-page .ambient-contact-note a {
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: .18em;
}

.ambient-contact-page .ambient-submit {
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 0;
    background: rgba(255, 255, 255, .94);
    color: #237c68;
    box-shadow: 0 .9rem 2.2rem rgba(26, 79, 68, .16);
}

.ambient-contact-page .ambient-submit:hover {
    background: #ffffff;
    color: #14594b;
}

.ambient-contact-page .ambient-contact-note li {
    border: 1px solid rgba(255, 255, 255, .16);
    border-left: 4px solid rgba(108, 240, 201, .62);
    border-radius: 0;
    background: rgba(255, 255, 255, .055);
}

.ambient-agent-grid article,
.ambient-jans-software-process li {
    align-content: start;
    justify-content: flex-start;
    background: var(--ambient-card-contrast, #0d2b26);
    color: #ffffff;
}

.ambient-agent-grid article {
    justify-content: flex-start;
}

.ambient-agent-grid article:nth-child(even) {
    background: var(--ambient-card-contrast-alt, #132330);
}

.ambient-agent-grid span {
    color: #8ff6d8;
}

.ambient-agent-grid p,
.ambient-jans-software-process li span {
    color: rgba(255, 255, 255, .88);
}

.ambient-jans-software-process li::before {
    background: rgba(143, 246, 216, .16);
    color: #8ff6d8;
}

/* Issue #559: use the Jans.Software solid dark card treatment across public landing cards. */
.ambient-feature-grid article,
.ambient-feature-band article,
.ambient-gastro-module-grid article,
.ambient-gastro-flow-grid article,
.ambient-time-feature-card {
    background: var(--ambient-card-contrast, #0d2b26);
    color: #ffffff;
    box-shadow: 0 1.1rem 2.4rem rgba(3, 12, 18, .18);
}

.ambient-feature-grid article:nth-child(even),
.ambient-feature-band article:nth-child(even),
.ambient-gastro-module-grid article:nth-child(even),
.ambient-gastro-flow-grid article:nth-child(even),
.ambient-time-feature-card:nth-child(even) {
    background: var(--ambient-card-contrast-alt, #132330);
}

@media (max-width: 900px) {
    .ambient-feature-grid article,
    .ambient-feature-band article,
    .ambient-gastro-module-grid article,
    .ambient-gastro-flow-grid article,
    .ambient-time-feature-card {
        padding: clamp(1.25rem, 5vw, 1.6rem) !important;
    }
}

@media (max-width: 1100px) {
    .ambient-contact-page .ambient-contact-layout {
        grid-template-columns: 1fr;
    }
}
