        * { box-sizing: border-box; }
        body {
            overflow-x: hidden;
            -webkit-font-smoothing: antialiased;
        }
        img, svg {
            max-width: 100%;
            display: block;
        }
        .nav-item .fa { color: #D92121; }

        .back-to-top {
            position: fixed;
            bottom: max(30px, env(safe-area-inset-bottom) + 20px);
            right: max(20px, env(safe-area-inset-bottom) + 10px);
            background-color: #D92121;
            color: white;
            width: 45px;
            height: 45px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
            z-index: 9999;
            -webkit-tap-highlight-color: transparent;
        }
        .back-to-top.show {
            opacity: 1;
            visibility: visible;
        }

        .mobile-call-bar {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background-color: #D92121;
            color: white;
            padding: 12px 0;
            text-align: center;
            z-index: 9988;
            display: none;
            padding-bottom: calc(12px + env(safe-area-inset-bottom));
            -webkit-tap-highlight-color: transparent;
        }

        @media (max-width: 768px) {
            .mobile-call-bar { display: block; }
            footer { margin-bottom: 60px; padding-bottom: 20px; }
            html { scroll-padding-top: 180px; }
            .section-title { font-size: 28px; }
            .section-subtitle { font-size: 15px; }
        }
        @media (max-width: 640px) {
            html { scroll-padding-top: 220px; }
        }
