    *, *::before, *::after { box-sizing: border-box; }

    body { font-family: 'Outfit', sans-serif; background: #fff; color: #1a1a2e; scroll-behavior: smooth; }

    h1, h2, h3, h4 { font-family: 'Barlow Condensed', sans-serif; }

    :root {
        --blue: #1a5fc8;
        --blue-light: #2e78e4;
        --blue-dark: #1248a0;
        --navy: #0b1829;
        --gold: #f0b429;
    }

    .hero-bg {
        background: linear-gradient(140deg, #060e18 0%, #0b1829 55%, #132338 100%);
        position: relative;
        overflow: hidden;
    }

    .hero-bg::before {
        content: '';
        position: absolute;
        inset: 0;
        background: url('images/home-appliances-household-kitchen-technics-empty-room-3d-illustration.webp') center/cover no-repeat;
        opacity: 0.06;
    }

    .hero-bg::after {
        content: '';
        position: absolute;
        bottom: -2px;
        left: 0;
        right: 0;
        height: 80px;
        background: #fff;
        clip-path: ellipse(55% 100% at 50% 100%);
    }

    .page-hero {
        background: linear-gradient(140deg, #060e18 0%, #0b1829 55%, #132338 100%);
        position: relative;
        overflow: hidden;
    }

    .page-hero::before {
        content: '';
        position: absolute;
        inset: 0;
        background: url('images/home-appliances-household-kitchen-technics-empty-room-3d-illustration.webp') center/cover no-repeat;
        opacity: 0.06;
    }

    .page-hero::after {
        content: '';
        position: absolute;
        bottom: -2px;
        left: 0;
        right: 0;
        height: 80px;
        background: #fff;
        clip-path: ellipse(55% 100% at 50% 100%);
    }

    .hero-glow {
        position: absolute;
        width: 600px;
        height: 600px;
        background: radial-gradient(circle, rgba(26, 95, 200, 0.18) 0%, transparent 70%);
        top: -100px;
        right: -100px;
        pointer-events: none;
    }

    .text-cta-pulse { animation: ctaPulse 2.4s ease-in-out infinite; }

    @keyframes ctaPulse {
        0%, 100% { box-shadow: 0 0 0 0 rgba(26, 95, 200, 0.45); }
        50% { box-shadow: 0 0 0 14px rgba(26, 95, 200, 0); }
    }

    .service-card { transition: transform 0.3s ease, box-shadow 0.3s ease; }
    .service-card:hover { transform: translateY(-6px); box-shadow: 0 20px 48px rgba(26, 95, 200, 0.12); }

    .area-card { transition: transform 0.3s ease, box-shadow 0.3s ease; }
    .area-card:hover { transform: translateY(-6px); box-shadow: 0 20px 48px rgba(26, 95, 200, 0.12); }

    .off-canvas { transform: translateX(-100%); transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1); }
    .off-canvas.open { transform: translateX(0); }

    .overlay { opacity: 0; pointer-events: none; transition: opacity 0.35s ease; }
    .overlay.open { opacity: 1; pointer-events: all; }

    .sticky-bar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 50; display: flex; }

    .fade-in-up { opacity: 0; transform: translateY(28px); transition: opacity 0.6s ease, transform 0.6s ease; }
    .fade-in-up.visible { opacity: 1; transform: translateY(0); }

    .section-line { width: 48px; height: 3px; background: var(--blue); border-radius: 2px; }

    .badge-stripe { background: repeating-linear-gradient(-45deg, #1a5fc8, #1a5fc8 6px, #1248a0 6px, #1248a0 12px); }

    .review-card { border-left: 4px solid var(--blue); background: #f6f8fc; }

    header.scrolled { background: rgba(6, 14, 24, 0.98) !important; box-shadow: 0 2px 24px rgba(0, 0, 0, 0.45); }

    .announce-bar { background: linear-gradient(90deg, #1248a0 0%, #1a5fc8 50%, #1248a0 100%); }

    details summary::-webkit-details-marker { display: none; }
    details summary { list-style: none; }

    input:focus, select:focus, textarea:focus {
        outline: none;
        border-color: #1a5fc8 !important;
        box-shadow: 0 0 0 3px rgba(26, 95, 200, 0.12);
    }

    .brand-pill {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        background: rgba(26, 95, 200, 0.08);
        border: 1px solid rgba(46, 120, 228, 0.2);
        border-radius: 999px;
        padding: 6px 14px;
        font-family: 'Outfit', sans-serif;
        font-size: 0.8rem;
        font-weight: 500;
        color: rgba(255, 255, 255, 0.7);
    }

    .process-step { position: relative; }
    .process-step:not(:last-child)::after {
        content: '';
        position: absolute;
        top: 28px;
        left: 28px;
        width: 2px;
        height: calc(100% + 20px);
        background: rgba(26, 95, 200, 0.2);
    }
