/* ===== CSS RESET & BASE ===== */
        *, *::before, *::after { box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            margin: 0;
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            font-size: 1rem;
            font-weight: 400;
            line-height: 1.5;
            color: #212529;
            background-color: #fff;
            -webkit-text-size-adjust: 100%;
        }
        h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: 0.5rem; font-weight: 500; line-height: 1.2; }
        p { margin-top: 0; margin-bottom: 1rem; }
        a { color: #c52525; text-decoration: none; background-color: transparent; }
        a:hover { color: #a01e1e; text-decoration: underline; }
        .navbar-brand:hover { color: rgb(240,64,64) !important; text-decoration: none !important; }
        img { vertical-align: middle; border-style: none; }
        ul { margin-top: 0; margin-bottom: 1rem; padding-left: 0; list-style: none; }
        figure { margin: 0 0 1rem; }
        hr { margin: 1rem 0; border: 0; border-top: 1px solid rgba(0,0,0,0.1); }
        .text-center { text-align: center; }
        .text-left { text-align: left; }
        .text-justify { text-align: justify; }
        .text-uppercase { text-transform: uppercase; }
        .text-monospace { font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
        .text-white { color: #fff; }
        .d-flex { display: flex; }
        .d-inline { display: inline; }
        .d-block { display: block; }
        .justify-content-center { justify-content: center; }
        .align-items-center { align-items: center; }
        .align-items-xl-center { align-items: center; }
        .align-items-xl-end { align-items: flex-end; }
        .align-content-center { align-content: center; }
        .mx-auto { margin-left: auto; margin-right: auto; }
        .my-auto { margin-top: auto; margin-bottom: auto; }
        .my-3 { margin-top: 1rem; margin-bottom: 1rem; }
        .my-4 { margin-top: 1.5rem; margin-bottom: 1.5rem; }
        .mt-3 { margin-top: 1rem; }
        .mt-5 { margin-top: 3rem; }
        .mb-1 { margin-bottom: 0.25rem; }
        .mb-3 { margin-bottom: 1rem; }
        .mb-4 { margin-bottom: 1.5rem; }
        .mb-5 { margin-bottom: 3rem; }
        .py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
        .py-5 { padding-top: 3rem; padding-bottom: 3rem; }
        .p-2 { padding: 0.5rem; }
        .font-weight-medium { font-weight: 500; }
        .font-weight-normal { font-weight: 400; }
        .font-14 { font-size: 14px; }
        .rounded-circle { border-radius: 50%; }
        .img-fluid { max-width: 100%; height: auto; }
        .figure-img { margin-bottom: 0.5rem; line-height: 1; }
        .list-inline { padding-left: 0; list-style: none; }
        .list-inline-item { display: inline-block; }
        .list-inline-item:not(:last-child) { margin-right: 0.5rem; }
        .position-absolute { position: absolute; }
        .badge { display: inline-block; padding: 0.25em 0.4em; font-size: 75%; font-weight: 700; line-height: 1; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: 0.25rem; }
        .badge-inverse { color: #fff; background-color: #f04040; }
        .sr-contact { visibility: hidden; } /* will be shown by AOS replacement */

        /* ===== CONTAINER ===== */
        .container {
            width: 100%;
            padding-right: 15px;
            padding-left: 15px;
            margin-right: auto;
            margin-left: auto;
        }
        @media (min-width: 576px) { .container { max-width: 540px; } }
        @media (min-width: 768px) { .container { max-width: 720px; } }
        @media (min-width: 992px) { .container { max-width: 960px; } }
        @media (min-width: 1200px) { .container { max-width: 1140px; } }

        /* ===== ROW / COL GRID ===== */
        .row { display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; }
        .col, .col-auto, .col-sm-6, .col-md-5, .col-md-6, .col-md-8, .col-lg-3, .col-lg-4, .col-lg-8, .col-lg-10, .col-xl-7 {
            position: relative; width: 100%; padding-right: 15px; padding-left: 15px;
        }
        .col { flex-basis: 0; flex-grow: 1; max-width: 100%; }
        .col-auto { flex: 0 0 auto; width: auto; max-width: 100%; }
        @media (min-width: 576px) {
            .col-sm-6 { flex: 0 0 50%; max-width: 50%; }
        }
        @media (min-width: 768px) {
            .col-md-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
            .col-md-6 { flex: 0 0 50%; max-width: 50%; }
            .col-md-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
        }
        @media (min-width: 992px) {
            .col-lg-3 { flex: 0 0 25%; max-width: 25%; }
            .col-lg-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
            .col-lg-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
            .col-lg-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
            .offset-lg-8 { margin-left: 66.666667%; }
        }
        @media (min-width: 1200px) {
            .col-xl-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
            .offset-xl-8 { margin-left: 66.666667%; }
        }

        /* ===== BUTTONS ===== */
        .btn {
            display: inline-block;
            font-weight: 400;
            text-align: center;
            white-space: nowrap;
            vertical-align: middle;
            user-select: none;
            border: 1px solid transparent;
            padding: 0.375rem 0.75rem;
            font-size: 1rem;
            line-height: 1.5;
            border-radius: 0.25rem;
            transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
            cursor: pointer;
            text-decoration: none;
        }
        .btn:hover { text-decoration: none; }
        .btn-primary { color: #fff; background-color: #c52525; border-color: #c52525; transition: background-color 0.4s ease, border-color 0.4s ease, color 0.4s ease, transform 0.2s ease; }
        .btn-primary:hover, .btn-primary:focus { background-color: #ed411d; border-color: #eb3812; color: #fff; }
        .btn-primary:active { transform: scale(0.97); color:#fff; }
        .btn-light { color: #212529; background-color: #f8f9fa; border-color: #f8f9fa; transition: background-color 0.4s ease, border-color 0.4s ease, transform 0.2s ease; }
        .btn-light:hover, .btn-light:focus { background-color: #e2e6ea !important; border-color: #dae0e5 !important; color: #212529; }
        .btn-light:active { transform: scale(0.97); color: #212529; }
        .btn-success-gradiant {
            color: #fff;
            background: #f05f40;
            border: none;
            border-radius: 2rem;
            padding: 0.5rem 1.5rem;
            font-weight: 600;
            transition: transform 0.2s, box-shadow 0.2s;
        }
        .btn-success-gradiant:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(240,95,64,0.4); color: #fff; }
        .btn-xl {
            padding: 1rem 2rem;
            font-size: 1rem;
            border-radius: 2rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        .btn-block { display: block; width: 100%; }
        .btn-lg { padding: 0.5rem 1rem; font-size: 1.25rem; line-height: 1.5; border-radius: 0.3rem; }
        .box-shadow { box-shadow: 0 4px 12px rgba(0,0,0,0.3); }

        /* ===== BACK TO TOP BUTTON ===== */
        #top {
            position: fixed;
            bottom: 20px;
            right: 20px;
            z-index: 1040;
            display: flex;
            opacity: 0;
            visibility: hidden;
            width: 56px;
            height: 56px;
            border-radius: 50%;
            padding: 0;
            line-height: 56px;
            text-align: center;
            font-size: 1.2rem;
            align-items: center;
            justify-content: center;
            transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.3s ease;
        }
        #top.visible {
            opacity: 1;
            visibility: visible;
        }
        #top:hover {
            transform: translateY(-3px);
        }
        #top .icon {
            width: 24px;
            height: 24px;
        }

        /* ===== NAVBAR ===== */
        .navbar {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 1030;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            padding: 0.5rem 1rem;
            background-color: rgba(0,0,0,0.9);
        }
        .navbar .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
        .navbar-brand {
            display: inline-block;
            padding-top: 0.3125rem;
            padding-bottom: 0.3125rem;
            font-size: 1.25rem;
            line-height: inherit;
            white-space: nowrap;
            color: rgb(240,64,64);
            font-weight: 700;
            text-transform: uppercase;
            text-decoration: none;
            font-family: "Open Sans", "Helvetica Neue", Arial, sans-serif;
        }
        .navbar-brand:hover, .navbar-brand:focus { color: rgb(240,64,64) !important; text-decoration: none !important; }
        .navbar-toggler {
            padding: 0.25rem 0.75rem;
            font-size: 1.25rem;
            line-height: 1;
            background-color: transparent;
            border: 1px solid transparent;
            border-radius: 0.25rem;
            cursor: pointer;
            color: #fff;
        }
        .navbar-toggler i { font-size: 1.5rem; }
        .navbar-collapse { flex-basis: 100%; flex-grow: 1; align-items: center; }
        .navbar-nav { display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0; list-style: none; }
        .nav-link { display: block; padding: 0.5rem 1rem; color: rgb(205,213,221); text-decoration: none; text-transform: uppercase; font-weight: 700; font-size: 0.95rem; letter-spacing: 0.5px; font-family: "Open Sans", "Helvetica Neue", Arial, sans-serif; transition: color 0.4s ease; }
        .nav-link:hover, .nav-link:focus { color: #a8a8a8; text-decoration: none; }
        .nav-link.active { color: rgb(240,95,64) !important; text-decoration: none; }
        .nav-link.active:hover { color: rgb(240,95,64) !important; }
        .nav-item { list-style: none; }
        @media (min-width: 992px) {
            .navbar-expand-md { flex-flow: row nowrap; justify-content: flex-start; }
            .navbar-expand-md .navbar-toggler { display: none; }
            .navbar-expand-md .navbar-collapse { display: flex !important; flex-basis: auto; }
            .navbar-expand-md .navbar-nav { flex-direction: row; }
            .ml-auto { margin-left: auto; }
            .mr-auto { margin-right: auto; }
        }
        @media (max-width: 991.98px) {
            .navbar-collapse { display: none; }
            .navbar-collapse.show { display: block; }
        }

        /* ===== MASTHEAD / HEADER ===== */
        .masthead {
            position: relative;
            width: 100%;
            min-height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            text-align: center;
            color: #fff;
            background: linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.55)), url('../assets/img/mixing_console.webp') center center / cover no-repeat;
            background-attachment: fixed;
        }
        @media (max-width: 768px) {
            .masthead { background-attachment: scroll; }
        }
        .masthead h1 { font-size: 2.5rem; }
        @media (min-width: 768px) { .masthead h1 { font-size: 3.5rem; } }

        /* ===== SECTIONS ===== */
        section { padding: 80px 0; }
        .bg-primary { background-color: #570b0b !important; }
        .bg-light { background-color: #f9f9f9; }

        /* ===== FEATURES BOXED ===== */
        .features-boxed { padding: 60px 0; }
        .features-boxed .intro { text-align: center; padding-bottom: 40px; }
        .features-boxed .intro h2 { font-size: 2rem; font-weight: 700; color: #313437; }
        .features-boxed .intro p { color: #636769; }
        .features-boxed .features { display: flex; flex-wrap: wrap; justify-content: center; }
        .features-boxed .item { text-align: center; padding: 20px; }
        .features-boxed .box { padding: 30px 20px; }
        .features-boxed .box img { display: block; margin: 0 auto 20px; }
        .features-boxed .name { font-size: 1.2rem; font-weight: 700; margin-bottom: 0.5rem; }
        .features-boxed .description { font-size: 0.9rem; color: #636769; line-height: 1.6; }

        /* ===== PRICING CARDS ===== */
        .pricing1 { padding: 60px 0; }
        .pricing1 h2 { font-size: 2rem; font-weight: 700; color: #313437; }
        .pricing1 .card {
            position: relative;
            display: flex;
            flex-direction: column;
            min-width: 0;
            word-wrap: break-word;
            background-color: #fff;
            background-clip: border-box;
            border: 0;
            border-radius: 1rem;
            box-shadow: 0 0 20px rgba(0,0,0,0.05);
            transition: transform 0.3s, box-shadow 0.3s;
            height: 100%;
        }
        .pricing1 .card:hover { transform: translateY(-8px); box-shadow: 0 15px 40px rgba(0,0,0,0.12); }
        .pricing1 .card-body { flex: 1 1 auto; padding: 2rem 1.5rem; }
        .pricing1 .card h3 { font-size: 18px; font-weight: 600; }
        .pricing1 .subtitle { font-size: 0.85rem; color: #636769; font-weight: 400; }
        .pricing1 .pricing { font-size: 2.5rem; font-weight: 700; color: #313437; }
        .pricing1 .pricing sup { font-size: 1.2rem; top: -0.8em; }
        .pricing1 .pricing .monthly { font-size: 2.5rem; }
        .pricing1 ul { margin: 1.5rem 0; }
        .pricing1 ul li { padding: 0.4rem 0; font-size: 0.9rem; color: #555; }
        .pricing1 .bottom-btn { margin-top: 1.5rem; }
        .price-badge { top: 10px; right: 10px; background: #c52525; color: #fff; padding: 0.4rem 0.8rem; border-radius: 2rem; font-size: 0.75rem; }

        /* ===== CONTACT ===== */
        .section-heading { font-size: 2rem; font-weight: 700; margin-bottom: 0.5rem; }

        /* ===== FOOTER ===== */
        .footer-basic { padding: 40px 0; background-color: #f9f9f9; text-align: center; }
        .footer-basic .social { padding-bottom: 20px; }
        .footer-basic .social a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            margin: 0 8px;
            color: #636769;
            border: 1px solid #636769;
            border-radius: 50%;
            transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
        }
        .footer-basic .social a:hover {
            color: #fff;
            background-color: #c52525;
            border-color: #c52525;
            transform: translateY(-2px);
        }
        .footer-basic ul { padding: 0; list-style: none; text-align: center; font-size: 14px; margin-bottom: 0; }
        .footer-basic ul li { padding: 0 10px; }
        .footer-basic ul a { color: #636769; text-decoration: none; }
        .footer-basic ul a:hover { color: #c52525; }
        .footer-basic .copyright { margin-top: 15px; font-size: 13px; color: #aaa; }

        /* ===== PLAYER STYLES ===== */
        :focus { outline: 0 !important; }
        .player {
            display: flex;
            align-items: center;
            flex-direction: column;
            justify-content: center;
            background-color: #FFFFFF;
            border-radius: 1rem;
            box-shadow: 0 0 15px rgba(0,0,0,0.05);
            padding: 20px;
            max-width: 300px;
            margin: 80px auto;
        }
        .details {
            color: #c52525;
            display: flex;
            align-items: center;
            flex-direction: column;
            justify-content: center;
            margin-top: 25px;
        }
        .track-art {
            margin: 25px;
            height: 200px;
            width: 200px;
            background-size: cover;
            background-position: center;
            border-radius: 1rem;
            background-color: #eee;
        }
        .now-playing { font-size: 1rem; color: #e8112d; font-weight: 500; }
        .track-name { font-size: 2rem; max-width: 200px; white-space: nowrap; }
        .marquee { height: 3rem; width: 14rem; overflow: hidden; position: relative; }
        .marquee div {
            display: block;
            width: auto;
            height: 100%;
            position: absolute;
            animation: marquee 5s linear infinite alternate;
        }
        .marquee span { float: left; width: 50%; }
        @keyframes marquee {
            0% { transform: translateX(50%); }
            100% { transform: translateX(-50%); }
        }
        .track-name:hover { animation-play-state: paused; }
        .track-artist { font-size: 1rem; color: #c52525; font-weight: 500; }
        .buttons { display: flex; flex-direction: row; align-items: center; color: #c52525; }
        .playpause-track, .prev-track, .next-track {
            padding-left: 30px; padding-right: 30px; padding-top: 15px; padding-bottom: 10px;
            opacity: 0.8; transition: opacity .2s; cursor: pointer;
        }
        .playpause-track:hover, .prev-track:hover, .next-track:hover { opacity: 1.0; }
        .slider_container {
            width: 100%; max-width: 300px; display: flex; justify-content: center; align-items: center;
            padding-left: 5%; padding-right: 5%; color: #e8112d;
            margin: 0 auto;
        }
        .seek_slider, .volume_slider {
            -webkit-appearance: none; appearance: none; height: 5px;
            background: rgba(0,0,0,0.96); opacity: 0.8; transition: opacity .2s; border-radius: 40px;
        }
        .seek_slider::-webkit-slider-thumb, .volume_slider::-webkit-slider-thumb {
            -webkit-appearance: none; appearance: none; width: 15px; height: 15px;
            background: rgb(240,64,64); cursor: pointer; border-radius: 50%;
        }
        .seek_slider::-moz-range-thumb, .volume_slider::-moz-range-thumb {
            width: 15px; height: 15px; background: rgb(240,64,64); cursor: pointer; border-radius: 50%; border: none;
        }
        .seek_slider:hover, .volume_slider:hover { opacity: 1.0; }
        .seek_slider { width: 60%; }
        .volume_slider { width: 50%; }
        .current-time, .total-duration { padding: 10px; }
        i.fa-volume-down, i.fa-volume-up { padding: 10px; }
        i.fa-play-circle, i.fa-pause-circle, i.fa-step-forward, i.fa-step-backward { cursor: pointer; }

        /* ===== ANIMATIONS (AOS replacement) ===== */
        [data-animate] { opacity: 0; transition: opacity 0.8s ease, transform 0.8s ease; }
        [data-animate="zoom-in"] { transform: scale(0.6); }
        [data-animate="zoom-out"] { transform: scale(1.3); }
        [data-animate="fade"] { opacity: 0; }
        [data-animate="fade-right"] { transform: translateX(-40px); }
        [data-animate].aos-animate { opacity: 1; transform: translateX(0) translateY(0) scale(1); }

        /* ===== PULSE ANIMATION ===== */
        .pulse { animation: pulse 2s infinite; }
        @keyframes pulse {
            0% { transform: scale(1); }
            50% { transform: scale(1.1); }
            100% { transform: scale(1); }
        }

        /* ===== LOCALLY EMBEDDED BRAND ICONS ===== */
        .payment-icons {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;
            gap: 0.65rem;
            max-width: 620px;
            margin: 0 auto 73px;
            padding: 0.75rem 1rem;
            color: #72767a;
        }
        .payment-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 66px;
            height: 42px;
            padding: 7px 9px;
            color: rgba(99,103,105,0.72);
            border: 1px solid transparent;
            border-radius: 0.5rem;
            transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
        }
        .payment-icon:hover {
            color: #c52525;
            background-color: #fff;
            border-color: rgba(197,37,37,0.2);
            transform: translateY(-2px);
        }
        .payment-logo { display: block; width: 100%; height: 26px; fill: currentColor; }

        .contact-icon {
            display: block;
            width: 48px;
            height: 48px;
            margin: 0 auto 0.9rem;
            fill: currentColor;
            color: #212529;
            transition: transform 0.2s ease;
        }
        .contact-icon:hover { transform: translateY(-2px); }
        .contact-icon-email { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
        #contact .contact-item { display: flex; flex-direction: column; align-items: center; }
        #contact .contact-detail { margin: 0; line-height: 1.5; }
        #contact .contact-detail a { color: #e8112d; }

        .social-icon { display: block; width: 19px; height: 19px; fill: currentColor; }
        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }

        /* ===== RESPONSIVE HELPERS ===== */
        @media (min-width: 1200px) {
            .d-xl-flex { display: flex; }
            .justify-content-xl-center { justify-content: center; }
            .align-items-xl-center { align-items: center; }
            .align-items-xl-end { align-items: flex-end; }
            .offset-xl-0 { margin-left: 0; }
        }
        @media (max-width: 767.98px) {
            .masthead h1 { font-size: 1.8rem; }
            .masthead .btn-xl { padding: 0.7rem 1.5rem; font-size: 0.85rem; }
            .pricing1 .card { margin-bottom: 20px; }
            .payment-icons { gap: 0.35rem; padding-right: 0; padding-left: 0; }
            .payment-icon { width: 58px; height: 38px; padding: 7px; }
            .payment-logo { height: 22px; }
            .footer-basic .social a { margin: 0 5px; }
        }

        /* ===== FONT AWESOME REPLACEMENT (inline SVG icons) ===== */
        .icon { display: inline-block; width: 1em; height: 1em; vertical-align: -0.125em; fill: currentColor; }
        .icon-2x { font-size: 2em; }
        .icon-3x { font-size: 3em; }
        .icon-5x { font-size: 5em; }
    

        /* ===== ORIGINAL STYLE ALIGNMENT ===== */
        /* Open Sans is hosted locally to keep the page independent of external font services. */
        @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 300; font-display: swap; src: url('../assets/fonts/open-sans/open-sans-300.woff2') format('woff2'); }
        @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('../assets/fonts/open-sans/open-sans-400.woff2') format('woff2'); }
        @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('../assets/fonts/open-sans/open-sans-500.woff2') format('woff2'); }
        @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('../assets/fonts/open-sans/open-sans-600.woff2') format('woff2'); }
        @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('../assets/fonts/open-sans/open-sans-700.woff2') format('woff2'); }

        body {
            font-family: 'Open Sans', sans-serif;
            font-size: 16px;
            font-weight: 400;
            line-height: 1.5;
            color: #212529;
            background-color: #f9f9f9;
        }
        h1, h2, h3, h4, h5, h6 { font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif; }

        /* Navigation */
        .navbar { background-color: rgba(0,0,0,0.96); }
        .navbar-brand { margin-right: 1rem; }
        .nav-link { font-size: 0.9rem; line-height: 1.35; letter-spacing: normal; }

        /* First screen and shared CTAs */
        .masthead {
            background: url('../assets/img/mixing_console.webp') center center / cover no-repeat;
            background-attachment: fixed;
        }
        @media (max-width: 768px) {
            .masthead { background-attachment: scroll; }
        }
        .masthead h1 { font-size: 4rem; }
        .masthead p { font-size: 1.15rem; font-weight: 300; line-height: 1.5; }
        .btn { font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif; }
        .btn-xl { font-weight: 700; letter-spacing: normal; border-radius: 300px; }
        .btn-primary { background-color: #c52525; border-color: #c52525; }
        .btn-primary:hover, .btn-primary:focus { background-color: #ee4b28 !important; border-color: #ee4b28 !important; }
        .btn-light { font-weight: 700; letter-spacing: normal; border-radius: 300px; }

        /* Section rhythm and service cards */
        section { padding: 8rem 0; }
        #services { padding: 0; }
        #about, #examples, #contact { padding-top: 8rem; padding-bottom: 8rem; }
        #about p { color: rgba(255,255,255,0.7); }
        .features-boxed { padding: 0 15px; color: #313437; }
        .features-boxed .intro { max-width: 500px; margin: 0 auto; }
        .features-boxed .intro h2 {
            min-height: 78px;
            padding-top: 40px;
            margin-bottom: 40px;
            font-size: 2rem;
            font-weight: 700;
            line-height: 1.2;
            color: #313437;
        }
        .features-boxed .intro p { margin-bottom: 0; color: #636769; }
        .features-boxed .features { padding: 50px 0; }
        .features-boxed .item { padding: 0 15px; text-align: center; }
        .features-boxed .box { padding: 30px; margin-bottom: 30px; }
        .features-boxed .name { font-size: 18px; font-weight: 700; line-height: 1.2; color: #313437; }
        .features-boxed .description { margin: 15px 0 20px; font-size: 15px; line-height: 1.5; color: #636769; }

        /* Examples and feedback */
        #examples h2, #feedback h2 {
            min-height: 78px;
            font-size: 2rem;
            font-weight: 500;
            line-height: 1.2;
        }
        #examples .intro p, #feedback .intro p { color: #636769; }
        .player {
            width: 251px;
            max-width: 100%;
            min-height: 480px;
            margin: 0;
            padding: 0;
        }
        .slider_container { max-width: 400px; }
        #feedback { padding-top: 20px; padding-bottom: 0; }

        /* Pricing: reproduces the original spacing and type hierarchy. */
        .pricing1 {
            padding: 3rem 0;
            background-color: #f8f9fa;
            color: #636769;
            font-family: 'Open Sans', sans-serif;
            font-weight: 300;
        }
        .pricing1 h1, .pricing1 h2, .pricing1 h3, .pricing1 h4, .pricing1 h5, .pricing1 h6 { color: #3e4555; }
        .pricing1 h2 {
            min-height: 78px;
            font-size: 2rem;
            font-weight: 500;
            line-height: 1.2;
            color: #313437;
        }
        .pricing1 .card {
            height: 650px;
            box-shadow: 0 0 30px rgba(115,128,157,0.1);
            transition: transform 0.1s ease;
        }
        .pricing1 .card:hover { transform: scale(1.05); }
        .pricing1 .card-body {
            display: flex;
            flex-direction: column;
            height: 100%;
            padding: 20px;
            color: #636769;
            font-weight: 300;
        }
        .pricing1 .font-weight-medium { font-weight: 600; }
        .pricing1 .card h3 { color: #3e4555; font-weight: 600; }
        .pricing1 .subtitle { font-size: 14px; line-height: 24px; color: #636769; }
        .pricing1 .pricing { font-size: 14px; font-weight: 300; line-height: 21px; color: #636769; }
        .pricing1 .monthly { font-size: 3rem; font-weight: 300; color: #263238; }
        .pricing1 ul { margin: 1rem 0; }
        .pricing1 ul li { padding: 0.5rem 0; font-size: 14px; font-weight: 300; line-height: 21px; color: #636769; }
        .pricing1 .bottom-btn { margin-top: auto; }
        .pricing1 .btn-success-gradiant {
            padding: 15px 30px;
            font-weight: 700;
            line-height: 24px;
            text-transform: uppercase;
            border-radius: 300px;
        }
        .pricing1 .price-badge {
            top: -13px;
            right: 0;
            left: 0;
            width: 100px;
            margin: 0 auto;
            padding: .5rem;
            border-radius: 7em;
            font-family: 'Open Sans', sans-serif;
            font-size: 12px;
            font-weight: 400;
            line-height: 1;
        }

        /* Contact and footer typography */
        .section-heading { font-size: 2rem; font-weight: 500; line-height: 1.2; }
        .footer-basic { color: #4b4c4d; }
        .footer-basic .social { padding-bottom: 25px; }
        .footer-basic ul { font-size: 18px; line-height: 1.6; }
        .footer-basic ul a { color: inherit; opacity: 0.8; }
        .footer-basic ul a:hover { color: inherit; opacity: 1; }
        .footer-basic .copyright { margin-bottom: 0; }

        @media (max-width: 767.98px) {
            section, #about, #examples, #contact { padding-top: 4rem; padding-bottom: 4rem; }
            #services { padding: 0; }
            .masthead h1 { font-size: 2.5rem; }
            .masthead p { font-size: 1rem; }
            .features-boxed .intro h2 { min-height: 0; padding-top: 25px; margin-bottom: 25px; font-size: 24px; }
            .features-boxed .features { padding: 25px 0; }
            #examples h2, #feedback h2, .pricing1 h2 { min-height: 0; font-size: 24px; }
            .player { margin: 0; }
        }

    

        /* ===== PLAYER REFINEMENT: LOCAL SVG CONTROLS ===== */
        .player {
            width: 280px;
            max-width: calc(100% - 2rem);
            min-height: 0;
            margin: 0;
            padding: 0;
            overflow: hidden;
        }
        .player .details { margin-top: 25px; }
        .player .buttons {
            width: 100%;
            min-height: 72px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            color: #c52525;
        }
        .player .player-control {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            width: 40px;
            height: 40px;
            margin: 0;
            padding: 0;
            border: 0;
            border-radius: 50%;
            background: transparent;
            color: inherit;
            cursor: pointer;
            opacity: 0.86;
            transition: color .2s ease, opacity .2s ease, transform .2s ease, background-color .2s ease;
        }
        .player .player-control:hover,
        .player .player-control:focus-visible {
            color: #e8112d;
            opacity: 1;
            background-color: rgba(197,37,37,.08);
            transform: translateY(-1px);
            outline: none;
        }
        .player .playpause-track {
            width: 64px;
            height: 64px;
            opacity: 1;
        }
        .player .playpause-track:hover,
        .player .playpause-track:focus-visible { background-color: transparent; }
        .player .player-control svg {
            display: block;
            width: 28px;
            height: 28px;
            fill: currentColor;
        }
        .player .playpause-track svg {
            width: 64px;
            height: 64px;
        }
        .player .slider_container {
            width: 100%;
            max-width: none;
            min-height: 44px;
            padding-right: 14px;
            padding-left: 14px;
        }
        .player .seek_slider {
            flex: 1 1 auto;
            width: auto;
            min-width: 0;
            margin: 0 2px;
        }
        .player .volume_slider {
            width: 126px;
            max-width: calc(100% - 68px);
            margin: 0 2px;
        }
        .player .volume-icon {
            display: block;
            flex: 0 0 auto;
            width: 20px;
            height: 20px;
            margin: 0 2px;
            fill: currentColor;
        }
        @media (max-width: 360px) {
            .player { max-width: calc(100% - 1rem); }
            .player .buttons { gap: 7px; }
            .player .player-control { width: 36px; height: 36px; }
            .player .playpause-track { width: 58px; height: 58px; }
            .player .playpause-track svg { width: 58px; height: 58px; }
            .player .volume_slider { width: 112px; }
        }

    

        /* ===== CONDITIONAL TRACK-TITLE MARQUEE ===== */
        .player .marquee { position: relative; }
        .player .marquee .track-name {
            left: 50%;
            width: max-content;
            max-width: none;
            transform: translateX(-50%);
            animation: none;
            will-change: transform;
        }
        .player .marquee .track-name.is-overflowing {
            left: 0;
            transform: translateX(0);
            animation: conditional-track-title-scroll var(--track-scroll-duration, 8s) linear infinite;
            animation-delay: 0.8s;
        }
        .player .marquee .track-name.is-overflowing:hover { animation-play-state: paused; }
        @keyframes conditional-track-title-scroll {
            0%, 18% { transform: translateX(0); }
            70%, 82% { transform: translateX(calc(-1 * var(--track-scroll-distance, 0px))); }
            100% { transform: translateX(0); }
        }
        @media (prefers-reduced-motion: reduce) {
            .player .marquee .track-name.is-overflowing { animation: none; }
        }

    

        /* ===== SMOOTH PROGRESS AND VOLUME STEPS ===== */
        .player .volume-step {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            width: 28px;
            height: 28px;
            margin: 0;
            padding: 0;
            border: 0;
            border-radius: 50%;
            background: transparent;
            color: inherit;
            cursor: pointer;
            opacity: .86;
            transition: color .2s ease, background-color .2s ease, opacity .2s ease, transform .2s ease;
        }
        .player .volume-step:hover,
        .player .volume-step:focus-visible {
            color: #e8112d;
            background-color: rgba(197,37,37,.08);
            opacity: 1;
            transform: translateY(-1px);
            outline: none;
        }
        .player .volume-step svg {
            display: block;
            width: 20px;
            height: 20px;
            fill: currentColor;
        }

    

        /* ===== CUSTOM SMOOTH SEEK INDICATOR ===== */
        .player .seek-control {
            --seek-progress-scale: 0;
            --seek-progress-x: 0px;
            position: relative;
            flex: 1 1 auto;
            min-width: 0;
            height: 24px;
            margin: 0 2px;
            cursor: pointer;
        }
        .player .seek-control .seek_slider {
            position: absolute;
            z-index: 2;
            inset: 0;
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
            opacity: 0;
            cursor: pointer;
            -webkit-appearance: none;
            appearance: none;
        }
        .player .seek-visual {
            position: absolute;
            inset: 0;
            pointer-events: none;
        }
        .player .seek-visual-track,
        .player .seek-visual-fill {
            position: absolute;
            top: 50%;
            left: 0;
            width: 100%;
            height: 5px;
            border-radius: 999px;
            transform: translateY(-50%);
        }
        .player .seek-visual-track { background: rgba(0,0,0,.82); }
        .player .seek-visual-fill {
            z-index: 1;
            width: calc(100% + 1px);
            background: rgb(240,64,64);
            transform: translate3d(0, -50%, 0) scaleX(var(--seek-progress-scale));
            transform-origin: left center;
            will-change: transform;
            backface-visibility: hidden;
        }
        .player .seek-visual-handle {
            position: absolute;
            z-index: 2;
            top: 50%;
            left: 0;
            width: 15px;
            height: 15px;
            border: 0;
            border-radius: 50%;
            background: rgb(240,64,64);
            transform: translate3d(var(--seek-progress-x), -50%, 0) translateX(-50%);
            will-change: transform;
            backface-visibility: hidden;
        }
        .player .seek-control:hover .seek-visual-track { background: rgba(0,0,0,.96); }
        .player .seek_slider:focus-visible + .seek-visual .seek-visual-handle {
            box-shadow: 0 0 0 3px rgba(232,17,45,.25), 0 1px 2px rgba(0,0,0,.18);
        }

    

        /* ===== UNIFIED HIGH-DPI SEEK CANVAS ===== */
        .player .seek-visual { display: none; }
        .player .seek-canvas {
            position: absolute;
            z-index: 1;
            top: 0;
            left: -7.5px;
            width: calc(100% + 15px);
            height: 24px;
            pointer-events: none;
        }
        .player .seek_slider:focus-visible + .seek-canvas {
            filter: drop-shadow(0 0 2px rgba(232,17,45,.45));
        }

    

        /* ===== VIEWPORT-CENTERED SECTION COMPOSITION ===== */
        #examples,
        #feedback,
        #contact {
            display: flex;
            flex-direction: column;
            justify-content: center;
            min-height: 100vh;
        }

        #examples .intro,
        #feedback .intro,
        #contact .intro {
            flex: 0 0 auto;
        }

        #examples > .col,
        #feedback > .row,
        #contact > .container {
            flex: 0 0 auto;
            width: 100%;
        }

        #feedback > .row {
            margin-top: 0 !important;
            margin-bottom: 0 !important;
        }

        @media (max-width: 767.98px) {
            #examples,
            #feedback,
            #contact {
                min-height: auto;
            }
        }

    

        /* ===== LOCAL CLIENT REVIEWS ===== */
        #feedback .local-reviews-row { width: 100%; margin: 0 !important; }
        .local-reviews { width: min(100% - 2rem, 760px); margin: 1.25rem auto 0; }
        .review-carousel { position: relative; display: flex; align-items: center; }
        .review-viewport {
            position: relative;
            width: 100%;
            min-height: 282px;
            overflow: visible;
            transition: height .2s ease;
        }
        .review-card {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 282px;
            margin: 0;
            padding: 2rem 4.75rem 2rem;
            color: #4b4c4d;
            background: #fff;
            border: 1px solid rgba(197,37,37,.12);
            border-radius: 1rem;
            box-shadow: none;
            text-align: center;
            pointer-events: none;
        }
        .review-card.is-active {
            box-shadow: 0 0 30px rgba(115,128,157,.1);
            pointer-events: auto;
        }
        .review-card[hidden] { display: none; }
        .review-card.is-measuring {
            position: relative;
            display: flex;
            visibility: hidden;
            pointer-events: none;
        }
        .review-card-content {
            width: 100%;
            height: 100%;
            display: grid;
            grid-template-rows: auto minmax(0, 1fr) auto;
            row-gap: .5rem;
            align-items: start;
            opacity: 0;
            transition: opacity .48s ease;
            will-change: opacity;
        }
        .review-card.is-active .review-card-content { opacity: 1; }
        .review-stars { align-self: start; margin: 0; color: #f0b400; font-size: 1.12rem; letter-spacing: .16em; }
        .review-card blockquote { align-self: center; max-width: 600px; margin: 0 auto; font-size: 15px; line-height: 1.65; font-style: italic; }
        .review-card footer {
            display: flex;
            flex-wrap: wrap;
            align-self: end;
            align-items: center;
            justify-content: center;
            gap: .2rem .6rem;
            margin: 0 auto;
            color: #636769;
            font-size: 13px;
            line-height: 1.2;
        }
        .review-card footer > * { display: inline-flex; align-items: center; min-height: 17px; }
        .review-card footer strong { color: #313437; font-size: 14px; }
        .review-card footer > :not(:first-child)::before {
            content: '•';
            display: inline-block;
            margin-right: .6rem;
            color: #c52525;
            text-decoration: none;
        }
        .review-source { gap: .28rem; }
        .review-source > *::before { content: none !important; }
        .review-source-conjunction { color: #636769; }
        .review-card footer a { color: #c52525; font-weight: 600; text-decoration: none; }
        .review-card footer a:hover { text-decoration: underline; }
        .review-arrow {
            position: absolute;
            z-index: 1;
            top: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            padding: 0;
            border: 0;
            border-radius: 50%;
            background: #fff;
            color: #c52525;
            box-shadow: 0 3px 12px rgba(0,0,0,.12);
            cursor: pointer;
            transform: translateY(-50%);
            transition: color .2s ease, background-color .2s ease, transform .2s ease;
        }
        .review-arrow:hover, .review-arrow:focus-visible { color: #fff; background: #c52525; transform: translateY(-50%) scale(1.06); outline: none; }
        .review-arrow svg { width: 22px; height: 22px; fill: currentColor; }
        .review-arrow-prev { left: -20px; }
        .review-arrow-next { right: -20px; }
        .review-pagination {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            margin-top: 1rem;
        }
        .review-dots { display: flex; flex-wrap: wrap; justify-content: center; gap: .42rem; }
        .review-dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: #d4d6d8; cursor: pointer; transition: background-color .2s ease, transform .2s ease; }
        .review-dot:hover, .review-dot:focus-visible, .review-dot.active { background: #c52525; transform: scale(1.2); outline: none; }
        @media (max-width: 575.98px) {
            .local-reviews { width: min(100% - 1rem, 760px); }
            .review-viewport { min-height: 0; }
            .review-card { min-height: 0; padding: 1.5rem 1.75rem; }
            .review-card blockquote { font-size: 14px; }
            .review-arrow { top: auto; bottom: -58px; transform: none; }
            .review-arrow:hover, .review-arrow:focus-visible { transform: scale(1.06); }
            .review-arrow-prev { left: calc(50% - 52px); }
            .review-arrow-next { right: calc(50% - 52px); }
            .review-pagination { margin-top: 4.25rem; }
        }

    
        /* ===== INTERACTION AND MOBILE REFINEMENT ===== */
        .masthead {
            isolation: isolate;
            overflow: hidden;
            background: transparent !important;
            background-attachment: scroll !important;
        }
        .masthead-parallax-layer {
            position: absolute;
            z-index: 0;
            top: -25%;
            right: 0;
            left: 0;
            width: 100%;
            height: 150%;
            background: url('../assets/img/mixing_console.webp') center center / cover no-repeat;
            will-change: transform;
            pointer-events: none;
        }
        .masthead > :not(.masthead-parallax-layer) { position: relative; z-index: 1; }

        .payment-icons {
            gap: .25rem;
            max-width: none;
            margin-bottom: 73px;
            padding: 0;
            color: rgba(114,118,122,.58);
        }
        .payment-icon {
            width: 45px;
            height: 45px;
            padding: 5px;
            color: inherit;
            border: 0;
            border-radius: 0;
            background: transparent;
            transition: none;
        }
        .payment-icon:hover {
            color: inherit;
            border-color: transparent;
            background: transparent;
            transform: none;
        }
        .payment-logo.payment-glyph {
            width: 36px;
            height: 36px;
            overflow: visible;
            fill: none;
            stroke: currentColor;
            stroke-width: 1.45;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .volume-control {
            position: relative;
            flex: 0 1 126px;
            width: 126px;
            max-width: calc(100% - 68px);
            height: 24px;
            margin: 0 2px;
            cursor: pointer;
        }
        .player .volume-control .volume_slider {
            position: absolute;
            z-index: 2;
            inset: 0;
            width: 100%;
            height: 100%;
            max-width: none;
            margin: 0;
            opacity: 0;
            cursor: pointer;
        }
        .volume-canvas {
            position: absolute;
            z-index: 1;
            top: 0;
            left: -7.5px;
            width: calc(100% + 15px);
            height: 24px;
            pointer-events: none;
        }

        @media (max-width: 991.98px) {
            .navbar { padding: .5rem 0; }
            .navbar .container { padding-right: .75rem; padding-left: .75rem; }
            .navbar-toggler {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 40px;
                height: 40px;
                margin-right: -.25rem;
                padding: 0;
                border: 0;
                border-radius: 0;
                color: #fff;
            }
            .navbar-toggler .icon {
                width: 24px;
                height: 24px;
                stroke: currentColor;
                fill: none;
                transform: rotate(0deg);
                transition: transform .26s ease;
            }
            .navbar-toggler[aria-expanded="true"] .icon { transform: rotate(90deg); }
            .navbar-collapse {
                display: block;
                max-height: 0;
                overflow: hidden;
                opacity: 0;
                visibility: hidden;
                transform: translateY(-8px);
                transition: max-height .28s ease, opacity .22s ease, transform .28s ease, visibility 0s linear .28s;
            }
            .navbar-collapse.show {
                display: block;
                max-height: 310px;
                opacity: 1;
                visibility: visible;
                transform: translateY(0);
                transition: max-height .32s ease, opacity .24s ease, transform .32s ease;
            }
            .navbar-nav { padding: .35rem 0 .55rem; }
            .nav-link {
                padding: .38rem .75rem;
                font-size: .82rem;
                line-height: 1.35;
                text-align: right;
            }
        }

        @media (max-width: 767.98px) {
            .masthead-parallax-layer { top: 0; height: 100%; }
            .review-card { padding-bottom: 2.5rem; }
            .review-card-content { row-gap: .75rem; }
            #contact {
                min-height: 100svh;
                padding-top: 4.5rem;
                padding-bottom: 4.5rem;
            }
            #contact > .container {
                display: flex;
                flex-direction: column;
                min-height: calc(100svh - 9rem);
            }
            #contact > .container > .row:first-child { margin-bottom: auto; }
            #contact > .container > .row:nth-child(2) { margin-top: 2rem; }
            #contact > .container > .row:nth-child(3) { margin-top: 2.5rem; }
            #contact .contact-item { padding-top: .8rem; padding-bottom: .8rem; }
            #contact .contact-item + .contact-item { margin-top: 1.5rem; }
            .payment-icons { gap: .1rem; }
            .payment-icon { width: 38px; height: 38px; padding: 4px; }
            .payment-logo.payment-glyph { width: 30px; height: 30px; }
        }

    
        /* ===== FIDELITY CORRECTIONS ===== */
        .masthead-parallax-layer {
            top: 0;
            height: 200%;
            background-size: cover;
        }
        .payment-logo.payment-glyph {
            width: 37px;
            height: 31px;
            fill: currentColor;
            stroke: none;
        }
        .review-card { padding-bottom: 2.5rem; }
        .review-card-content { row-gap: 1rem; }
        .masthead .btn-xl,
        #examples .btn-xl,
        #feedback .btn-xl,
        #prices .btn-xl {
            box-sizing: border-box;
            width: 195px;
            min-width: 195px;
            text-align: center;
        }

        @media (max-width: 768px) {
            .masthead-parallax-layer {
                top: 0;
                height: 100%;
                background-size: cover;
            }
            .masthead .btn-xl,
            #examples .btn-xl,
            #feedback .btn-xl,
            #prices .btn-xl {
                width: 195px;
                min-width: 195px;
                padding: 1rem 2rem;
                font-size: 1rem;
            }
            #contact { justify-content: center; }
            #contact > .container {
                min-height: 0;
                justify-content: initial;
            }
            #contact > .container > .row:first-child { margin-bottom: 2.25rem; }
            #contact > .container > .row:nth-child(2) { margin-top: 0; }
            #contact > .container > .row:nth-child(3) { margin-top: 1.5rem; }
            #contact .contact-item { padding-top: .65rem; padding-bottom: .65rem; }
            #contact .contact-item + .contact-item { margin-top: 1rem; }
            .navbar-toggler .icon { display: none; }
            .navbar-toggler::before,
            .navbar-toggler::after,
            .navbar-toggler {
                background-repeat: no-repeat;
            }
            .navbar-toggler {
                position: relative;
                background-image: linear-gradient(currentColor, currentColor);
                background-position: center;
                background-size: 24px 2px;
                transition: background-size .2s ease;
            }
            .navbar-toggler::before,
            .navbar-toggler::after {
                position: absolute;
                left: 8px;
                width: 24px;
                height: 2px;
                content: '';
                background-color: currentColor;
                transition: transform .24s ease, top .24s ease, bottom .24s ease;
            }
            .navbar-toggler::before { top: 11px; }
            .navbar-toggler::after { bottom: 11px; }
            .navbar-toggler[aria-expanded="true"] { background-size: 0 2px; }
            .navbar-toggler[aria-expanded="true"]::before { top: 19px; transform: rotate(45deg); }
            .navbar-toggler[aria-expanded="true"]::after { bottom: 19px; transform: rotate(-45deg); }
            .nav-link { padding-left: .75rem; text-align: left; }
        }

    
        /* ===== POINTER HIT AREAS AND FONT-GLYPH ORIENTATION ===== */
        .seek-control,
        .volume-control { overflow: visible; }
        .player .seek-control .seek_slider,
        .player .volume-control .volume_slider {
            left: -7.5px;
            width: calc(100% + 15px);
            max-width: none;
        }

    
        /* ===== RESPONSIVE PAYMENT ROW AND INTERRUPTIBLE CONTROLS ===== */
        .payment-icons {
            display: flex;
            flex-wrap: nowrap;
            align-items: center;
            justify-content: center;
            gap: .35rem;
        }
        .payment-icon {
            flex: 0 0 52px;
            width: 52px;
            height: 52px;
            padding: 3px;
        }
        .payment-logo.payment-glyph {
            width: 46px;
            height: 40px;
        }
        @media (max-width: 767.98px) {
            .payment-icons {
                width: 100%;
                max-width: 100%;
                gap: 0;
                padding: 0;
                overflow: hidden;
            }
            .payment-icon {
                flex: 0 1 14.2857%;
                width: 14.2857%;
                height: 46px;
                min-width: 0;
                padding: 2px;
            }
            .payment-logo.payment-glyph {
                width: 40px;
                max-width: 100%;
                height: 35px;
            }
            .navbar-toggler { color: rgba(255,255,255,.68); }
        }

    
    
        /* ===== TABLET / MOBILE NAVIGATION, CONTACTS AND PARALLAX ===== */
        @media (max-width: 991.98px) {
            .navbar .container { padding-right: 1.5rem; padding-left: 1.5rem; }
            .navbar-toggler {
                position: relative;
                color: rgba(255,255,255,.68);
                background-image: linear-gradient(currentColor, currentColor);
                background-repeat: no-repeat;
                background-position: center;
                background-size: 24px 2px;
                transition: background-size .2s ease;
            }
            .navbar-toggler .icon { display: none; }
            .navbar-toggler::before,
            .navbar-toggler::after {
                position: absolute;
                left: 8px;
                width: 24px;
                height: 2px;
                content: '';
                background-color: currentColor;
                transition: transform .24s ease, top .24s ease, bottom .24s ease;
            }
            .navbar-toggler::before { top: 11px; }
            .navbar-toggler::after { bottom: 11px; }
            .navbar-toggler[aria-expanded="true"] { background-size: 0 2px; }
            .navbar-toggler[aria-expanded="true"]::before { top: 19px; transform: rotate(45deg); }
            .navbar-toggler[aria-expanded="true"]::after { bottom: 19px; transform: rotate(-45deg); }
            .navbar-nav { padding: .5rem 0 .65rem; }
            .navbar-collapse .nav-link {
                padding: .5rem 0;
                text-align: left;
            }
        }

        @media (min-width: 769px) and (max-width: 991.98px) {
            #contact {
                min-height: 100svh;
                padding-top: 5rem;
                padding-bottom: 5rem;
                display: flex;
                align-items: center;
            }
            #contact > .container {
                display: flex;
                flex-direction: column;
                justify-content: center;
                min-height: calc(100svh - 10rem);
            }
            #contact > .container > .row:first-child { margin-bottom: 2.5rem; }
            #contact > .container > .row:nth-child(2) { row-gap: 1.35rem; }
            #contact > .container > .row:nth-child(3) { margin-top: 1.35rem; }
            #contact .contact-item { padding-top: .65rem; padding-bottom: .65rem; }
        }

        @media (max-width: 768px) {
            .masthead-parallax-layer {
                top: 0;
                height: 200%;
                background-size: cover;
            }
        }

        @keyframes contact-icon-reveal {
            from { opacity: 0; transform: translateY(13px) scale(.92); }
            to { opacity: 1; transform: translateY(0) scale(1); }
        }
        .contact-icon { opacity: 0; }
        .contact-icon.contact-icon-revealed {
            animation: contact-icon-reveal .52s cubic-bezier(.22,.61,.36,1) both;
        }
        @media (prefers-reduced-motion: reduce) {
            .contact-icon { opacity: 1; }
            .contact-icon.contact-icon-revealed { animation: none; }
        }

    
        /* ===== MOBILE SINGLE-COLUMN RHYTHM ===== */
        @media (max-width: 575.98px) {
            /* Service cards no longer need desktop grid spacing in a single column. */
            #services .features-boxed { padding-right: 0; padding-left: 0; }
            #services .features-boxed .intro h2 {
                padding-top: 1.75rem;
                margin-bottom: 1rem;
            }
            #services .features-boxed .features { padding: 1.25rem 0 1.75rem; }
            #services .features-boxed .item { padding: 0 .75rem; }
            #services .features-boxed .box { padding: 1.25rem 1rem; margin-bottom: .75rem; }
            #services .features-boxed .box img { margin-bottom: .8rem !important; }
            #services .features-boxed .description { margin: .65rem 0 .8rem; }
            #services .features-boxed .item:last-child .box { margin-bottom: 0; }

            /* Review dots receive their own visual row beneath the two arrows. */
            .review-arrow { bottom: -52px; }
            .review-pagination { margin-top: 5.2rem; }
            .review-dots { gap: .5rem; }

            /* Desktop cards remain equal-height; mobile cards follow their content. */
            .pricing1 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
            .pricing1 .card { height: auto; min-height: 0; margin-bottom: 1.25rem; }
            .pricing1 .card-body { height: auto; min-height: 0; }
            .pricing1 .bottom-btn { margin-top: 1.25rem; }
            .pricing1 .mobile-empty-price-item { display: none; }
            .pricing1 .card:hover { transform: none; }
        }

    
        /* ===== FIXED NAVIGATION STABILITY =====
           A dedicated compositing layer prevents Safari/iPadOS from rebasing the fixed bar
           while the visual viewport changes during scroll or reload restoration. */
        #mainNav.navbar {
            position: fixed !important;
            top: 0 !important;
            right: 0 !important;
            bottom: auto !important;
            left: 0 !important;
            margin: 0 !important;
            z-index: 2147483000;
            transform: translate3d(0, 0, 0);
            -webkit-transform: translate3d(0, 0, 0);
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
            will-change: transform;
        }

        /* Telegram can paint the entire document beneath its top controls while the fixed
           bar is composited lower. This is an opaque extension of the same navigation layer,
           not a layout spacer; it remains above every scrolled section and outside a normal viewport. */
        #mainNav.navbar::before {
            position: absolute;
            z-index: 0;
            top: -12rem;
            right: 0;
            left: 0;
            height: 12rem;
            content: '';
            pointer-events: none;
            background: #000;
        }
        #mainNav.navbar > .container {
            position: relative;
            z-index: 1;
        }

    
        /* ===== MOBILE OVERFLOW AND FULL-VIEWPORT HERO ===== */
        @media (max-width: 575.98px) {
            html, body {
                width: 100%;
                max-width: 100%;
                overflow-x: hidden;
                overflow-x: clip;
            }
            /* The features row carries Bootstrap-style negative margins; retain matching parent gutters. */
            #services .features-boxed { padding-right: 15px; padding-left: 15px; }

            /* Use the dynamic mobile viewport instead of the unstable legacy 100vh. */
            .masthead {
                height: 100svh;
                min-height: 100svh;
                height: 100dvh;
                min-height: 100dvh;
            }
            .masthead-parallax-layer {
                top: 0;
                height: 200%;
                min-height: 200%;
            }
        }


        /* iOS does not permit JavaScript to change HTML audio volume. */
        html.ios-audio-volume-unavailable [data-volume-controls] { display: none !important; }
        html.ios-audio-volume-unavailable [data-seek-controls] { padding-bottom: 28px; }
        /* CSS fallback for iPhone and iPad, including cases where UA detection is constrained. */
        @supports (-webkit-touch-callout: none) {
            [data-volume-controls] { display: none !important; }
            [data-seek-controls] { padding-bottom: 28px; }
        }
        /* Keep vertical page scrolling responsive while review cards receive horizontal swipes. */
        @media (hover: none) and (pointer: coarse) {
            .review-viewport { touch-action: pan-y; }
        }

        /* ===== LOCAL POLICY DIALOG ===== */
        body.policy-dialog-open { overflow: hidden; }
        .policy-dialog {
            width: min(760px, calc(100% - 32px));
            inset: 0;
            height: fit-content;
            max-height: min(760px, calc(100dvh - 32px));
            margin: auto;
            overflow: hidden;
            padding: 0;
            border: 1px solid rgba(255,255,255,.16);
            border-radius: 18px;
            background: #1d1d1d;
            color: #e8e8e8;
            box-shadow: 0 24px 80px rgba(0,0,0,.58);
        }
        .policy-dialog::backdrop { background: rgba(0,0,0,.76); backdrop-filter: blur(3px); }
        .policy-dialog__frame { display: flex; flex-direction: column; max-height: inherit; min-height: 0; }
        .policy-dialog__header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 18px;
            padding: 22px 26px 17px;
            border-bottom: 1px solid rgba(255,255,255,.12);
        }
        .policy-dialog__eyebrow { margin: 0 0 3px; color: #e24f43; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
        .policy-dialog__title { margin: 0; color: #fff; font-size: 23px; font-weight: 700; line-height: 1.25; }
        .policy-dialog__close {
            flex: 0 0 auto;
            width: 36px;
            height: 36px;
            padding: 0;
            border: 1px solid rgba(255,255,255,.22);
            border-radius: 50%;
            background: transparent;
            color: #d1d1d1;
            font-size: 26px;
            line-height: 1;
            cursor: pointer;
            transition: background-color .18s ease, border-color .18s ease, color .18s ease;
        }
        .policy-dialog__close:hover, .policy-dialog__close:focus-visible { border-color: #e24f43; background: #e24f43; color: #fff; outline: none; }
        .policy-dialog__content { min-height: 0; flex: 0 1 auto; max-height: min(590px, calc(100dvh - 190px)); overflow-x: hidden; overflow-y: auto; padding: 26px; font-size: 15px; line-height: 1.72; overflow-wrap: anywhere; word-break: break-word; overscroll-behavior: contain; }
        .policy-dialog__content h2 { margin: 31px 0 12px; color: #fff; font-size: 19px; line-height: 1.38; }
        .policy-dialog__content h2:first-child { margin-top: 0; }
        .policy-dialog__content p, .policy-dialog__content ul { margin: 0 0 16px; }
        .policy-dialog__content ul { padding-left: 1.25em; list-style: disc outside; }
        .policy-dialog__content li + li { margin-top: 7px; }
        .policy-dialog__content strong { color: #fff; }
        .policy-dialog__content a, .policy-dialog__footer a { color: #e24f43; }
        .policy-dialog__footer { display: flex; justify-content: flex-end; padding: 14px 26px 18px; border-top: 1px solid rgba(255,255,255,.12); font-size: 13px; font-weight: 600; }
        @media (max-width: 575px) {
            .policy-dialog { width: calc(100% - 20px); height: fit-content; max-height: calc(100dvh - 20px); border-radius: 14px; }
            .policy-dialog__header { padding: 18px 18px 14px; }
            .policy-dialog__title { font-size: 20px; }
            .policy-dialog__content { max-height: calc(100dvh - 172px); padding: 20px 18px; font-size: 14px; }
            .policy-dialog__footer { padding: 13px 18px 16px; }
        }
