/* ---- head-style ---- */
:root {
            --magenta: #FF1493;
            --magenta-dark: #C71585;
            --bg-lux: #FDFDFD;
            --bg-warm: #FAF9F7;
            --text-main: #1A1A1A;
            --text-light: #595959;
            --text-lighter: #767676;
            --card-white: #FFFFFF;
            --border-light: #F0F0F0;
            --border-mid: #E8E8E8;
        }

        html {
            scroll-behavior: smooth;
            scroll-padding-top: 80px; /* height of sticky header + breathing room */
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }
        section, div[id] { scroll-margin-top: 88px; }
        
        body {
            overflow-x: hidden; 
            font-family: 'DM Sans', sans-serif; 
            background-color: var(--bg-lux); 
            color: var(--text-main);
            line-height: 1.6;
            -webkit-font-smoothing: antialiased;
        }

        h1, h2, h3 { 
            font-family: 'Cormorant Garamond', serif; 
            font-weight: 600; 
        }

        
        .how-section,
        .services-section,
        .cities-section,
        .vip-section,
        .why-section,
        .testimonials-section,
        .faq-section,
        .problem-solution-section {
            content-visibility: auto;
            contain-intrinsic-size: 0 600px;
        }

        
        @keyframes fadeUp {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }

        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

        @keyframes slideIn {
            from { opacity: 0; transform: translateX(-20px); }
            to { opacity: 1; transform: translateX(0); }
        }

        .fade-up { animation: fadeUp 0.8s ease forwards; }
        .fade-up-d1 { animation: fadeUp 0.8s ease 0.1s forwards; opacity: 0; }
        .fade-up-d2 { animation: fadeUp 0.8s ease 0.2s forwards; opacity: 0; }
        .fade-up-d3 { animation: fadeUp 0.8s ease 0.3s forwards; opacity: 0; }
        .fade-up-d4 { animation: fadeUp 0.8s ease 0.4s forwards; opacity: 0; }

        
        header:not(.ds4-nav) {
            padding: 24px 8%;
            display: flex;
            justify-content: space-between;
            align-items: center;
            background: rgba(253, 253, 253, 0.92);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            position: sticky;
            top: 0;
            z-index: 1000;
            border-bottom: 1px solid rgba(0,0,0,0.04);
        }

        .logo { 
            font-family: 'DM Sans', sans-serif;
            font-size: 1.5rem; 
            font-weight: 700;
            letter-spacing: 6px; 
            text-decoration: none; 
            color: var(--text-main); 
        }

        .logo span { color: var(--magenta); }

        nav { display: flex; gap: 30px; align-items: center; }

        nav a { 
            text-decoration: none; 
            color: var(--text-light); 
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 2px;
            font-weight: 500;
            transition: color 0.3s;
        }

        nav a:hover { color: var(--magenta); }
        
        .nav-dropdown { position: relative; }
        .nav-dropdown > a { display: flex; align-items: center; gap: 5px; }
        .nav-dropdown > a::after {
            content: '';
            width: 5px; height: 5px;
            border-right: 1px solid currentColor;
            border-bottom: 1px solid currentColor;
            transform: rotate(45deg);
            margin-top: -2px;
            opacity: 0.5;
            transition: transform 0.2s;
        }
        .nav-dropdown:hover > a::after { transform: rotate(-135deg); margin-top: 2px; }

        .nav-dropdown::after {
            content: '';
            position: absolute;
            top: 100%;
            left: 0;
            width: 100%;
            height: 20px;
            background: transparent;
        }

        .dropdown-menu {
            display: none;
            position: absolute;
            top: calc(100% + 8px);
            left: 0;
            transform: none;
            background: white;
            border: 1px solid var(--border-light);
            box-shadow: 0 16px 48px rgba(0,0,0,0.12);
            min-width: 210px;
            z-index: 9999;
            padding: 6px 0;
            border-top: 2px solid var(--magenta);
        }
        .nav-dropdown:hover .dropdown-menu { display: block; }

        .dropdown-county {
            padding: 8px 20px 4px;
            font-size: 0.58rem;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: var(--magenta);
            font-weight: 700;
            opacity: 0.7;
        }
        .dropdown-menu a {
            display: block;
            padding: 9px 20px 9px 28px;
            font-size: 0.68rem;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            color: var(--text-light);
            font-weight: 500;
            transition: color 0.15s, background 0.15s, padding-left 0.15s;
            white-space: nowrap;
            text-decoration: none;
        }
        .dropdown-menu a:hover {
            color: var(--magenta);
            background: rgba(255,20,147,0.04);
            padding-left: 32px;
        }
        .dropdown-menu .dropdown-sep {
            height: 1px;
            background: var(--border-light);
            margin: 4px 0;
        }

        .btn-header { 
            text-decoration: none; 
            color: var(--text-main);
            font-weight: 600; 
            font-size: 0.68rem;
            letter-spacing: 2px;
            text-transform: uppercase;
            padding: 0;
            transition: color 0.2s;
            position: relative;
            white-space: nowrap;
        }
        .btn-header::after {
            content: '';
            position: absolute;
            bottom: -3px;
            left: 0;
            width: 100%;
            height: 1px;
            background: var(--magenta);
            transform: scaleX(0.4);
            transform-origin: left;
            transition: transform 0.3s ease;
        }
        .btn-header:hover { color: var(--magenta); }
        .btn-header:hover::after { transform: scaleX(1); }

        .mobile-menu-btn { display: none; background: none; border: none; cursor: pointer; }

        
        .hero { 
            padding: 120px 8% 100px;
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            position: relative;
            background: #0a0a0a;
            min-height: 75vh;
            justify-content: center;
            will-change: auto;
            overflow: hidden;
        }

        .hero-video-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 0;
            overflow: hidden;
        }
        .hero-video-bg video {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: 30% center;
            display: block;
        }

        .hero-video-bg::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(
                to bottom,
                rgba(0,0,0,0.65) 0%,
                rgba(0,0,0,0.55) 50%,
                rgba(0,0,0,0.72) 100%
            );
        }

        @media (max-width: 768px) {
            .hero {
                padding: 80px 5% 70px;
                min-height: 70vh;
            }
            .hero-video-bg video {
                display: block;
            }
            .hero-video-bg::after {
                background: linear-gradient(
                    to bottom,
                    rgba(0,0,0,0.58) 0%,
                    rgba(0,0,0,0.45) 50%,
                    rgba(0,0,0,0.68) 100%
                );
            }
            .hero h1 {
                font-size: clamp(2.2rem, 10vw, 3.5rem);
            }
            .stats-bar {
                margin-top: 30px !important;
            }
        }

        .hero-badge {
            text-transform: uppercase; 
            letter-spacing: 5px; 
            font-size: 0.65rem; 
            color: var(--magenta); 
            margin-bottom: 20px; 
            font-weight: 700;
            text-shadow: 0 1px 8px rgba(0,0,0,0.8);
        }

        .hero:has(.hero-video-bg) h1 { 
            font-size: clamp(3rem, 8vw, 5.5rem); 
            line-height: 0.9; 
            margin-bottom: 24px; 
            font-weight: 600;
            color: white;
            text-shadow: 0 2px 12px rgba(0,0,0,0.8), 0 4px 32px rgba(0,0,0,0.6);
        }

        .hero h1 em {
            font-style: italic;
            font-weight: 300;
            color: var(--magenta);
        }

        .hero:has(.hero-video-bg) p { 
            max-width: 550px; 
            font-size: 1.05rem; 
            color: rgba(255,255,255,0.92); 
            margin-bottom: 50px; 
            line-height: 1.7;
            text-shadow: 0 1px 8px rgba(0,0,0,0.7);
        }

        .trust-bar { 
            margin-top: 50px;
            display: flex;
            gap: 40px;
            opacity: 0.7;
            font-size: 0.65rem;
            letter-spacing: 2.5px;
            font-weight: 700;
            flex-wrap: wrap;
            justify-content: center;
            text-transform: uppercase;
            color: white;
            text-shadow: 0 1px 3px rgba(0,0,0,0.4);
        }
        @media (max-width: 480px) {
            .trust-bar {
                display: none;
            }
        }

        
        .how-section {
            padding: 100px 8%;
            background: var(--bg-warm);
        }

        .section-label {
            text-transform: uppercase;
            letter-spacing: 5px;
            font-size: 0.65rem;
            color: var(--magenta-dark);
            font-weight: 700;
            text-align: center;
            margin-bottom: 15px;
        }

        .section-title {
            font-size: clamp(2rem, 5vw, 3rem);
            text-align: center;
            margin-bottom: 60px;
            line-height: 1.1;
        }

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

        .step-card {
            text-align: center;
            padding: 40px 30px;
        }

        .step-number {
            font-family: 'Cormorant Garamond', serif;
            font-size: 4rem;
            font-weight: 300;
            color: var(--magenta);
            line-height: 1;
            margin-bottom: 16px;
        }

        .step-card h3 {
            font-size: 1.4rem;
            margin-bottom: 12px;
        }

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

        
        .services-section {
            padding: 100px 8%;
            background: var(--card-white);
        }

        .services-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 24px;
            max-width: 1200px;
            margin: 0 auto;
        }

        .service-card {
            border: 1px solid var(--border-light);
            padding: 40px 32px;
            transition: all 0.4s ease;
            position: relative;
            overflow: hidden;
        }

        .service-card::before {
            content: '';
            position: absolute;
            top: 0; left: 0;
            width: 100%; height: 3px;
            background: var(--magenta);
            transform: scaleX(0);
            transform-origin: left;
            transition: transform 0.4s ease;
        }

        .service-card:hover::before { transform: scaleX(1); }

        .service-card:hover { 
            border-color: var(--border-mid);
            box-shadow: 0 20px 40px rgba(0,0,0,0.04);
            transform: translateY(-4px);
        }

        .service-tag {
            font-size: 0.6rem;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: var(--magenta-dark);
            font-weight: 700;
            margin-bottom: 12px;
        }

        
        .service-card-photo {
            width: calc(100% + 64px);
            height: 210px;
            overflow: hidden;
            margin: 0 -32px 24px -32px;
            position: relative;
        }
        .service-card-photo picture,
        .service-card-photo img {
            width: 100%; height: 100%;
            object-fit: cover;
            object-position: center center;
            display: block;
            transition: transform 0.6s cubic-bezier(.22,1,.36,1);
        }
        .service-card:hover .service-card-photo img { transform: scale(1.04); }
        .service-card-photo-label {
            position: absolute; bottom: 0; left: 0; right: 0;
            padding: 10px 16px;
            background: linear-gradient(transparent, rgba(0,0,0,0.55));
            font-size: 0.55rem; letter-spacing: 2.5px; text-transform: uppercase;
            color: rgba(255,255,255,0.75); font-weight: 600;
            font-family: 'DM Sans', sans-serif;
        }

        .service-card h3 {
            font-size: 1.6rem;
            margin-bottom: 4px;
        }

        .service-subtitle {
            font-family: 'DM Sans', sans-serif;
            font-size: 0.72rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1.8px;
            color: var(--magenta);
            margin-bottom: 14px;
            display: block;
        }

        .service-price {
            font-family: 'DM Sans', sans-serif;
            font-size: 2rem;
            color: var(--text-main);
            margin-bottom: 16px;
            font-weight: 700;
            letter-spacing: -0.5px;
        }

        .service-card p {
            font-size: 0.88rem;
            color: var(--text-light);
            line-height: 1.7;
            margin-bottom: 20px;
        }

        .service-features {
            list-style: none;
            margin-bottom: 24px;
        }

        .service-features li {
            font-size: 0.82rem;
            color: var(--text-light);
            padding: 5px 0;
            padding-left: 18px;
            position: relative;
        }

        .service-features li::before {
            content: '';
            position: absolute;
            left: 0; top: 12px;
            width: 6px; height: 6px;
            background: var(--magenta);
            border-radius: 50%;
        }

        .btn-quote {
            display: inline-block;
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 2px;
            font-weight: 700;
            color: var(--text-main);
            border-bottom: 2px solid var(--magenta);
            padding-bottom: 4px;
            cursor: pointer;
            transition: color 0.3s;
            text-decoration: none;
        }

        .btn-quote:hover { color: var(--magenta); }

        
        .calc-section {
            padding: 60px 6%;

            background: 
                linear-gradient(
                    to bottom,
                    rgba(253, 253, 253, 0.88) 0%,
                    rgba(253, 253, 253, 0.75) 40%,
                    rgba(253, 253, 253, 0.92) 100%
                );
            display: flex;
            flex-direction: column;
            align-items: center;
            position: relative;
        }

        .calc-section .section-label {
            color: var(--magenta-dark);
        }

        .calc-section .section-title {
            color: var(--text-main);
        }

        .calc-container { 
            background: rgba(255, 255, 255, 0.95);
            padding: 50px 44px;
            box-shadow: 0 40px 80px rgba(0,0,0,0.10), 0 2px 8px rgba(0,0,0,0.04);
            width: 100%;
            max-width: 520px;
            border: 1px solid var(--border-light);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
        }
        .calc-side-layout .calc-container {
            max-width: 100%;
        }
        @media (max-width: 900px) {
            .calc-side-layout {
                display: flex !important;
                flex-direction: column;
                gap: 24px;
            }
        }

        .calc-group { 
            margin-bottom: 24px; 
            text-align: left; 
        }

        .calc-group label { 
            display: block; 
            font-size: 0.65rem; 
            text-transform: uppercase; 
            letter-spacing: 2.5px; 
            margin-bottom: 10px; 
            color: var(--text-light); 
            font-weight: 500;
        }
        
        select { 
            width: 100%; 
            padding: 16px; 
            border: 1px solid var(--border-light); 
            background: var(--bg-lux);
            font-family: 'DM Sans', sans-serif;
            font-size: 0.95rem;
            outline: none;
            cursor: pointer;
            color: var(--text-main);
            -webkit-appearance: none;
            appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23999' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 16px center;
            transition: border-color 0.3s;
        }

        select:focus { border-color: var(--magenta); }

        .addons-section { margin-bottom: 24px; }

        .addons-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 8px;
        }

        .addon-item {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 10px 12px;
            border: 1px solid var(--border-light);
            cursor: pointer;
            transition: all 0.3s;
            font-size: 0.8rem;
        }

        .addon-item:hover { border-color: var(--magenta); }
        .addon-item.active { 
            border-color: var(--magenta); 
            background: rgba(255,20,147,0.03);
        }

        .addon-item input[type="checkbox"] {
            accent-color: var(--magenta);
            cursor: pointer;
        }

        .addon-price { 
            color: var(--text-lighter); 
            font-size: 0.75rem;
            margin-left: auto;
        }

        .price-display-area {
            text-align: center;
            padding: 30px 0;
            border-top: 1px solid var(--border-light);
            border-bottom: 1px solid var(--border-light);
            margin-bottom: 24px;
        }

        .price-from {
            font-size: 0.65rem;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: var(--text-lighter);
            margin-bottom: 4px;
        }

        .price-tag { 
            font-family: 'DM Sans', sans-serif; 
            font-size: 4rem; 
            color: var(--text-main); 
            font-weight: 700;
            line-height: 1;
            letter-spacing: -2px;
        }

        .btn-reserve { 
            width: 100%; 
            padding: 20px; 
            background: var(--text-main); 
            color: white; 
            border: none; 
            font-family: 'DM Sans', sans-serif;
            font-weight: 700; 
            font-size: 0.75rem;
            letter-spacing: 3px;
            text-transform: uppercase;
            cursor: pointer;
            transition: 0.4s;
        }

        .btn-reserve:hover { background: var(--magenta); }

        
        .cities-section { 
            padding: 100px 8%; 
            text-align: center; 
            background: var(--card-white); 
        }

        .city-grid { 
            display: grid; 
            grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); 
            gap: 16px; 
            max-width: 1200px;
            margin: 60px auto 0; 
        }

        .city-group {
            display: contents; /* renders children directly in grid */
        }
        .city-row {
            grid-column: span 1;
            border: 1px solid var(--border-light);
            background: var(--card-white);
            transition: border-color 0.2s, box-shadow 0.2s;
        }
        .city-row:hover {
            border-color: rgba(255,20,147,0.3);
            box-shadow: 0 4px 20px rgba(0,0,0,0.06);
        }
        .city-row-main {
            display: block;
            padding: 18px 20px 14px;
            text-decoration: none;
            color: var(--text-main);
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            border-bottom: 1px solid var(--border-light);
        }
        .city-row-main:hover { color: var(--text-main); }
        .city-row-services {
            display: flex;
            gap: 0;
        }
        .city-svc-link {
            flex: 1;
            display: block;
            padding: 10px 12px;
            font-size: 0.6rem;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            font-weight: 600;
            color: var(--text-light);
            text-decoration: none;
            transition: color 0.2s, background 0.2s;
            border-right: 1px solid var(--border-light);
            text-align: center;
        }
        .city-svc-link:last-child { border-right: none; }
        .city-svc-link:hover { color: var(--text-main); background: var(--bg-warm); }
        .city-svc-link.ceramic {
            color: var(--magenta);
            font-weight: 700;
        }
        .city-svc-link.ceramic:hover { background: rgba(255,20,147,0.05); }
        .city-svc-icon {
            display: block;
            font-size: 0.55rem;
            opacity: 0.5;
            margin-top: 2px;
            font-weight: 400;
            letter-spacing: 1px;
        }

        @media (max-width: 768px) {
            .why-diff-grid {
                grid-template-columns: 1fr !important;
                gap: 32px !important;
                max-width: 100% !important;
            }
            .why-diff-grid > div {
                padding-bottom: 24px;
                border-bottom: 1px solid var(--border-light);
            }
            .why-diff-grid > div:last-child { border-bottom: none; }
        }

        @media (max-width: 640px) {
            .wa-float { width: 48px; height: 48px; bottom: 16px; right: 16px; }
            .wa-float svg { width: 22px; height: 22px; }
            .wa-badge { display: none; }
        }

        @media (max-width: 640px) {
            .city-row-main { font-size: 0.68rem; padding: 14px 16px 12px; }
            .city-svc-link { font-size: 0.56rem; padding: 9px 8px; }
        }

        .city-item { 
            padding: 28px 20px; 
            border: 1px solid var(--border-light); 
            transition: all 0.3s;
            cursor: pointer;
            font-size: 0.8rem;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            font-weight: 500;
            text-decoration: none;
            color: var(--text-main);
            display: block;
        }

        .city-item:hover { 
            border-color: var(--magenta); 
            color: var(--magenta); 
            transform: translateY(-2px);
            box-shadow: 0 8px 20px rgba(0,0,0,0.03);
        }

        .city-tier {
            font-size: 0.55rem;
            display: block;
            margin-top: 6px;
            letter-spacing: 1px;
            opacity: 0.5;
            text-transform: uppercase;
        }

        
        .vip-section {
            padding: 100px 8%;
            color: var(--card-white);
            position: relative;
            overflow: hidden;
            background: var(--text-main);
        }

        .vip-section::before {
            content: '';
            position: absolute;
            inset: -30px;
            background: url('vip-bg.jpg') center / cover no-repeat;
            filter: blur(8px) brightness(0.45) saturate(0.7);
            transform: scale(1.08);
            z-index: 0;
        }

        .vip-section::after {
            content: '';
            position: absolute;
            inset: 0;
            background: rgba(0, 0, 0, 0.45);
            z-index: 1;
        }

        .vip-section > * {
            position: relative;
            z-index: 2;
        }

        .vip-section .section-label { color: var(--magenta-dark); }
        .vip-section .section-title { color: var(--card-white); }

        .vip-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 30px;
            max-width: 900px;
            margin: 0 auto;
        }

        .vip-card {
            border: 1px solid rgba(255,255,255,0.1);
            padding: 48px 36px;
            position: relative;
            transition: all 0.4s;
        }

        .vip-card:hover {
            border-color: var(--magenta);
        }

        .vip-card.featured {
            border-color: var(--magenta);
        }

        .vip-card.featured::after {
            content: 'MOST POPULAR';
            position: absolute;
            top: -1px; right: 30px;
            background: var(--magenta);
            color: white;
            font-size: 0.55rem;
            letter-spacing: 2px;
            padding: 6px 14px;
            font-weight: 700;
        }

        .vip-name {
            font-family: 'Cormorant Garamond', serif;
            font-size: 2rem;
            margin-bottom: 6px;
        }

        .vip-price {
            font-family: 'DM Sans', sans-serif;
            font-size: 3rem;
            color: var(--card-white);
            font-weight: 700;
            line-height: 1;
            margin-bottom: 6px;
            letter-spacing: -1px;
        }

        .vip-price-note {
            font-size: 0.75rem;
            color: rgba(255,255,255,0.4);
            margin-bottom: 24px;
        }

        .vip-features {
            list-style: none;
        }

        .vip-features li {
            font-size: 0.85rem;
            padding: 8px 0;
            padding-left: 20px;
            position: relative;
            color: rgba(255,255,255,0.7);
        }

        .vip-features li::before {
            content: '';
            position: absolute;
            left: 0; top: 15px;
            width: 6px; height: 6px;
            background: var(--magenta);
            border-radius: 50%;
        }

        .vip-note {
            text-align: center;
            max-width: 600px;
            margin: 40px auto 0;
            font-size: 0.8rem;
            color: rgba(255,255,255,0.65);
            line-height: 1.7;
        }

        
        .why-section {
            padding: 100px 8%;
            background: var(--bg-warm);
        }

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

        .why-card {
            text-align: center;
            padding: 36px 24px;
        }

        .why-icon {
            font-size: 1.6rem;
            margin-bottom: 16px;
            display: block;
        }

        .why-card h3 {
            font-size: 1.3rem;
            margin-bottom: 8px;
        }

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

        
        .testimonials-section {
            padding: 100px 8%;
            background: var(--card-white);
        }

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

        .testimonial-card {
            border: 1px solid var(--border-light);
            padding: 36px 30px;
        }

        .testimonial-stars {
            color: var(--magenta);
            font-size: 0.9rem;
            letter-spacing: 2px;
            margin-bottom: 16px;
        }

        .testimonial-card p {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.15rem;
            font-style: italic;
            line-height: 1.6;
            margin-bottom: 20px;
            color: var(--text-main);
        }

        .testimonial-author {
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            color: var(--text-lighter);
            font-weight: 500;
        }

        .testimonial-detail {
            font-size: 0.7rem;
            color: var(--text-lighter);
            margin-top: 4px;
        }

        
        .faq-section {
            padding: 100px 8%;
            background: var(--bg-warm);
        }

        .faq-container {
            max-width: 700px;
            margin: 0 auto;
        }

        .faq-item {
            border-bottom: 1px solid var(--border-light);
        }

        .faq-question {
            width: 100%;
            background: none;
            border: none;
            padding: 24px 0;
            font-family: 'DM Sans', sans-serif;
            font-size: 1rem;
            text-align: left;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            color: var(--text-main);
            font-weight: 500;
        }

        .faq-question:hover { color: var(--magenta); }

        .faq-arrow {
            font-size: 1.2rem;
            transition: transform 0.3s;
            color: var(--magenta);
        }

        .faq-item.open .faq-arrow { transform: rotate(45deg); }

        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.4s ease, padding 0.4s ease;
        }

        .faq-item.open .faq-answer {
            max-height: 300px;
            padding-bottom: 24px;
        }

        .faq-answer p {
            font-size: 0.9rem;
            color: var(--text-light);
            line-height: 1.8;
        }

        
        .trust-badges-bar {
            background: var(--card-white);
            border-top: 1px solid var(--border-light);
            border-bottom: 1px solid var(--border-light);
            padding: 24px 8%;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 48px;
            flex-wrap: wrap;
        }

        .trust-badge-item {
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            font-weight: 600;
            color: var(--text-light);
        }

        .trust-badge-icon {
            width: 36px;
            height: 36px;
            border: 1.5px solid var(--border-mid);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.85rem;
            background: var(--bg-warm);
            flex-shrink: 0;
        }

        
        .stats-bar {
            display: flex;
            justify-content: center;
            gap: 60px;
            flex-wrap: wrap;
            margin: 0 auto;
            max-width: 900px;
        }
        @media (max-width: 480px) {
            .stats-bar {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 20px 30px;
                max-width: 100%;
                padding: 0 20px;
            }
        }

        .stat-item {
            text-align: center;
        }

        .stat-number {
            font-family: 'DM Sans', sans-serif;
            font-size: 2.4rem;
            font-weight: 700;
            color: white;
            letter-spacing: -1px;
            line-height: 1;
            display: block;
            text-shadow: 0 2px 12px rgba(0,0,0,0.7), 0 0 30px rgba(0,0,0,0.5);
        }

        .stat-label {
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: rgba(255,255,255,0.85);
            margin-top: 6px;
            display: block;
            text-shadow: 0 1px 6px rgba(0,0,0,0.8);
        }

        
        .discount-banner {
            background: linear-gradient(135deg, rgba(255,20,147,0.04) 0%, rgba(255,20,147,0.08) 100%);
            border: 1px solid rgba(255,20,147,0.2);
            padding: 16px 20px;
            margin-bottom: 20px;
            display: none;
        }

        .discount-banner.visible { display: block; }

        .discount-banner-title {
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: var(--magenta);
            margin-bottom: 8px;
        }

        .discount-banner p {
            font-size: 0.82rem;
            color: var(--text-light);
            margin-bottom: 10px;
        }

        .inline-lead-capture {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .inline-lead-capture-row {
            display: flex;
            gap: 8px;
        }

        .inline-lead-capture input {
            flex: 1;
            padding: 10px 14px;
            border: 1px solid var(--border-mid);
            font-family: 'DM Sans', sans-serif;
            font-size: 0.85rem;
            outline: none;
            background: white;
            min-width: 0;
        }

        .inline-lead-capture input:focus { border-color: var(--magenta); }

        .inline-lead-capture button {
            width: 100%;
            padding: 12px 18px;
            background: var(--magenta);
            color: white;
            border: none;
            font-family: 'DM Sans', sans-serif;
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            cursor: pointer;
            white-space: nowrap;
            transition: background 0.3s;
        }

        .inline-lead-capture button:hover { background: var(--magenta-dark); }

        .discount-captured {
            font-size: 0.82rem;
            color: var(--magenta);
            font-weight: 600;
        }

        
        .problem-solution-section {
            padding: 100px 8%;
            background: var(--card-white);
        }

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

        .challenge-card {
            border: 1px solid var(--border-light);
            padding: 32px 28px;
            transition: all 0.3s;
        }

        .challenge-card:hover {
            border-color: var(--magenta);
            transform: translateY(-2px);
        }

        .challenge-city {
            font-size: 0.6rem;
            text-transform: uppercase;
            letter-spacing: 2.5px;
            color: var(--magenta-dark);
            font-weight: 700;
            margin-bottom: 10px;
        }

        .challenge-problem {
            font-size: 0.8rem;
            color: var(--text-lighter);
            margin-bottom: 10px;
            padding-bottom: 10px;
            border-bottom: 1px solid var(--border-light);
            line-height: 1.6;
        }

        .challenge-problem strong {
            display: block;
            font-size: 0.65rem;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            color: var(--text-lighter);
            margin-bottom: 4px;
        }

        .challenge-solution {
            font-size: 0.82rem;
            color: var(--text-light);
            line-height: 1.6;
        }

        .challenge-solution strong {
            display: block;
            font-size: 0.65rem;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            color: var(--magenta-dark);
            margin-bottom: 4px;
        }

        

        @media (max-width: 640px) {
            .video-reel-header { grid-template-columns: 1fr !important; gap: 24px !important; }
            .video-thumb-grid { grid-template-columns: 1fr !important; gap: 8px !important; }
            .video-thumb-item { grid-column: span 1 !important; }
        }

        footer {
            padding: 60px 8% 40px;
            background: var(--text-main);
            color: rgba(255,255,255,0.5);
        }

        .footer-top {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 40px;
            flex-wrap: wrap;
            gap: 30px;
        }

        .footer-logo {
            font-family: 'DM Sans', sans-serif;
            font-size: 1.5rem;
            font-weight: 700;
            letter-spacing: 6px;
            color: white;
        }

        .footer-logo span { color: var(--magenta); }

        .footer-links {
            display: flex;
            gap: 16px 24px;
            flex-wrap: wrap;
            justify-content: flex-end;
            max-width: calc(100% - 120px);
        }

        .footer-links a {
            color: rgba(255,255,255,0.4);
            text-decoration: none;
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            transition: color 0.3s;
        }

        .footer-links a:hover { color: var(--magenta); }

        .footer-bottom {
            border-top: 1px solid rgba(255,255,255,0.08);
            padding-top: 24px;
            display: flex;
            justify-content: space-between;
            font-size: 0.7rem;
            letter-spacing: 1px;
            flex-wrap: wrap;
            gap: 10px;
        }

        
        .float-stack {
            position: fixed;
            bottom: 24px;
            right: 20px;
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 12px;
            z-index: 998;
        }

        .float-btn {
            width: 54px;
            height: 54px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            box-shadow: 0 6px 24px rgba(0,0,0,0.18);
            transition: transform 0.25s, box-shadow 0.25s;
            position: relative;
            flex-shrink: 0;
        }
        .float-btn:hover {
            transform: scale(1.1);
            box-shadow: 0 10px 32px rgba(0,0,0,0.25);
        }

        .float-btn.wa  { background: #111111; }
        .float-btn.wa:hover { background: #25D366; }

        .float-btn.call { background: #111111; }
        .float-btn.call:hover { background: var(--magenta); }

        
        .float-btn.sms  { background: #111111; }
        .float-btn.sms:hover { background: #4A90D9; }

        .float-btn svg  { width: 22px; height: 22px; color: white; flex-shrink: 0; }

        .float-label {
            position: absolute;
            right: calc(100% + 12px);
            top: 50%;
            transform: translateY(-50%);
            background: var(--text-main);
            color: white;
            font-size: 0.6rem;
            font-weight: 700;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            padding: 5px 10px;
            white-space: nowrap;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.2s, transform 0.2s;
            transform: translateY(-50%) translateX(6px);
        }
        .float-label::after {
            content: '';
            position: absolute;
            right: -5px;
            top: 50%;
            transform: translateY(-50%);
            border: 5px solid transparent;
            border-left-color: var(--text-main);
            border-right: none;
        }
        .float-btn:hover .float-label {
            opacity: 1;
            transform: translateY(-50%) translateX(0);
        }

        .float-dot {
            position: absolute;
            top: 2px;
            right: 2px;
            width: 10px;
            height: 10px;
            background: #25D366;
            border-radius: 50%;
            border: 2px solid white;
            animation: pulse-dot 2s infinite;
        }
        @keyframes pulse-dot {
            0%, 100% { transform: scale(1); opacity: 1; }
            50%       { transform: scale(1.3); opacity: 0.8; }
        }

        @media (max-width: 640px) {
            .float-stack  { bottom: 16px; right: 14px; gap: 10px; }
            .float-btn    { width: 46px; height: 46px; }
            .float-btn svg{ width: 19px; height: 19px; }
            .float-label  { display: none; }
        }

        .wa-badge {
            position: absolute;
            right: 68px;
            top: 50%;
            transform: translateY(-50%) translateX(6px);
            background: var(--text-main);
            border: 1px solid rgba(255,20,147,0.4);
            color: white;
            font-family: 'DM Sans', sans-serif;
            font-size: 0.58rem;
            font-weight: 700;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            white-space: nowrap;
            padding: 7px 14px;
            pointer-events: none;
            opacity: 0;
            transition: all 0.3s;
            box-shadow: 0 4px 16px rgba(0,0,0,0.2);
        }

        .wa-badge::before {
            content: '';
            position: absolute;
            right: -5px;
            top: 50%;
            transform: translateY(-50%);
            width: 0; height: 0;
            border-top: 5px solid transparent;
            border-bottom: 5px solid transparent;
            border-left: 5px solid rgba(255,20,147,0.4);
        }

        .wa-dot {
            position: absolute;
            top: 2px;
            right: 2px;
            width: 11px;
            height: 11px;
            background: #22c55e;
            border-radius: 50%;
            border: 2px solid var(--card-white);
            animation: waPulse 2.5s ease-in-out infinite;
        }

        @keyframes waPulse {
            0%, 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0.5); }
            50% { box-shadow: 0 0 0 5px rgba(34,197,94,0); }
        }

        
        .mobile-menu-overlay {

            display: none;
            position: fixed;
            inset: 0;
            z-index: 9999;
        }
        .mobile-menu-overlay.active {
            display: flex;
        }
        .mobile-menu-close {

        }
        .mobile-menu-links a {

        }

        
        @media (max-width: 900px) {
            .btn-header { display: none !important; }

            header > nav { display: none !important; }
            
            .mobile-menu-btn { 
                display: block; 
                position: relative;
                z-index: 10000;
            }
            
            .mobile-menu-btn svg {
                transition: all 0.3s ease;
            }
            
            .mobile-menu-btn.active svg line:nth-child(1) {
                transform: rotate(45deg) translate(5px, 5px);
            }
            
            .mobile-menu-btn.active svg line:nth-child(2) {
                opacity: 0;
            }
            
            .mobile-menu-btn.active svg line:nth-child(3) {
                transform: rotate(-45deg) translate(7px, -6px);
            }
            
            .steps-grid,
            .why-grid,
            .testimonials-grid { grid-template-columns: 1fr; }

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

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

            .footer-top { flex-direction: column; }
            .footer-links { max-width: 100%; justify-content: center; gap: 12px 16px; }
            .footer-links a { font-size: 0.65rem; }
            .footer-bottom { flex-direction: column; text-align: center; }

            header { padding: 18px 6%; }
            .hero { padding: 80px 6% 60px; }
            .how-section, .services-section, .calc-section,
            .cities-section, .vip-section, .why-section,
            .testimonials-section, .faq-section { padding: 70px 6%; }

            .calc-container { padding: 36px 24px; }
            .addons-grid { grid-template-columns: 1fr; }
        }

        @media (max-width: 600px) {
            .city-grid { grid-template-columns: repeat(2, 1fr); }
            .trust-bar { gap: 20px; }
        }
    
        
        @media (max-width: 900px) {
            #commitment > div > div[style*="grid-template-columns:1fr 1fr"] {
                grid-template-columns: 1fr !important;
                gap: 32px !important;
            }
        }
        @media (max-width: 700px) {
            #commitment {
                padding: 72px 6% !important;
            }
            #commitment .distinction-grid {
                grid-template-columns: 1fr !important;
            }
        }

        @media (max-width: 828px) {
            .hero {
                padding: 80px 6% 60px !important;
                min-height: 70vh !important;
            }
            .hero:has(.hero-video-bg) h1 {
                font-size: clamp(2.4rem, 10vw, 3.5rem) !important;
                color: white !important;
                text-shadow: 0 2px 12px rgba(0,0,0,0.9), 0 4px 32px rgba(0,0,0,0.7) !important;
            }
            .hero:has(.hero-video-bg) p {
                font-size: 1rem !important;
                color: rgba(255,255,255,0.92) !important;
                text-shadow: 0 1px 8px rgba(0,0,0,0.8) !important;
            }
            .hero-badge {
                color: var(--magenta) !important;
                text-shadow: 0 1px 8px rgba(0,0,0,0.8) !important;
            }

            .stats-bar {
                display: grid !important;
                grid-template-columns: 1fr 1fr !important;
                gap: 20px !important;
                width: 100% !important;
                max-width: 100% !important;
                padding: 0 4% !important;
            }
            .stat-item {
                background: transparent;
                padding: 8px 4px;
            }
            .stat-number {
                font-size: 1.8rem !important;
            }

            body {
                overflow-x: hidden !important;
            }

            footer > div {
                padding: 40px 6% 24px !important;
            }
            footer > div > div:first-child {
                grid-template-columns: 1fr !important;
                gap: 36px !important;
            }
            footer h3 {
                font-size: 0.7rem !important;
                margin-bottom: 16px !important;
            }
            footer nav {
                gap: 10px !important;
            }
            footer nav a,
            footer a[href^="tel"],
            footer a[href^="https://wa.me"] {
                font-size: 0.85rem !important;
            }
            footer > div > div:last-child {
                flex-direction: column !important;
                text-align: center !important;
                gap: 12px !important;
            }
        }

        html, body { overflow-x: hidden; max-width: 100vw; }
        * { box-sizing: border-box; }

        @media (max-width: 600px) {
            .stats-bar {
                display: grid !important;
                grid-template-columns: 1fr 1fr !important;
                gap: 20px 32px !important;
                max-width: 340px !important;
                margin: 36px auto 0 !important;
            }
            .stat-item {
                text-align: center;
                border-bottom: 1px solid rgba(255,255,255,0.1);
                padding-bottom: 12px;
            }
            .stat-number { font-size: 1.9rem !important; }
        }

        @media (max-width: 600px) {
            .trust-bar { display: none !important; }
        }

        @media (max-width: 768px) {
            .hero {
                padding: 70px 6% 60px !important;
                min-height: 65vh !important;
            }
        }

        @media (max-width: 768px) {

            [style*="grid-template-columns: 1fr 1fr"],
            [style*="grid-template-columns:1fr 1fr"] {
                grid-template-columns: 1fr !important;
                gap: 40px !important;
            }

            [style*="gap: 80px"],
            [style*="gap: 96px"],
            [style*="gap: 64px"] {
                gap: 32px !important;
            }
        }

        @media (max-width: 768px) {
            [style*="grid-template-columns:1fr 1fr; gap:2px"] {
                grid-template-columns: 1fr 1fr !important;
            }
        }

        @media (max-width: 600px) {
            section[style*="padding: 80px 8%"],
            section[style*="padding:80px 8%"],
            section[style*="padding: 100px 8%"],
            section[style*="padding:100px 8%"] {
                padding: 60px 5% !important;
            }
        }

        @media (max-width: 480px) {
            h1 { font-size: clamp(2rem, 9vw, 3rem) !important; }
            h2 { font-size: clamp(1.5rem, 7vw, 2.5rem) !important; }
        }

.mobile-menu-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-height: 100vh;
    background: #111111;
    z-index: 9999;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    flex-direction: column;
    transform: translateY(-100%);
    transition: transform 0.3s ease;
}
.mobile-menu-overlay.active {
    display: flex;
    transform: translateY(0);
}
@keyframes mmenuSlideIn {
    from { opacity: 0; transform: translateY(-20px); }
    to   { opacity: 1; transform: translateY(0); }
}

.mmenu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 22px 6%;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    flex-shrink: 0;
}
.mmenu-logo {
    font-family: 'DM Sans', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 4px;
    color: white;
    text-transform: uppercase;
}
.mmenu-logo span { color: #FF1493; }
.mmenu-close {
    background: none;
    border: none;
    color: rgba(255,255,255,0.7);
    cursor: pointer;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s;
    -webkit-tap-highlight-color: transparent;
}
.mmenu-close:hover { color: white; }

.mmenu-nav {
    flex: 1;
    min-height: 0;
    padding: 8px 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
}
.mmenu-link {
    display: block;
    width: 100%;
    padding: 18px 6%;
    font-family: 'DM Sans', sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #FFFFFF;
    background: rgba(255,255,255,0.03);
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    transition: color 0.2s, background 0.2s;
    -webkit-tap-highlight-color: transparent;
    flex-shrink: 0;
}
.mmenu-link:hover,
.mmenu-link:active { 
    color: #FF1493; 
    background: rgba(255,255,255,0.08); 
}

.mmenu-accordion {
    border-bottom: 1px solid rgba(255,255,255,0.08);
    width: 100%;
    flex-shrink: 0;
}
.mmenu-acc-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 6%;
    background: rgba(255,255,255,0.03);
    border: none;
    cursor: pointer;
    font-family: 'DM Sans', sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #FF1493;
    text-align: left;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.2s;
}
.mmenu-acc-trigger:active { background: rgba(255,20,147,0.08); }
.mmenu-acc-arrow {
    flex-shrink: 0;
    transition: transform 0.25s ease;
    color: rgba(255,20,147,0.7);
}
.mmenu-acc-trigger[aria-expanded="true"] .mmenu-acc-arrow {
    transform: rotate(180deg);
}

.mmenu-acc-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
    background: rgba(0,0,0,0.3);
}
.mmenu-acc-body.open {
    max-height: 1800px;
}
.mmenu-acc-body a {
    display: block;
    padding: 16px 6% 16px calc(6% + 20px);
    font-family: 'DM Sans', sans-serif;
    font-size: 0.88rem;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.7);
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,0.04);
    transition: color 0.15s, background 0.15s;
    -webkit-tap-highlight-color: transparent;
}
.mmenu-acc-body a::before {
    content: '→ ';
    color: rgba(255,20,147,0.5);
    margin-right: 8px;
}
.mmenu-acc-body a:active {
    color: #FF1493;
    background: rgba(255,20,147,0.05);
}
.mmenu-acc-body a:last-child { border-bottom: none; }

.mmenu-ctas {
    padding: 20px 6% 36px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border-top: 1px solid rgba(255,255,255,0.07);
    flex-shrink: 0;
}
.mmenu-cta-call {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 15px;
    border: 1px solid rgba(255,255,255,0.15);
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    font-family: 'DM Sans', sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    transition: border-color 0.2s, color 0.2s;
    -webkit-tap-highlight-color: transparent;
}
.mmenu-cta-call:active { border-color: white; color: white; }
.mmenu-cta-wa {
    display: block;
    padding: 16px;
    background: #FF1493;
    color: white;
    text-decoration: none;
    font-family: 'DM Sans', sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-align: center;
    transition: background 0.2s;
    -webkit-tap-highlight-color: transparent;
}
.mmenu-cta-wa:active { background: #C71585; }

@keyframes pulse-dot {
            0%, 100% { opacity: 1; transform: scale(1); }
            50% { opacity: 0.6; transform: scale(0.85); }
        }

@keyframes marqueeScroll {
        0%   { transform: translateX(0); }
        100% { transform: translateX(-50%); }
    }
    #specialization-strip:hover #marquee-track {
        animation-play-state: paused;
    }
    .spec-brand {
        font-family: 'DM Sans', sans-serif;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: white;
        white-space: nowrap;
        padding: 22px 24px;
        display: inline-block;
        transition: color 0.25s;
    }
    .spec-brand:hover { color: var(--magenta); }
    .spec-dot {
        font-size: 0.55rem;
        color: rgba(255,20,147,0.5);
        font-weight: 700;
        flex-shrink: 0;
        display: inline-block;
    }
    .spec-label {
        font-family: 'DM Sans', sans-serif;
        font-size: 0.62rem;
        font-weight: 400;
        letter-spacing: 2.5px;
        text-transform: uppercase;
        color: rgba(255,255,255,0.28);
        white-space: nowrap;
        padding: 22px 28px;
        display: inline-block;
        font-style: italic;
    }
    .spec-spacer { display: inline-block; }

@keyframes priceMarquee {
        0%   { transform: translateX(0); }
        100% { transform: translateX(-50%); }
    }
    #pricing-strip:hover #pricing-track {
        animation-play-state: paused;
    }
    .price-item {
        font-family: 'DM Sans', sans-serif;
        font-size: 0.72rem;
        font-weight: 500;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--text-light);
        white-space: nowrap;
        padding: 18px 28px;
        display: inline-block;
        text-decoration: none;
        transition: color 0.25s;
    }
    .price-item strong {
        color: var(--text-main);
        font-weight: 700;
        margin-left: 6px;
    }
    .price-item:hover { color: var(--magenta); }
    .price-item:hover strong { color: var(--magenta); }
    .price-item.ceramic {
        color: var(--magenta);
        font-weight: 700;
    }
    .price-item.ceramic strong {
        color: var(--magenta);
    }
    .price-dot {
        font-size: 0.7rem;
        color: var(--border-mid);
        font-weight: 700;
        flex-shrink: 0;
        display: inline-block;
    }

.steps-timeline {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    padding: 0 20px;
}

.timeline-line {
    position: absolute;
    top: 60px;
    left: 16%;
    right: 16%;
    height: 2px;
    background: var(--border-light);
    z-index: 0;
}
.timeline-progress {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--magenta), #FF69B4);
    transition: width 1.5s ease;
    border-radius: 2px;
}

.step-animated {
    text-align: center;
    position: relative;
    z-index: 1;
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.step-animated.visible {
    opacity: 1;
    transform: translateY(0);
}
.step-animated[data-step="2"] { transition-delay: 0.2s; }
.step-animated[data-step="3"] { transition-delay: 0.4s; }

.step-icon-wrapper {
    position: relative;
    width: 100px;
    height: 100px;
    margin: 0 auto 24px;
}
.step-icon {
    width: 100px;
    height: 100px;
    background: white;
    border: 2px solid var(--border-light);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
    transition: all 0.4s ease;
}
.step-icon svg {
    width: 44px;
    height: 44px;
    color: var(--text-main);
    transition: all 0.4s ease;
}
.step-animated:hover .step-icon {
    border-color: var(--magenta);
    transform: scale(1.08);
    box-shadow: 0 10px 40px rgba(255,20,147,0.15);
}
.step-animated:hover .step-icon svg {
    color: var(--magenta);
}

.step-pulse {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid var(--magenta);
    border-radius: 50%;
    opacity: 0;
    z-index: 1;
}
.step-animated.visible .step-pulse {
    animation: pulseRing 2s ease-out infinite;
}
@keyframes pulseRing {
    0% { transform: scale(1); opacity: 0.6; }
    100% { transform: scale(1.4); opacity: 0; }
}

.step-number-badge {
    position: absolute;
    top: -8px;
    right: calc(50% - 60px);
    background: var(--magenta);
    color: white;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 4px 10px;
    border-radius: 20px;
    z-index: 3;
}

.step-animated h3 {
    font-family: 'DM Sans', sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text-main);
    margin: 0 0 12px;
    letter-spacing: 0.5px;
}
.step-animated > p {
    font-size: 0.88rem;
    color: var(--text-light);
    line-height: 1.7;
    margin: 0 0 20px;
    padding: 0 10px;
}

.step-features {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
}
.step-features span {
    font-size: 0.72rem;
    background: var(--bg-warm);
    border: 1px solid var(--border-light);
    padding: 8px 14px;
    border-radius: 20px;
    color: var(--text-light);
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    line-height: 1;
    vertical-align: middle;
}
.step-features .check-icon {
    width: 14px;
    height: 14px;
    color: var(--magenta);
    flex-shrink: 0;
    display: inline-block;
    vertical-align: middle;
}

@media (max-width: 768px) {
    .steps-timeline {
        grid-template-columns: 1fr;
        gap: 50px;
        max-width: 400px;
    }
    .timeline-line {
        display: none;
    }
    .step-animated {
        opacity: 1;
        transform: none;
    }
    .step-icon-wrapper {
        width: 80px;
        height: 80px;
    }
    .step-icon {
        width: 80px;
        height: 80px;
    }
    .step-icon svg {
        width: 36px;
        height: 36px;
    }
}

@keyframes sop-fade-up {
  from { opacity:0; transform:translateY(28px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes sop-line-grow {
  from { transform:scaleX(0); }
  to   { transform:scaleX(1); }
}
@keyframes sop-counter-tick {
  from { opacity:0; transform:translateY(10px) scale(0.85); }
  to   { opacity:0.45; transform:translateY(0) scale(1); }
}
@keyframes sop-shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}

.sop-reveal { opacity:0; transform:translateY(28px); transition:opacity 0.65s cubic-bezier(.22,1,.36,1), transform 0.65s cubic-bezier(.22,1,.36,1); }
.sop-reveal.visible { opacity:1; transform:none; }

.sop-header-line {
  display:block; width:40px; height:2px;
  background:var(--magenta); margin:0 auto 20px;
  transform-origin:left center;
  animation:sop-line-grow 0.6s ease forwards;
}

.sop-card {
  background:#fff;
  border:1px solid var(--border-light);
  border-radius:3px;
  padding:28px 24px 24px;
  position:relative;
  overflow:hidden;
  transition:box-shadow 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
  cursor:default;
}
.sop-card::before {
  content:'';
  position:absolute; top:0; left:0; right:0;
  height:2px;
  background:var(--magenta);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 0.4s cubic-bezier(.22,1,.36,1);
}
.sop-card:hover::before { transform:scaleX(1); }
.sop-card:hover {
  box-shadow:0 12px 40px rgba(0,0,0,0.09);
  transform:translateY(-4px);
  border-color:rgba(255,20,147,0.15);
}

.sop-card-num {
  font-family:'Cormorant Garamond',serif;
  font-size:2.4rem; font-weight:300;
  color:var(--magenta); opacity:0.18;
  line-height:1; margin-bottom:14px;
  transition:opacity 0.3s ease;
}
.sop-card:hover .sop-card-num { opacity:0.55; }

.sop-card-icon {
  width:38px; height:38px;
  border-radius:50%;
  background:rgba(255,20,147,0.07);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:14px;
  transition:background 0.3s ease, transform 0.3s ease;
}
.sop-card:hover .sop-card-icon {
  background:rgba(255,20,147,0.14);
  transform:scale(1.08);
}
.sop-card-icon svg { width:18px; height:18px; stroke:var(--magenta); fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }

.sop-card-title {
  font-size:0.72rem; text-transform:uppercase; letter-spacing:2px;
  font-weight:700; color:var(--text-main);
  font-family:'DM Sans',sans-serif; margin:0 0 9px;
}
.sop-card-body {
  font-size:0.83rem; color:var(--text-light); line-height:1.75; margin:0;
}

.sop-checklist-wrap {
  max-width:700px; margin:0 auto;
  background:var(--text-main); color:white;
  border-radius:4px;
  padding:42px 44px;
  position:relative; overflow:hidden;
}
.sop-checklist-wrap::before {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(ellipse at 100% 0%, rgba(255,20,147,0.12) 0%, transparent 60%);
  pointer-events:none;
}
.sop-checklist-title {
  font-size:0.65rem; text-transform:uppercase; letter-spacing:3px;
  color:var(--magenta); font-weight:700;
  text-align:center; margin-bottom:28px;
  font-family:'DM Sans',sans-serif;
}
.sop-checklist-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:14px 36px;
}
.sop-check-item {
  display:flex; align-items:flex-start; gap:10px;
  font-size:0.82rem; color:rgba(255,255,255,0.7); line-height:1.6;
  opacity:0; transform:translateX(-10px);
  transition:opacity 0.5s ease, transform 0.5s ease;
}
.sop-check-item.visible { opacity:1; transform:none; }
.sop-check-dot {
  flex-shrink:0; width:18px; height:18px; border-radius:50%;
  background:rgba(255,20,147,0.15); border:1px solid rgba(255,20,147,0.4);
  display:flex; align-items:center; justify-content:center; margin-top:1px;
  transition:background 0.3s;
}
.sop-check-item:hover .sop-check-dot { background:rgba(255,20,147,0.3); }
.sop-check-dot svg { width:9px; height:9px; stroke:var(--magenta); fill:none; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }

.sop-divider {
  display:block; width:1px; height:60px;
  background:linear-gradient(to bottom, transparent, var(--magenta), transparent);
  margin:0 auto 60px; opacity:0.4;
}

@media (max-width:768px) {
  .sop-diff-grid { grid-template-columns:1fr !important; gap:16px !important; }
  .sop-checklist-grid { grid-template-columns:1fr !important; gap:12px !important; }
  .sop-checklist-wrap { padding:30px 24px; }
  .sop-header { margin-bottom:48px !important; }
}
@media (max-width:480px) {
  .sop-card { padding:22px 18px 18px; }
}

#process {
  padding: 110px 0 100px;
  background: #0e0e0e;
  color: white;
  position: relative;
  overflow: hidden;
}
#process::before {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse at 80% 20%, rgba(255,20,147,0.07) 0%, transparent 50%),
    radial-gradient(ellipse at 10% 80%, rgba(255,20,147,0.04) 0%, transparent 45%);
}

.proc-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 8%;
  position: relative; z-index: 1;
}

.proc-header {
  text-align: center;
  margin-bottom: 64px;
}
.proc-eyebrow {
  font-size: 0.58rem; text-transform: uppercase; letter-spacing: 5px;
  color: var(--magenta); font-weight: 700;
  font-family: 'DM Sans', sans-serif; margin-bottom: 16px;
  display: block;
}
.proc-header h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  font-weight: 600; line-height: 1.0; color: white;
  margin: 0 0 16px; letter-spacing: -0.5px;
}
.proc-header p {
  font-size: 0.88rem; color: rgba(255,255,255,0.42);
  line-height: 1.85; max-width: 480px; margin: 0 auto;
}

.proc-tabs {
  display: flex; align-items: center; justify-content: center;
  gap: 0; margin-bottom: 0;
  position: relative;
}
.proc-tab-connector {
  flex: 1; max-width: 80px; height: 1px;
  background: rgba(255,255,255,0.1);
  position: relative; overflow: hidden;
}
.proc-tab-connector-fill {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  background: var(--magenta);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s ease 0.2s;
}
.proc-tab-connector.active .proc-tab-connector-fill { transform: scaleX(1); }

.proc-tab {
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  cursor: pointer; background: none; border: none; color: white;
  padding: 0; position: relative; z-index: 1;
  transition: transform 0.2s ease;
}
.proc-tab:hover { transform: translateY(-2px); }

.proc-tab-circle {
  width: 52px; height: 52px; border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,0.15);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem; font-weight: 400; color: rgba(255,255,255,0.3);
  background: rgba(255,255,255,0.03);
  transition: all 0.4s cubic-bezier(.22,1,.36,1);
  position: relative; overflow: hidden;
}
.proc-tab-circle::after {
  content: '';
  position: absolute; inset: 0; border-radius: 50%;
  background: var(--magenta);
  transform: scale(0);
  transition: transform 0.4s cubic-bezier(.22,1,.36,1);
  z-index: -1;
}
.proc-tab.active .proc-tab-circle {
  border-color: var(--magenta);
  color: white;
  box-shadow: 0 0 0 6px rgba(255,20,147,0.12), 0 0 28px rgba(255,20,147,0.25);
}
.proc-tab.active .proc-tab-circle::after { transform: scale(1); }
.proc-tab.done .proc-tab-circle {
  border-color: rgba(255,20,147,0.5);
  color: rgba(255,255,255,0.5);
  background: rgba(255,20,147,0.08);
}

.proc-tab-label {
  font-size: 0.6rem; text-transform: uppercase; letter-spacing: 2px;
  color: rgba(255,255,255,0.25); font-family: 'DM Sans', sans-serif;
  font-weight: 700; white-space: nowrap;
  transition: color 0.3s ease;
}
.proc-tab.active .proc-tab-label { color: var(--magenta); }
.proc-tab.done .proc-tab-label { color: rgba(255,255,255,0.35); }

.proc-panel-wrap {
  margin-top: 52px;
  position: relative;
  overflow: hidden;
}

.proc-panel {
  display: none;
  grid-template-columns: 1fr 1.1fr;
  gap: 72px; align-items: center;
}
.proc-panel.active {
  display: grid;
  animation: proc-panel-in 0.45s cubic-bezier(.22,1,.36,1) forwards;
}
.proc-panel.exit-left {
  display: grid;
  animation: proc-panel-out-left 0.35s cubic-bezier(.22,1,.36,1) forwards;
  pointer-events: none;
  position: absolute; top: 0; left: 0; right: 0;
}
.proc-panel.exit-right {
  display: grid;
  animation: proc-panel-out-right 0.35s cubic-bezier(.22,1,.36,1) forwards;
  pointer-events: none;
  position: absolute; top: 0; left: 0; right: 0;
}
@keyframes proc-panel-in-right {
  from { opacity: 0; transform: translateX(40px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes proc-panel-in-left {
  from { opacity: 0; transform: translateX(-40px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes proc-panel-out-left {
  from { opacity: 1; transform: translateX(0); }
  to   { opacity: 0; transform: translateX(-40px); }
}
@keyframes proc-panel-out-right {
  from { opacity: 1; transform: translateX(0); }
  to   { opacity: 0; transform: translateX(40px); }
}
@keyframes proc-panel-in {
  from { opacity: 0; transform: translateX(40px); }
  to   { opacity: 1; transform: translateX(0); }
}

.proc-visual {
  aspect-ratio: 4/3;
  border-radius: 4px;
  position: relative; overflow: hidden;
  background: #1a1a1a;
  border: 1px solid rgba(255,255,255,0.06);
}
.proc-visual picture,
.proc-visual img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(.22,1,.36,1);
}
.proc-panel.active .proc-visual img {
  transform: scale(1.03);
}
.proc-panel.active .proc-visual:hover img {
  transform: scale(1.07);
}
.proc-visual-num {
  position: absolute; bottom: 18px; right: 22px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 5rem; font-weight: 300; color: var(--magenta);
  opacity: 0.08; line-height: 1; user-select: none;
}
.proc-visual-tag {
  position: absolute; top: 18px; left: 18px;
  font-size: 0.58rem; text-transform: uppercase; letter-spacing: 3px;
  color: var(--magenta); font-weight: 700;
  font-family: 'DM Sans', sans-serif;
  background: rgba(255,20,147,0.1);
  border: 1px solid rgba(255,20,147,0.2);
  padding: 5px 10px; border-radius: 2px;
}

.proc-particle {
  position: absolute; border-radius: 50%;
  background: var(--magenta); opacity: 0;
  animation: proc-float 4s ease-in-out infinite;
}
@keyframes proc-float {
  0% { opacity: 0; transform: translateY(0) scale(0.5); }
  20% { opacity: 0.3; }
  80% { opacity: 0.1; }
  100% { opacity: 0; transform: translateY(-80px) scale(0); }
}

.proc-content { }

.proc-step-tag {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 0.6rem; text-transform: uppercase; letter-spacing: 3px;
  color: var(--magenta); font-weight: 700;
  font-family: 'DM Sans', sans-serif; margin-bottom: 16px;
}
.proc-step-tag-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--magenta);
  animation: proc-pulse 2s ease infinite;
}
@keyframes proc-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255,20,147,0.6); }
  50% { box-shadow: 0 0 0 5px rgba(255,20,147,0); }
}

.proc-content h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 600; color: white; line-height: 1.05;
  margin: 0 0 16px;
}
.proc-content p {
  font-size: 0.88rem; color: rgba(255,255,255,0.45);
  line-height: 1.85; margin: 0 0 28px;
}

.proc-facts {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.proc-fact {
  display: flex; align-items: center; gap: 6px;
  font-size: 0.72rem; color: rgba(255,255,255,0.6);
  font-family: 'DM Sans', sans-serif;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  padding: 6px 12px; border-radius: 2px;
  transition: background 0.2s, border-color 0.2s;
}
.proc-fact:hover {
  background: rgba(255,20,147,0.07);
  border-color: rgba(255,20,147,0.2);
}
.proc-fact svg {
  width: 12px; height: 12px; stroke: var(--magenta);
  fill: none; stroke-width: 2; stroke-linecap: round; flex-shrink: 0;
}

.proc-progress-wrap {
  margin-top: 52px;
  display: flex; align-items: center; gap: 16px;
}
.proc-progress-bar {
  flex: 1; height: 2px;
  background: rgba(255,255,255,0.07); border-radius: 2px; overflow: hidden;
}
.proc-progress-fill {
  height: 100%; background: var(--magenta);
  border-radius: 2px;
  transition: width 0.5s cubic-bezier(.22,1,.36,1);
}
.proc-progress-label {
  font-size: 0.7rem; color: rgba(255,255,255,0.25);
  font-family: 'DM Sans', sans-serif; white-space: nowrap;
}

.proc-nav {
  display: flex; gap: 10px;
}
.proc-nav-btn {
  width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.12);
  background: transparent; color: rgba(255,255,255,0.4);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: all 0.25s ease;
}
.proc-nav-btn:hover:not(:disabled) {
  border-color: var(--magenta);
  color: var(--magenta);
  background: rgba(255,20,147,0.07);
}
.proc-nav-btn:disabled { opacity: 0.2; cursor: not-allowed; }
.proc-nav-btn svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; }

@media (max-width: 768px) {
  .proc-panel {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .proc-visual { aspect-ratio: 16/9; order: -1; }
  .proc-tabs { gap: 0; }
  .proc-tab-label { display: none; }
  .proc-tab-connector { max-width: 32px; }
  .proc-panel-wrap { min-height: auto; }
}
@media (max-width: 480px) {
  .proc-tab-circle { width: 42px; height: 42px; font-size: 0.95rem; }
}

#ds-calc-wrap {
    max-width: 560px;
    margin: 0 auto;
    font-family: 'DM Sans', sans-serif;
}

.dsc-step-label {
    font-size: 0.58rem;
    letter-spacing: 3.5px;
    text-transform: uppercase;
    color: var(--magenta);
    font-weight: 700;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.dsc-step-label::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--border-light);
}
.dsc-step-num {
    width: 20px; height: 20px;
    border-radius: 50%;
    background: var(--magenta);
    color: white;
    font-size: 0.6rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.dsc-services {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 6px;
}
.dsc-card {
    position: relative;
    padding: 18px 16px 16px;
    border: 1.5px solid var(--border-light);
    background: var(--bg-lux);
    cursor: pointer;
    transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    overflow: hidden;
}
.dsc-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,20,147,0.05), transparent);
    opacity: 0;
    transition: opacity 0.2s;
}
.dsc-card:hover { border-color: rgba(255,20,147,0.4); transform: translateY(-1px); }
.dsc-card.active {
    border-color: var(--magenta);
    box-shadow: 0 0 0 1px var(--magenta), 0 8px 24px rgba(255,20,147,0.12);
    transform: translateY(-2px);
}
.dsc-card.active::before { opacity: 1; }
.dsc-card-check {
    position: absolute;
    top: 10px; right: 10px;
    width: 18px; height: 18px;
    border-radius: 50%;
    background: var(--magenta);
    display: flex; align-items: center; justify-content: center;
    opacity: 0;
    transform: scale(0);
    transition: opacity 0.2s, transform 0.25s cubic-bezier(0.34,1.56,0.64,1);
}
.dsc-card.active .dsc-card-check { opacity: 1; transform: scale(1); }
.dsc-card-icon {
    display: block;
    width: 28px;
    height: 28px;
    margin-bottom: 10px;
    color: var(--text-lighter);
    transition: color 0.2s;
}
.dsc-card.active .dsc-card-icon { color: var(--magenta); }
.dsc-card-icon svg { width: 100%; height: 100%; stroke: currentColor; fill: none; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.dsc-card-name {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.0rem;
    font-weight: 600;
    color: var(--text-main);
    line-height: 1.1;
    margin-bottom: 4px;
}
.dsc-card-price {
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--magenta);
    letter-spacing: 0.5px;
}

.dsc-service-desc {
    margin-top: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, margin-top 0.2s ease, opacity 0.3s ease;
    opacity: 0;
    padding: 0 2px;
}
.dsc-service-desc.visible {
    max-height: 120px;
    margin-top: 12px;
    opacity: 1;
}
.dsc-service-desc-inner {
    padding: 12px 16px;
    background: rgba(255,20,147,0.04);
    border-left: 2px solid var(--magenta);
    font-size: 0.78rem;
    color: var(--text-light);
    line-height: 1.65;
}
.dsc-service-desc-inner strong {
    color: var(--text-main);
    font-weight: 600;
}

.dsc-county-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0;
    border: 1.5px solid var(--border-light);
    overflow: hidden;
    margin-bottom: 14px;
}
.dsc-county-btn {
    padding: 12px 8px;
    background: var(--bg-lux);
    border: none;
    border-right: 1px solid var(--border-light);
    font-family: 'DM Sans', sans-serif;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--text-lighter);
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.dsc-county-btn:last-child { border-right: none; }
.dsc-county-btn.active {
    background: var(--text-main);
    color: white;
}
.dsc-city-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
}
.dsc-city-pill {
    padding: 9px 8px;
    border: 1.5px solid var(--border-light);
    background: var(--bg-lux);
    font-family: 'DM Sans', sans-serif;
    font-size: 0.68rem;
    font-weight: 500;
    color: var(--text-light);
    cursor: pointer;
    text-align: center;
    transition: border-color 0.15s, background 0.15s, color 0.15s, transform 0.15s;
    -webkit-tap-highlight-color: transparent;
}
.dsc-city-pill:hover { border-color: rgba(255,20,147,0.35); color: var(--text-main); }
.dsc-city-pill.active {
    border-color: var(--magenta);
    background: rgba(255,20,147,0.06);
    color: var(--magenta);
    font-weight: 700;
    transform: scale(1.03);
}
.dsc-city-notice {
    display: none;
    margin-top: 10px;
    padding: 10px 14px;
    background: rgba(255,20,147,0.05);
    border-left: 2px solid var(--magenta);
    font-size: 0.75rem;
    color: var(--text-light);
}

.dsc-addons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.dsc-addon-pill {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    border: 1.5px solid var(--border-light);
    background: var(--bg-lux);
    font-family: 'DM Sans', sans-serif;
    font-size: 0.72rem;
    font-weight: 500;
    color: var(--text-light);
    cursor: pointer;
    transition: all 0.18s;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
}
.dsc-addon-pill:hover { border-color: rgba(255,20,147,0.35); color: var(--text-main); }
.dsc-addon-pill.active {
    border-color: var(--magenta);
    background: rgba(255,20,147,0.07);
    color: var(--magenta);
    font-weight: 700;
}
.dsc-addon-pill .pill-plus {
    width: 16px; height: 16px;
    border-radius: 50%;
    border: 1.5px solid currentColor;
    display: flex; align-items: center; justify-content: center;
    font-size: 0.75rem;
    font-weight: 700;
    transition: background 0.18s;
    flex-shrink: 0;
}
.dsc-addon-pill.active .pill-plus {
    background: var(--magenta);
    border-color: var(--magenta);
    color: white;
}

.dsc-price-bar {
    background: var(--text-main);
    padding: 28px 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    position: relative;
    overflow: hidden;
}
.dsc-price-bar::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 80% 50%, rgba(255,20,147,0.15), transparent 60%);
    pointer-events: none;
}
.dsc-price-label {
    font-size: 0.6rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.45);
    font-weight: 600;
    margin-bottom: 6px;
}
.dsc-price-amount {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2.6rem, 6vw, 3.4rem);
    font-weight: 700;
    color: white;
    line-height: 1;
    transition: color 0.2s;
}
.dsc-price-note {
    font-size: 0.65rem;
    color: rgba(255,255,255,0.3);
    margin-top: 4px;
    letter-spacing: 0.5px;
}

.dsc-proof {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex-shrink: 0;
}
.dsc-proof-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.68rem;
    color: rgba(255,255,255,0.5);
}
.dsc-proof-item strong {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.1rem;
    color: white;
    font-weight: 700;
    line-height: 1;
}
.dsc-proof-item.hot strong { color: var(--magenta); }

.dsc-gift {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
    background: linear-gradient(135deg, rgba(255,20,147,0.07), rgba(255,20,147,0.02));
    border: 1px solid rgba(255,20,147,0.22);
}
.dsc-gift-icon { flex-shrink: 0; opacity: 0.9; }
.dsc-gift-tag {
    font-size: 0.57rem;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--magenta);
    font-weight: 700;
    margin-bottom: 3px;
}
.dsc-gift-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--text-main);
    line-height: 1.2;
}
.dsc-gift-sub {
    font-size: 0.72rem;
    color: var(--text-lighter);
    margin-top: 2px;
}

.dsc-section {
    margin-bottom: 28px;
    animation: dscFadeUp 0.4s ease both;
}
@keyframes dscFadeUp {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}

.dsc-inputs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 12px;
}
.dsc-input {
    padding: 15px 16px;
    border: 1.5px solid var(--border-light);
    font-family: 'DM Sans', sans-serif;
    font-size: 0.88rem;
    color: var(--text-main);
    background: var(--bg-lux);
    outline: none;
    transition: border-color 0.2s;
    width: 100%;
    box-sizing: border-box;
}
.dsc-input:focus { border-color: var(--magenta); }
.dsc-input::placeholder { color: var(--text-lighter); }

.dsc-ctas {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.dsc-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 17px 12px;
    font-family: 'DM Sans', sans-serif;
    font-weight: 800;
    font-size: 0.68rem;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    cursor: pointer;
    border: none;
    transition: all 0.22s;
    position: relative;
    overflow: hidden;
}
.dsc-btn::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.12);
    opacity: 0;
    transition: opacity 0.2s;
}
.dsc-btn:hover::after { opacity: 1; }
.dsc-btn-sms {
    background: var(--text-main);
    color: white;
    border: 1.5px solid var(--text-main);
}
.dsc-btn-sms:hover { background: #1a1a2e; }
.dsc-btn-wa {
    background: #16a34a;
    color: white;
    border: 1.5px solid #16a34a;
}
.dsc-btn-wa:hover { background: #15803d; }

.dsc-btn.pulse {
    animation: dscPulse 1.8s ease-in-out infinite;
}
@keyframes dscPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255,20,147,0.3); }
    50%       { box-shadow: 0 0 0 8px rgba(255,20,147,0); }
}

@keyframes dscCount {
    from { transform: translateY(6px); opacity: 0; }
    to   { transform: translateY(0);   opacity: 1; }
}
.dsc-price-amount.counting {
    animation: dscCount 0.22s ease both;
}

@media (max-width: 480px) {
    .dsc-services { grid-template-columns: 1fr 1fr; }
    .dsc-city-grid { grid-template-columns: repeat(2, 1fr); }
    .dsc-inputs { grid-template-columns: 1fr; }
    .dsc-proof { display: none; }
    .dsc-price-bar { padding: 22px 20px; }
}

.area-tab {
    padding: 12px 28px;
    border: 1px solid var(--border-mid);
    background: white;
    font-family: 'DM Sans', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 1px;
    color: var(--text-light);
    cursor: pointer;
    transition: all 0.25s ease;
    border-radius: 100px;
}
.area-tab:hover {
    border-color: var(--magenta);
    color: var(--magenta);
}
.area-tab.active {
    background: var(--text-main);
    border-color: var(--text-main);
    color: white;
}
.county-panel {
    display: none;
    text-align: center;
    animation: fadeIn 0.3s ease;
}
.county-panel.active {
    display: block;
}
.cities-compact-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    max-width: 800px;
    margin: 0 auto;
}
.city-chip {
    display: inline-block;
    padding: 10px 20px;
    background: white;
    border: 1px solid var(--border-light);
    border-radius: 100px;
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--text-main);
    text-decoration: none;
    transition: all 0.2s ease;
}
.city-chip:hover {
    border-color: var(--text-main);
    background: var(--text-main);
    color: white;
    transform: translateY(-2px);
}
.city-chip.ceramic {
    border-color: rgba(255,20,147,0.3);
    background: rgba(255,20,147,0.04);
    color: var(--magenta);
}
.city-chip.ceramic:hover {
    background: var(--magenta);
    border-color: var(--magenta);
    color: white;
}
@media (max-width: 600px) {
    .area-tab {
        padding: 10px 20px;
        font-size: 0.72rem;
    }
    .city-chip {
        padding: 8px 16px;
        font-size: 0.78rem;
    }
}

    .county-block {
        max-width: 1200px;
        margin: 0 auto 52px;
        padding: 0 8%;
    }

    .county-label {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 0.6rem;
        text-transform: uppercase;
        letter-spacing: 3.5px;
        font-weight: 700;
        color: var(--text-lighter);
        margin-bottom: 20px;
        padding-bottom: 14px;
        border-bottom: 1px solid var(--border-light);
    }

    .county-dot {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--text-main);
        display: inline-block;
        flex-shrink: 0;
    }

    .cities-section .section-title {
        margin-bottom: 16px;
    }

@media (max-width: 900px) {
        #concierge > div > div {
            grid-template-columns: 1fr !important;
            gap: 56px !important;
        }
    }
    @media (max-width: 640px) {
        #collectors-vault > div > div {
            padding: 44px 28px !important;
        }
        #vault-form {
            grid-template-columns: 1fr !important;
        }
    }

    @media (max-width: 900px) {
        .video-reel-header { grid-template-columns: 1fr !important; gap: 40px !important; }
        .video-grid-mini { grid-template-columns: 1fr 1fr 1fr !important; }
        .benefits-grid-wrap { grid-template-columns: 1fr 1fr !important; }
        .pres-cols { grid-template-columns: 1fr !important; }
        .brands-row { grid-template-columns: repeat(4,1fr) !important; }
        .process-layout { grid-template-columns: 1fr !important; gap: 48px !important; }
    }
    @media (max-width: 540px) {
        .benefits-grid-wrap { grid-template-columns: 1fr !important; }
        .brands-row { grid-template-columns: repeat(2,1fr) !important; }
    }

@media (max-width: 900px) {
        #journal > div > div:last-child { grid-template-columns: 1fr 1fr !important; }
    }
    @media (max-width: 560px) {
        #journal > div > div:last-child { grid-template-columns: 1fr !important; }
    }

@media (max-width: 900px) {
    footer > div > div:first-child {
        grid-template-columns: 1fr 1fr !important;
        gap: 40px !important;
    }
}
@media (max-width: 600px) {
    footer > div > div:first-child {
        grid-template-columns: 1fr !important;
        text-align: center !important;
    }
    footer > div > div:first-child > div:first-child {
        align-items: center;
    }
    footer > div > div:first-child > div:first-child > p {
        max-width: 100% !important;
    }
    footer > div > div:first-child > div:first-child > div:last-child {
        justify-content: center;
    }
    footer > div > div:last-child {
        justify-content: center !important;
        text-align: center;
    }
}

.ig-tooltip {
    display: none;
    position: absolute;
    bottom: calc(100% + 10px);
    left: 50%; transform: translateX(-50%);
    background: var(--magenta);
    color: white;
    font-size: 0.7rem; font-weight: 700;
    letter-spacing: 1px;
    padding: 7px 14px;
    border-radius: 3px;
    white-space: nowrap;
    pointer-events: none;
    z-index: 10;
    align-items: center;
}
.ig-tooltip::after {
    content: '';
    position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: var(--magenta);
}
.stat-item-ig:hover .ig-tooltip { display: flex; }

.testimonials-section .stats-bar .stat-number {
    color: var(--text-main) !important;
    text-shadow: none !important;
    -webkit-text-fill-color: var(--text-main) !important;
}
.testimonials-section .stats-bar .stat-label {
    color: var(--text-light) !important;
    text-shadow: none !important;
}
.testimonials-section .stats-bar {
    background: var(--bg-warm);
    border: 1px solid var(--border-light);
    border-radius: 3px;
    padding: 32px 40px;
    display: flex; justify-content: center; gap: 64px;
}

.video-grid-mini > div {
    position: relative;
    overflow: hidden;
    height: auto !important;
}
.video-grid-mini video {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover;
    display: block;
    position: static !important;
}

@media (max-width: 768px) {
    .video-grid-mini {
        grid-template-columns: 1fr 1fr 1fr !important;
    }
    .video-grid-mini video {
        height: 140px !important;
    }
}

@media (max-width: 480px) {
    .video-grid-mini video {
        height: 110px !important;
    }
}

.calc-section > .calc-container {
    max-width: 580px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
@media (max-width: 540px) {
    .calc-contact-grid {
        grid-template-columns: 1fr !important;
    }
    .calc-cta-grid {
        grid-template-columns: 1fr !important;
    }
}

#collectors-vault {
    background: var(--text-main) !important;
    position: relative;
    overflow: hidden;
}
#collectors-vault::before {
    content: '';
    position: absolute; inset: 0;
    background:
        url('/images/process/step04-ceramic-coating-application-dshine-professional-miami.jpg') center/cover no-repeat;
    opacity: 0.08;
    pointer-events: none;
}
#collectors-vault::after {
    content: '';
    position: absolute; inset: 0;
    background: radial-gradient(ellipse at 80% 50%, rgba(255,20,147,0.12) 0%, transparent 60%),
                radial-gradient(ellipse at 10% 80%, rgba(255,20,147,0.06) 0%, transparent 50%);
    pointer-events: none;
}
#collectors-vault > div {
    position: relative; z-index: 1;
}
#collectors-vault .vault-card {
    background: rgba(255,255,255,0.04) !important;
    border-color: rgba(255,20,147,0.35) !important;
    box-shadow: 0 0 60px rgba(255,20,147,0.1), 0 24px 60px rgba(0,0,0,0.3) !important;
    backdrop-filter: blur(10px);
}
#collectors-vault .vault-card h2 { color: white !important; }
#collectors-vault .vault-card p { color: rgba(255,255,255,0.65) !important; }
#collectors-vault .vault-card > div > div:last-of-type > p { color: rgba(255,255,255,0.45) !important; }
#collectors-vault input {
    background: rgba(255,255,255,0.07) !important;
    border-color: rgba(255,255,255,0.12) !important;
    color: white !important;
}
#collectors-vault input::placeholder { color: rgba(255,255,255,0.35) !important; }

footer > div > div:first-child {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 48px;
}
@media (max-width: 900px) {
    footer > div > div:first-child {
        grid-template-columns: 1fr 1fr !important;
        gap: 36px !important;
    }
}
@media (max-width: 560px) {
    footer > div > div:first-child {
        grid-template-columns: 1fr !important;
        text-align: center !important;
        gap: 28px !important;
    }
    footer > div > div:first-child > div:first-child > div[style*="display:flex"] {
        justify-content: center !important;
    }
    footer > div > div:last-child {
        flex-direction: column !important;
        text-align: center;
    }
}

#mobile-menu.mobile-menu-overlay {
    display: none;
    position: fixed; inset: 0; z-index: 99999;
    background: rgba(0,0,0,0.6);
    backdrop-filter: blur(4px);
}
#mobile-menu.mobile-menu-overlay.active {
    display: flex !important;
}
.mobile-menu-btn {
    position: relative;
    z-index: 100000 !important;
}

.dsc-tier-card {
    border: 1.5px solid rgba(0,0,0,0.08);
    border-radius: 12px;
    padding: 14px 10px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
    background: white;
    position: relative;
}
.dsc-tier-card:hover {
    border-color: var(--magenta);
    box-shadow: 0 4px 16px rgba(255,20,147,0.1);
    transform: translateY(-2px);
}
.dsc-tier-card.active {
    border-color: var(--magenta);
    background: linear-gradient(135deg, rgba(255,20,147,0.04) 0%, rgba(255,20,147,0.01) 100%);
    box-shadow: 0 4px 20px rgba(255,20,147,0.15);
}
.dsc-tier-badge {
    display: inline-block;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    background: rgba(0,0,0,0.06);
    color: var(--text-light);
    padding: 3px 8px;
    border-radius: 20px;
    margin-bottom: 8px;
}
.dsc-tier-badge.popular {
    background: var(--magenta);
    color: white;
}
.dsc-tier-badge.premium {
    background: linear-gradient(135deg, #1a1a1a, #444);
    color: white;
}
.dsc-tier-brand {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-main);
    margin-bottom: 4px;
}
.dsc-tier-price {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--magenta);
    margin-bottom: 6px;
    font-family: 'DM Sans', sans-serif;
}
.dsc-tier-desc {
    font-size: 0.62rem;
    color: var(--text-lighter);
    line-height: 1.5;
    letter-spacing: 0.3px;
}

@media (max-width: 480px) {
    .dsc-tier-grid {
        gap: 6px !important;
    }
    .dsc-tier-card {
        padding: 10px 6px;
        border-radius: 10px;
    }
    .dsc-tier-badge {
        font-size: 0.52rem;
        letter-spacing: 1px;
        padding: 2px 6px;
        margin-bottom: 6px;
    }
    .dsc-tier-brand {
        font-size: 0.85rem;
        margin-bottom: 3px;
    }
    .dsc-tier-price {
        font-size: 1rem;
        margin-bottom: 4px;
    }
    .dsc-tier-desc {
        font-size: 0.55rem;
        line-height: 1.4;
    }
}

.process-steps-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2px;
  background: #e5e5e5;
}
@media (max-width: 900px) {
  .process-steps-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 480px) {
  .process-steps-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ---- head-style ---- */
@media (max-width: 991px) {
      div[style*="repeat(5,1fr)"] {
        grid-template-columns: repeat(3, 1fr) !important;
      }
    }
    @media (max-width: 767px) {
      div[style*="repeat(5,1fr)"] {
        grid-template-columns: repeat(2, 1fr) !important;
      }

      div[style*="repeat(5,1fr)"] {
        width: 100% !important;
      }
    }
    @media (max-width: 479px) {
      div[style*="repeat(5,1fr)"] {
        grid-template-columns: repeat(1, 1fr) !important;
      }
    }

/* ---- head-style ---- */
*,*::before,*::after{box-sizing:border-box;}
.ds4-nav{
  background:rgba(255,255,255,0.88);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid rgba(0,0,0,.07);
  position:sticky;top:0;z-index:9000;
  height:60px;font-family:'DM Sans',sans-serif;
  overflow:hidden;
}
.ds4-inner{
  max-width:none;margin:0 auto;padding:0 3%;
  height:60px;display:flex;align-items:center;justify-content:space-between;
}

.ds4-logo{font-family:'DM Sans',sans-serif;font-weight:700;font-size:1.1rem;
  letter-spacing:5px;text-decoration:none;color:#0d0d0d;flex-shrink:0;}
.ds4-logo span{color:#FF1493;}

.ds4-links{
  display:flex;align-items:center;justify-content:center;
  flex:1;gap:0;height:60px;
}
.ds4-item{position:relative;height:60px;display:flex;align-items:center;}
.ds4-btn{
  background:none;border:none;
  font-family:'DM Sans',sans-serif;font-size:.62rem;font-weight:500;
  color:#555;letter-spacing:1.6px;text-transform:uppercase;
  padding:0 14px;height:60px;cursor:pointer;
  display:flex;align-items:center;gap:3px;
  text-decoration:none;white-space:nowrap;
  transition:color .15s;
}
.ds4-btn:hover,.ds4-btn.ds4-active{color:#FF1493;}
.ds4-btn .ds4-ch{font-size:.45rem;opacity:.55;transition:transform .25s,opacity .2s;}
.ds4-btn.ds4-active .ds4-ch{transform:rotate(180deg);opacity:1;color:#FF1493;}

.ds4-right{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.ds4-phone{text-decoration:none;color:#0d0d0d;font-size:.63rem;font-weight:700;
  letter-spacing:1.4px;white-space:nowrap;
  border:1.5px solid #0d0d0d;padding:8px 14px;transition:all .2s;}
.ds4-phone:hover{background:#FF1493;border-color:#FF1493;color:#fff;}
.ds4-book{background:#FF1493;color:#fff;text-decoration:none;
  font-size:.62rem;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;
  padding:9px 16px;transition:background .2s;white-space:nowrap;}
.ds4-book:hover{background:#c9106f;}
.ds4-ham{display:none;flex-direction:column;gap:5px;background:none;
  border:none;cursor:pointer;padding:8px;flex-shrink:0;}
.ds4-ham span{display:block;width:22px;height:2px;background:#0d0d0d;
  border-radius:2px;transition:all .25s;}

.ds4-dd{
  display:none;
  position:fixed;top:60px;left:0;right:0;
  background:rgba(255,255,255,0.96);
  backdrop-filter:saturate(180%) blur(24px);
  -webkit-backdrop-filter:saturate(180%) blur(24px);
  border-bottom:1px solid rgba(0,0,0,.07);
  z-index:8900;
  animation:ds4drop .2s cubic-bezier(.2,0,0,1) forwards;
}
.ds4-dd.ds4-open{display:block;}
@keyframes ds4drop{
  from{opacity:0;transform:translateY(-6px);}
  to{opacity:1;transform:translateY(0);}
}
.ds4-dd-inner{max-width:1280px;margin:0 auto;padding:28px;}

.ds4-svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.ds4-svc-col{padding:0 24px 20px;border-right:1px solid rgba(0,0,0,.06);}
.ds4-svc-col:first-child{padding-left:0;}
.ds4-svc-col:last-child{border-right:none;}
.ds4-svc-title{font-size:.6rem;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;color:#FF1493;
  margin-bottom:14px;padding-bottom:10px;
  border-bottom:1px solid rgba(233,30,140,.15);}
.ds4-svc-item{display:flex;align-items:center;gap:10px;
  padding:8px 10px;text-decoration:none;
  border-radius:6px;transition:background .15s;margin-bottom:2px;}
.ds4-svc-item:hover{background:rgba(0,0,0,.04);}
.ds4-svc-icon{width:30px;height:30px;border-radius:6px;
  background:rgba(255,20,147,.07);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:.55rem;font-weight:700;letter-spacing:0;color:#FF1493;}
.ds4-svc-name{font-size:.75rem;font-weight:500;color:#1d1d1f;line-height:1.3;}
.ds4-svc-desc{font-size:.67rem;color:#86868b;margin-top:1px;}

.ds4-vip-grid{display:flex;gap:16px;}
.ds4-vip-card{flex:1;max-width:280px;padding:20px;
  border:1px solid rgba(0,0,0,.08);border-radius:10px;
  text-decoration:none;transition:border-color .2s,box-shadow .2s;display:block;}
.ds4-vip-card:hover{border-color:#FF1493;box-shadow:0 4px 20px rgba(233,30,140,.1);}
.ds4-vip-card.ds4-featured{background:#FF1493;border-color:#FF1493;}
.ds4-vip-badge{font-size:.55rem;font-weight:700;letter-spacing:1.5px;
  text-transform:uppercase;color:#FF1493;margin-bottom:8px;}
.ds4-vip-card.ds4-featured .ds4-vip-badge{color:rgba(255,255,255,.75);}
.ds4-vip-title{font-family:'Cormorant Garamond',serif;font-size:1.15rem;
  font-weight:600;color:#1d1d1f;margin-bottom:6px;}
.ds4-vip-card.ds4-featured .ds4-vip-title,
.ds4-vip-card.ds4-featured .ds4-vip-desc,
.ds4-vip-card.ds4-featured .ds4-vip-cta{color:#fff;}
.ds4-vip-desc{font-size:.7rem;color:#555;line-height:1.6;margin-bottom:12px;}
.ds4-vip-cta{font-size:.7rem;font-weight:600;color:#FF1493;}
.ds4-vip-side{max-width:200px;padding:20px;
  background:rgba(0,0,0,.02);border-radius:10px;
  display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;}

.ds4-areas-layout{display:flex;gap:0;}
.ds4-county-sidebar{display:flex;flex-direction:column;gap:2px;
  min-width:160px;padding-right:24px;border-right:1px solid rgba(0,0,0,.07);}
.ds4-county-btn{background:none;border:none;cursor:pointer;
  font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:500;
  color:#555;padding:10px 14px;border-radius:6px;
  display:flex;justify-content:space-between;align-items:center;
  transition:background .15s,color .15s;white-space:nowrap;text-align:left;}
.ds4-county-btn:hover,.ds4-county-btn.ds4-active{
  background:rgba(255,20,147,.07);color:#FF1493;}
.ds4-county-count{font-size:.6rem;opacity:.6;margin-left:6px;}
.ds4-cities-wrap{flex:1;padding-left:24px;}
.ds4-city-panel{display:none;}
.ds4-city-panel.ds4-active{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;}
.ds4-city-link{display:block;padding:9px 12px;text-decoration:none;
  color:#333;font-size:.72rem;border-radius:6px;transition:background .12s,color .12s;}
.ds4-city-link:hover{background:rgba(255,20,147,.07);color:#FF1493;}

.ds4-mob{display:none;position:fixed;inset:0;background:#fff;
  z-index:99999;flex-direction:column;overflow:hidden;}
.ds4-mob.ds4-open{display:flex;}
.ds4-mob-hd{display:flex;justify-content:space-between;align-items:center;
  padding:0 20px;height:56px;border-bottom:1px solid #f0f0f0;flex-shrink:0;}
.ds4-mob-logo{font-family:'DM Sans',sans-serif;font-size:.95rem;font-weight:700;
  letter-spacing:3px;text-decoration:none;color:#0a0a0a;text-transform:uppercase;}
.ds4-mob-logo span{color:#FF1493;}
.ds4-mob-close{width:34px;height:34px;border-radius:50%;background:#f5f5f5;
  border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.ds4-mob-quick{display:grid;grid-template-columns:1fr 1fr 1fr;
  border-bottom:1px solid #f0f0f0;flex-shrink:0;}
.ds4-mob-qa{display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:3px;padding:11px 4px;text-decoration:none;
  border-right:1px solid #f0f0f0;}
.ds4-mob-qa:last-child{border-right:none;}
.ds4-mob-qa-icon{width:26px;height:26px;border-radius:7px;display:flex;
  align-items:center;justify-content:center;}
.ds4-mob-qa-icon.bk{background:#0a0a0a;}
.ds4-mob-qa-icon.wa{background:#25D366;}
.ds4-mob-qa-icon.pr{background:#FF1493;}
.ds4-mob-qa-label{font-size:10px;font-weight:500;color:#666;letter-spacing:.3px;}
.ds4-mob-tabs{display:flex;padding:12px 16px 0;flex-shrink:0;
  border-bottom:1px solid #f0f0f0;}
.ds4-mob-tab{flex:1;padding:8px 4px 11px;border:none;
  border-bottom:2px solid transparent;background:transparent;font-size:10.5px;
  font-weight:600;color:#aaa;cursor:pointer;text-align:center;letter-spacing:.8px;
  text-transform:uppercase;font-family:'DM Sans',sans-serif;
  transition:color .2s,border-color .2s;}
.ds4-mob-tab.ds4-mt-active{color:#0a0a0a;border-bottom-color:#FF1493;}
.ds4-mob-panels{flex:1;overflow:hidden;position:relative;}
.ds4-mob-panel{position:absolute;inset:0;overflow-y:auto;opacity:0;
  pointer-events:none;transform:translateX(12px);
  transition:opacity .2s ease,transform .2s ease;}
.ds4-mob-panel.ds4-mp-active{opacity:1;pointer-events:all;transform:translateX(0);}
.ds4-mob-featured{margin:14px 16px 0;background:#0a0a0a;border-radius:13px;
  padding:16px 18px;text-decoration:none;display:flex;align-items:center;
  justify-content:space-between;}
.ds4-mob-ft-tag{font-size:9px;font-weight:600;letter-spacing:1.5px;
  text-transform:uppercase;color:#FF1493;margin-bottom:5px;}
.ds4-mob-ft-name{font-size:15px;font-weight:700;color:#fff;
  line-height:1.2;margin-bottom:3px;}
.ds4-mob-ft-desc{font-size:11px;color:rgba(255,255,255,.4);}
.ds4-mob-ft-arr{width:30px;height:30px;border-radius:50%;
  background:rgba(255,255,255,.08);display:flex;align-items:center;
  justify-content:center;flex-shrink:0;}
.ds4-mob-svc-list{padding:6px 16px 14px;}
.ds4-mob-svc-item{display:flex;align-items:center;justify-content:space-between;
  padding:12px 0;border-bottom:1px solid #f5f5f5;text-decoration:none;}
.ds4-mob-svc-item:last-child{border-bottom:none;}
.ds4-mob-svc-name{font-size:13px;font-weight:600;color:#0a0a0a;}
.ds4-mob-svc-sub{font-size:11px;color:#aaa;font-weight:400;margin-top:1px;}
.ds4-mob-county-bar{display:flex;margin:14px 16px 0;background:#f5f5f5;
  border-radius:10px;padding:3px;}
.ds4-mob-county-tab{flex:1;padding:7px 4px;border-radius:8px;background:transparent;
  border:none;font-size:9.5px;font-weight:600;color:#888;cursor:pointer;
  letter-spacing:.5px;text-transform:uppercase;font-family:'DM Sans',sans-serif;
  text-align:center;line-height:1.4;transition:all .18s;}
.ds4-mob-county-tab.ds4-ct-active{background:#fff;color:#0a0a0a;
  box-shadow:0 1px 4px rgba(0,0,0,.1);}
.ds4-mob-city-panel{display:none;padding:10px 16px 14px;
  grid-template-columns:1fr 1fr 1fr;gap:5px;}
.ds4-mob-city-panel.ds4-cp-active{display:grid;}
.ds4-mob-city-link{padding:9px 6px;background:#f8f8f8;border-radius:8px;
  font-size:10.5px;font-weight:500;color:#0a0a0a;text-decoration:none;
  text-align:center;line-height:1.2;border:1px solid transparent;
  transition:all .13s;}
.ds4-mob-city-link:active{background:#fff;border-color:#FF1493;color:#FF1493;}
.ds4-mob-more-list{padding:10px 16px 14px;display:flex;flex-direction:column;}
.ds4-mob-more-item{display:flex;align-items:center;justify-content:space-between;
  padding:14px 0;border-bottom:1px solid #f5f5f5;text-decoration:none;}
.ds4-mob-more-item:last-child{border-bottom:none;}
.ds4-mob-more-name{font-size:13px;font-weight:500;color:#0a0a0a;}
.ds4-mob-cta{padding:10px 16px 14px;flex-shrink:0;border-top:1px solid #f0f0f0;}
.ds4-mob-phone{display:flex;align-items:center;justify-content:center;gap:9px;
  padding:14px;background:#FF1493;border-radius:12px;font-size:13px;
  font-weight:600;color:#fff;text-decoration:none;letter-spacing:.3px;}
.ds4-mob-phone:hover{background:#d4007b;}

.ds4-qa-overlay{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease;}
.ds4-qa-overlay.ds4-qa-open{opacity:1;pointer-events:all;}
.ds4-qa-sheet{width:100%;max-width:480px;background:#111;border-radius:20px 20px 0 0;padding:0 0 28px;transform:translateY(40px);transition:transform .32s cubic-bezier(.4,0,.2,1);max-height:88vh;overflow-y:auto;position:relative;}
.ds4-qa-overlay.ds4-qa-open .ds4-qa-sheet{transform:translateY(0);}
.ds4-qa-handle{display:flex;justify-content:center;padding:12px 0 4px;}
.ds4-qa-handle-bar{width:36px;height:4px;border-radius:2px;background:rgba(255,255,255,.12);}
.ds4-qa-close{position:absolute;top:14px;right:16px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.07);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.ds4-qa-hd{padding:4px 20px 18px;border-bottom:1px solid rgba(255,255,255,.07);}
.ds4-qa-brand-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.ds4-qa-brand-icon{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ds4-qa-brand-icon.ds4-qa-wa{background:#25D366;}
.ds4-qa-brand-icon.ds4-qa-sms{background:#0a0a0a;border:1px solid rgba(255,255,255,.1);}
.ds4-qa-brand-tag{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:2px;font-family:'DM Sans',sans-serif;}
.ds4-qa-brand-tag.ds4-qa-wa{color:#25D366;}
.ds4-qa-brand-tag.ds4-qa-sms{color:rgba(255,255,255,.35);}
.ds4-qa-brand-sub{font-size:10px;color:rgba(255,255,255,.25);font-family:'DM Sans',sans-serif;}
.ds4-qa-title{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:400;color:#fff;line-height:1.2;}
.ds4-qa-title em{font-style:italic;font-weight:300;}
.ds4-qa-title em.ds4-qa-wa{color:#25D366;}
.ds4-qa-title em.ds4-qa-sms{color:rgba(255,255,255,.4);}
.ds4-qa-sub{font-size:.73rem;color:rgba(255,255,255,.3);margin-top:5px;line-height:1.5;font-family:'DM Sans',sans-serif;}
.ds4-qa-fields{padding:16px 20px 0;display:flex;flex-direction:column;gap:9px;}
.ds4-qa-input{width:100%;padding:13px 14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:9px;color:#fff;font-size:.8rem;font-family:'DM Sans',sans-serif;outline:none;transition:border-color .2s;-webkit-appearance:none;box-sizing:border-box;}
.ds4-qa-input::placeholder{color:rgba(255,255,255,.22);}
.ds4-qa-input:focus{border-color:var(--ds4-qa-accent);}
.ds4-qa-vehicle-row{display:grid;grid-template-columns:84px 1fr;gap:9px;}
.ds4-qa-btn{margin:14px 20px 0;width:calc(100% - 40px);display:flex;align-items:center;justify-content:center;gap:9px;padding:15px;border:none;border-radius:11px;font-size:.8rem;font-weight:700;letter-spacing:.4px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:opacity .2s;}
.ds4-qa-btn:active{opacity:.85;}
.ds4-qa-btn.ds4-qa-wa{background:#25D366;color:#fff;}
.ds4-qa-btn.ds4-qa-sms{background:#fff;color:#0a0a0a;}
.ds4-qa-footer{text-align:center;font-size:.63rem;color:rgba(255,255,255,.18);margin-top:10px;padding:0 20px;font-family:'DM Sans',sans-serif;}
.ds4-qa-footer a{color:rgba(255,255,255,.3);text-decoration:none;}

@media(max-width:1280px){
  .ds4-btn{padding:0 7px;font-size:.58rem;}
  .ds4-phone{display:none;}
}
@media(max-width:1024px){
  .ds4-links,.ds4-phone{display:none;}
  .ds4-ham{display:flex;}
  .ds4-book{display:none;}
}

.ds4-byloc{border-top:1px solid rgba(0,0,0,.06);margin-top:16px;padding-top:14px;}
.ds4-byloc-hd{display:flex;align-items:center;gap:16px;margin-bottom:10px;flex-wrap:wrap;}
.ds4-byloc-label{font-size:.58rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#FF1493;white-space:nowrap;}
.ds4-byloc-tabs{display:flex;gap:5px;flex-wrap:wrap;}
.ds4-stab{background:none;border:1px solid rgba(0,0,0,.15);cursor:pointer;font-family:'DM Sans',sans-serif;font-size:.62rem;font-weight:500;color:#555;padding:5px 11px;border-radius:20px;transition:all .15s;white-space:nowrap;}
.ds4-stab:hover{border-color:#FF1493;color:#FF1493;}
.ds4-stab.ds4-stab-on{background:#FF1493;border-color:#FF1493;color:#fff;}
.ds4-byloc-cities{display:flex;flex-wrap:wrap;gap:2px 4px;align-items:baseline;}
.ds4-byloc-county{font-size:.52rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#bbb;padding:5px 2px 2px;width:100%;margin-top:4px;}
.ds4-byloc-cities a{font-size:.68rem;color:#444;text-decoration:none;padding:4px 9px;border-radius:4px;transition:background .12s,color .12s;white-space:nowrap;}
.ds4-byloc-cities a:hover{background:rgba(255,20,147,.07);color:#FF1493;}

.ds4-m-svc{color:#FF1493 !important;font-size:.62rem !important;margin-top:12px;}

/* ---- dshine-nav-v4 ---- */
/* === DSHINE NAV V4 === */
*,*::before,*::after{box-sizing:border-box;}
.ds4-nav{
  background:rgba(255,255,255,0.88);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid rgba(0,0,0,.07);
  position:sticky;top:0;z-index:9000;
  height:60px;font-family:'DM Sans',sans-serif;
  overflow:hidden;
}
.ds4-inner{
  max-width:none;margin:0 auto;padding:0 3%;
  height:60px;display:flex;align-items:center;justify-content:space-between;
}
/* LOGO */
.ds4-logo{font-family:'DM Sans',sans-serif;font-weight:700;font-size:1.1rem;
  letter-spacing:5px;text-decoration:none;color:#0d0d0d;flex-shrink:0;}
.ds4-logo span{color:#FF1493;}
/* CENTER LINKS */
.ds4-links{
  display:flex;align-items:center;justify-content:center;
  flex:1;gap:0;height:60px;
}
.ds4-item{position:relative;height:60px;display:flex;align-items:center;}
.ds4-btn{
  background:none;border:none;
  font-family:'DM Sans',sans-serif;font-size:.62rem;font-weight:500;
  color:#555;letter-spacing:1.6px;text-transform:uppercase;
  padding:0 14px;height:60px;cursor:pointer;
  display:flex;align-items:center;gap:3px;
  text-decoration:none;white-space:nowrap;
  transition:color .15s;
}
.ds4-btn:hover,.ds4-btn.ds4-active{color:#FF1493;}
.ds4-btn .ds4-ch{font-size:.45rem;opacity:.55;transition:transform .25s,opacity .2s;}
.ds4-btn.ds4-active .ds4-ch{transform:rotate(180deg);opacity:1;color:#FF1493;}
/* RIGHT */
.ds4-right{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.ds4-phone{text-decoration:none;color:#0d0d0d;font-size:.63rem;font-weight:700;
  letter-spacing:1.4px;white-space:nowrap;
  border:1.5px solid #0d0d0d;padding:8px 14px;transition:all .2s;}
.ds4-phone:hover{background:#FF1493;border-color:#FF1493;color:#fff;}
.ds4-book{background:#FF1493;color:#fff;text-decoration:none;
  font-size:.62rem;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;
  padding:9px 16px;transition:background .2s;white-space:nowrap;}
.ds4-book:hover{background:#c9106f;}
.ds4-ham{display:none;flex-direction:column;gap:5px;background:none;
  border:none;cursor:pointer;padding:8px;flex-shrink:0;}
.ds4-ham span{display:block;width:22px;height:2px;background:#0d0d0d;
  border-radius:2px;transition:all .25s;}

/* DROPDOWN BASE */
.ds4-dd{
  display:none;
  position:fixed;top:60px;left:0;right:0;
  background:rgba(255,255,255,0.96);
  backdrop-filter:saturate(180%) blur(24px);
  -webkit-backdrop-filter:saturate(180%) blur(24px);
  border-bottom:1px solid rgba(0,0,0,.07);
  z-index:8900;
  animation:ds4drop .2s cubic-bezier(.2,0,0,1) forwards;
}
.ds4-dd.ds4-open{display:block;}
@keyframes ds4drop{
  from{opacity:0;transform:translateY(-6px);}
  to{opacity:1;transform:translateY(0);}
}
.ds4-dd-inner{max-width:1280px;margin:0 auto;padding:28px;}

/* SERVICES MEGA MENU */
.ds4-svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.ds4-svc-col{padding:0 24px 20px;border-right:1px solid rgba(0,0,0,.06);}
.ds4-svc-col:first-child{padding-left:0;}
.ds4-svc-col:last-child{border-right:none;}
.ds4-svc-title{font-size:.6rem;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;color:#FF1493;
  margin-bottom:14px;padding-bottom:10px;
  border-bottom:1px solid rgba(233,30,140,.15);}
.ds4-svc-item{display:flex;align-items:center;gap:10px;
  padding:8px 10px;text-decoration:none;
  border-radius:6px;transition:background .15s;margin-bottom:2px;}
.ds4-svc-item:hover{background:rgba(0,0,0,.04);}
.ds4-svc-icon{width:30px;height:30px;border-radius:6px;
  background:rgba(255,20,147,.07);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:.55rem;font-weight:700;letter-spacing:0;color:#FF1493;}
.ds4-svc-name{font-size:.75rem;font-weight:500;color:#1d1d1f;line-height:1.3;}
.ds4-svc-desc{font-size:.67rem;color:#86868b;margin-top:1px;}

/* VIP DROPDOWN */
.ds4-vip-grid{display:flex;gap:16px;}
.ds4-vip-card{flex:1;max-width:280px;padding:20px;
  border:1px solid rgba(0,0,0,.08);border-radius:10px;
  text-decoration:none;transition:border-color .2s,box-shadow .2s;display:block;}
.ds4-vip-card:hover{border-color:#FF1493;box-shadow:0 4px 20px rgba(233,30,140,.1);}
.ds4-vip-card.ds4-featured{background:#FF1493;border-color:#FF1493;}
.ds4-vip-badge{font-size:.55rem;font-weight:700;letter-spacing:1.5px;
  text-transform:uppercase;color:#FF1493;margin-bottom:8px;}
.ds4-vip-card.ds4-featured .ds4-vip-badge{color:rgba(255,255,255,.75);}
.ds4-vip-title{font-family:'Cormorant Garamond',serif;font-size:1.15rem;
  font-weight:600;color:#1d1d1f;margin-bottom:6px;}
.ds4-vip-card.ds4-featured .ds4-vip-title,
.ds4-vip-card.ds4-featured .ds4-vip-desc,
.ds4-vip-card.ds4-featured .ds4-vip-cta{color:#fff;}
.ds4-vip-desc{font-size:.7rem;color:#555;line-height:1.6;margin-bottom:12px;}
.ds4-vip-cta{font-size:.7rem;font-weight:600;color:#FF1493;}
.ds4-vip-side{max-width:200px;padding:20px;
  background:rgba(0,0,0,.02);border-radius:10px;
  display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;}

/* AREAS DROPDOWN */
.ds4-areas-layout{display:flex;gap:0;}
.ds4-county-sidebar{display:flex;flex-direction:column;gap:2px;
  min-width:160px;padding-right:24px;border-right:1px solid rgba(0,0,0,.07);}
.ds4-county-btn{background:none;border:none;cursor:pointer;
  font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:500;
  color:#555;padding:10px 14px;border-radius:6px;
  display:flex;justify-content:space-between;align-items:center;
  transition:background .15s,color .15s;white-space:nowrap;text-align:left;}
.ds4-county-btn:hover,.ds4-county-btn.ds4-active{
  background:rgba(255,20,147,.07);color:#FF1493;}
.ds4-county-count{font-size:.6rem;opacity:.6;margin-left:6px;}
.ds4-cities-wrap{flex:1;padding-left:24px;}
.ds4-city-panel{display:none;}
.ds4-city-panel.ds4-active{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;}
.ds4-city-link{display:block;padding:9px 12px;text-decoration:none;
  color:#333;font-size:.72rem;border-radius:6px;transition:background .12s,color .12s;}
.ds4-city-link:hover{background:rgba(255,20,147,.07);color:#FF1493;}

/* MOBILE */
.ds4-mob{display:none;position:fixed;inset:0;background:#fff;
  z-index:99999;flex-direction:column;overflow:hidden;}
.ds4-mob.ds4-open{display:flex;}
.ds4-mob-hd{display:flex;justify-content:space-between;align-items:center;
  padding:0 20px;height:56px;border-bottom:1px solid #f0f0f0;flex-shrink:0;}
.ds4-mob-logo{font-family:'DM Sans',sans-serif;font-size:.95rem;font-weight:700;
  letter-spacing:3px;text-decoration:none;color:#0a0a0a;text-transform:uppercase;}
.ds4-mob-logo span{color:#FF1493;}
.ds4-mob-close{width:34px;height:34px;border-radius:50%;background:#f5f5f5;
  border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.ds4-mob-quick{display:grid;grid-template-columns:1fr 1fr 1fr;
  border-bottom:1px solid #f0f0f0;flex-shrink:0;}
.ds4-mob-qa{display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:3px;padding:11px 4px;text-decoration:none;
  border-right:1px solid #f0f0f0;}
.ds4-mob-qa:last-child{border-right:none;}
.ds4-mob-qa-icon{width:26px;height:26px;border-radius:7px;display:flex;
  align-items:center;justify-content:center;}
.ds4-mob-qa-icon.bk{background:#0a0a0a;}
.ds4-mob-qa-icon.wa{background:#25D366;}
.ds4-mob-qa-icon.pr{background:#FF1493;}
.ds4-mob-qa-label{font-size:10px;font-weight:500;color:#666;letter-spacing:.3px;}
.ds4-mob-tabs{display:flex;padding:12px 16px 0;flex-shrink:0;
  border-bottom:1px solid #f0f0f0;}
.ds4-mob-tab{flex:1;padding:8px 4px 11px;border:none;
  border-bottom:2px solid transparent;background:transparent;font-size:10.5px;
  font-weight:600;color:#aaa;cursor:pointer;text-align:center;letter-spacing:.8px;
  text-transform:uppercase;font-family:'DM Sans',sans-serif;
  transition:color .2s,border-color .2s;}
.ds4-mob-tab.ds4-mt-active{color:#0a0a0a;border-bottom-color:#FF1493;}
.ds4-mob-panels{flex:1;overflow:hidden;position:relative;}
.ds4-mob-panel{position:absolute;inset:0;overflow-y:auto;opacity:0;
  pointer-events:none;transform:translateX(12px);
  transition:opacity .2s ease,transform .2s ease;}
.ds4-mob-panel.ds4-mp-active{opacity:1;pointer-events:all;transform:translateX(0);}
.ds4-mob-featured{margin:14px 16px 0;background:#0a0a0a;border-radius:13px;
  padding:16px 18px;text-decoration:none;display:flex;align-items:center;
  justify-content:space-between;}
.ds4-mob-ft-tag{font-size:9px;font-weight:600;letter-spacing:1.5px;
  text-transform:uppercase;color:#FF1493;margin-bottom:5px;}
.ds4-mob-ft-name{font-size:15px;font-weight:700;color:#fff;
  line-height:1.2;margin-bottom:3px;}
.ds4-mob-ft-desc{font-size:11px;color:rgba(255,255,255,.4);}
.ds4-mob-ft-arr{width:30px;height:30px;border-radius:50%;
  background:rgba(255,255,255,.08);display:flex;align-items:center;
  justify-content:center;flex-shrink:0;}
.ds4-mob-svc-list{padding:6px 16px 14px;}
.ds4-mob-svc-item{display:flex;align-items:center;justify-content:space-between;
  padding:12px 0;border-bottom:1px solid #f5f5f5;text-decoration:none;}
.ds4-mob-svc-item:last-child{border-bottom:none;}
.ds4-mob-svc-name{font-size:13px;font-weight:600;color:#0a0a0a;}
.ds4-mob-svc-sub{font-size:11px;color:#aaa;font-weight:400;margin-top:1px;}
.ds4-mob-county-bar{display:flex;margin:14px 16px 0;background:#f5f5f5;
  border-radius:10px;padding:3px;}
.ds4-mob-county-tab{flex:1;padding:7px 4px;border-radius:8px;background:transparent;
  border:none;font-size:9.5px;font-weight:600;color:#888;cursor:pointer;
  letter-spacing:.5px;text-transform:uppercase;font-family:'DM Sans',sans-serif;
  text-align:center;line-height:1.4;transition:all .18s;}
.ds4-mob-county-tab.ds4-ct-active{background:#fff;color:#0a0a0a;
  box-shadow:0 1px 4px rgba(0,0,0,.1);}
.ds4-mob-city-panel{display:none;padding:10px 16px 14px;
  grid-template-columns:1fr 1fr 1fr;gap:5px;}
.ds4-mob-city-panel.ds4-cp-active{display:grid;}
.ds4-mob-city-link{padding:9px 6px;background:#f8f8f8;border-radius:8px;
  font-size:10.5px;font-weight:500;color:#0a0a0a;text-decoration:none;
  text-align:center;line-height:1.2;border:1px solid transparent;
  transition:all .13s;}
.ds4-mob-city-link:active{background:#fff;border-color:#FF1493;color:#FF1493;}
.ds4-mob-more-list{padding:10px 16px 14px;display:flex;flex-direction:column;}
.ds4-mob-more-item{display:flex;align-items:center;justify-content:space-between;
  padding:14px 0;border-bottom:1px solid #f5f5f5;text-decoration:none;}
.ds4-mob-more-item:last-child{border-bottom:none;}
.ds4-mob-more-name{font-size:13px;font-weight:500;color:#0a0a0a;}
.ds4-mob-cta{padding:10px 16px 14px;flex-shrink:0;border-top:1px solid #f0f0f0;}
.ds4-mob-phone{display:flex;align-items:center;justify-content:center;gap:9px;
  padding:14px;background:#FF1493;border-radius:12px;font-size:13px;
  font-weight:600;color:#fff;text-decoration:none;letter-spacing:.3px;}
.ds4-mob-phone:hover{background:#d4007b;}
/* QUICK ACTION MODALS */
.ds4-qa-overlay{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease;}
.ds4-qa-overlay.ds4-qa-open{opacity:1;pointer-events:all;}
.ds4-qa-sheet{width:100%;max-width:480px;background:#111;border-radius:20px 20px 0 0;padding:0 0 28px;transform:translateY(40px);transition:transform .32s cubic-bezier(.4,0,.2,1);max-height:88vh;overflow-y:auto;position:relative;}
.ds4-qa-overlay.ds4-qa-open .ds4-qa-sheet{transform:translateY(0);}
.ds4-qa-handle{display:flex;justify-content:center;padding:12px 0 4px;}
.ds4-qa-handle-bar{width:36px;height:4px;border-radius:2px;background:rgba(255,255,255,.12);}
.ds4-qa-close{position:absolute;top:14px;right:16px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.07);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.ds4-qa-hd{padding:4px 20px 18px;border-bottom:1px solid rgba(255,255,255,.07);}
.ds4-qa-brand-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.ds4-qa-brand-icon{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ds4-qa-brand-icon.ds4-qa-wa{background:#25D366;}
.ds4-qa-brand-icon.ds4-qa-sms{background:#0a0a0a;border:1px solid rgba(255,255,255,.1);}
.ds4-qa-brand-tag{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:2px;font-family:'DM Sans',sans-serif;}
.ds4-qa-brand-tag.ds4-qa-wa{color:#25D366;}
.ds4-qa-brand-tag.ds4-qa-sms{color:rgba(255,255,255,.35);}
.ds4-qa-brand-sub{font-size:10px;color:rgba(255,255,255,.25);font-family:'DM Sans',sans-serif;}
.ds4-qa-title{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:400;color:#fff;line-height:1.2;}
.ds4-qa-title em{font-style:italic;font-weight:300;}
.ds4-qa-title em.ds4-qa-wa{color:#25D366;}
.ds4-qa-title em.ds4-qa-sms{color:rgba(255,255,255,.4);}
.ds4-qa-sub{font-size:.73rem;color:rgba(255,255,255,.3);margin-top:5px;line-height:1.5;font-family:'DM Sans',sans-serif;}
.ds4-qa-fields{padding:16px 20px 0;display:flex;flex-direction:column;gap:9px;}
.ds4-qa-input{width:100%;padding:13px 14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:9px;color:#fff;font-size:.8rem;font-family:'DM Sans',sans-serif;outline:none;transition:border-color .2s;-webkit-appearance:none;box-sizing:border-box;}
.ds4-qa-input::placeholder{color:rgba(255,255,255,.22);}
.ds4-qa-input:focus{border-color:var(--ds4-qa-accent);}
.ds4-qa-vehicle-row{display:grid;grid-template-columns:84px 1fr;gap:9px;}
.ds4-qa-btn{margin:14px 20px 0;width:calc(100% - 40px);display:flex;align-items:center;justify-content:center;gap:9px;padding:15px;border:none;border-radius:11px;font-size:.8rem;font-weight:700;letter-spacing:.4px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:opacity .2s;}
.ds4-qa-btn:active{opacity:.85;}
.ds4-qa-btn.ds4-qa-wa{background:#25D366;color:#fff;}
.ds4-qa-btn.ds4-qa-sms{background:#fff;color:#0a0a0a;}
.ds4-qa-footer{text-align:center;font-size:.63rem;color:rgba(255,255,255,.18);margin-top:10px;padding:0 20px;font-family:'DM Sans',sans-serif;}
.ds4-qa-footer a{color:rgba(255,255,255,.3);text-decoration:none;}


@media(max-width:1280px){
  .ds4-btn{padding:0 7px;font-size:.58rem;}
  .ds4-phone{display:none;}
}
@media(max-width:1024px){
  .ds4-links,.ds4-phone{display:none;}
  .ds4-ham{display:flex;}
  .ds4-book{display:none;}
}

/* BY CITY SECTION */
.ds4-byloc{border-top:1px solid rgba(0,0,0,.06);margin-top:16px;padding-top:14px;}
.ds4-byloc-hd{display:flex;align-items:center;gap:16px;margin-bottom:10px;flex-wrap:wrap;}
.ds4-byloc-label{font-size:.58rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#FF1493;white-space:nowrap;}
.ds4-byloc-tabs{display:flex;gap:5px;flex-wrap:wrap;}
.ds4-stab{background:none;border:1px solid rgba(0,0,0,.15);cursor:pointer;font-family:'DM Sans',sans-serif;font-size:.62rem;font-weight:500;color:#555;padding:5px 11px;border-radius:20px;transition:all .15s;white-space:nowrap;}
.ds4-stab:hover{border-color:#FF1493;color:#FF1493;}
.ds4-stab.ds4-stab-on{background:#FF1493;border-color:#FF1493;color:#fff;}
.ds4-byloc-cities{display:flex;flex-wrap:wrap;gap:2px 4px;align-items:baseline;}
.ds4-byloc-county{font-size:.52rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#bbb;padding:5px 2px 2px;width:100%;margin-top:4px;}
.ds4-byloc-cities a{font-size:.68rem;color:#444;text-decoration:none;padding:4px 9px;border-radius:4px;transition:background .12s,color .12s;white-space:nowrap;}
.ds4-byloc-cities a:hover{background:rgba(255,20,147,.07);color:#FF1493;}
/* Mobile service label inside By City */
.ds4-m-svc{color:#FF1493 !important;font-size:.62rem !important;margin-top:12px;}

/* ---- dsc-datepicker-css ---- */
/* ── DShine Date Picker ── */
#dsc-date-trigger{transition:border-color .2s,box-shadow .2s;}
#dsc-date-trigger:focus{outline:none;border-color:#FF1493;box-shadow:0 0 0 2px rgba(255,20,147,.12);}
.dsc-quick-btn{font-family:'DM Sans',sans-serif;font-size:.62rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:7px 13px;border:1.5px solid rgba(0,0,0,.1);border-radius:20px;background:#fff;color:#666;cursor:pointer;transition:all .2s;white-space:nowrap;}
.dsc-quick-btn:hover,.dsc-quick-btn.dqb-active{background:#FF1493;border-color:#FF1493;color:#fff;}
.dsc-nav-btn{width:34px;height:34px;border:1.5px solid rgba(0,0,0,.1);border-radius:50%;background:#fff;font-size:1.3rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#1a1a1a;transition:all .2s;padding:0;flex-shrink:0;}
.dsc-nav-btn:hover{background:#1a1a1a;color:#fff;border-color:#1a1a1a;}
.dsc-dow{font-family:'DM Sans',sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#bbb;text-align:center;padding:4px 0;}
.dsc-day{font-family:'DM Sans',sans-serif;font-size:.82rem;width:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;border:none;background:transparent;color:#1a1a1a;transition:background .15s,color .15s;padding:0;min-width:34px;min-height:34px;}
.dsc-day:hover:not(:disabled){background:rgba(255,20,147,.09);color:#FF1493;}
.dsc-day.dsc-today{border:1.5px solid #FF1493;color:#FF1493;font-weight:700;}
.dsc-day.dsc-selected{background:#FF1493!important;color:#fff!important;font-weight:700;}
.dsc-day:disabled{color:#ddd;cursor:default;pointer-events:none;}
.dsc-day.dsc-other{color:#ddd;pointer-events:none;}
.dsc-time-btn{font-family:'DM Sans',sans-serif;font-size:.75rem;font-weight:600;padding:10px 8px;border:1.5px solid rgba(0,0,0,.1);border-radius:8px;background:#fff;color:#555;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.3;}
.dsc-time-btn.dsc-tsel{background:#1a1a1a;border-color:#1a1a1a;color:#fff;}
.dsc-time-btn:hover:not(.dsc-tsel){border-color:#FF1493;color:#FF1493;}
.dsc-cal-confirm-btn{width:100%;margin-top:12px;padding:13px;background:#FF1493;color:#fff;border:none;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:background .2s;}
.dsc-cal-confirm-btn:hover{background:#cc0070;}
/* Mobile positioning handled by JS dscCalToggle */

/* DS4 FOOTER V2 */
.ds4-ft{background:#0a0a0a;border-top:1px solid rgba(255,255,255,.07);font-family:'DM Sans',sans-serif;}
.ds4-ft-cta{border-bottom:1px solid rgba(255,255,255,.07);padding:48px 6%;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.ds4-ft-cta-copy h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:400;color:white;line-height:1.2;}
.ds4-ft-cta-copy h2 em{font-style:italic;color:#FF1493;}
.ds4-ft-cta-copy p{font-size:.85rem;color:rgba(255,255,255,.38);margin-top:8px;}
.ds4-ft-cta-btns{display:flex;gap:12px;flex-shrink:0;flex-wrap:wrap;}
.ds4-ft-btn-primary{background:#FF1493;color:white;border:none;padding:13px 28px;border-radius:6px;font-size:.88rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:opacity .2s;font-family:'DM Sans',sans-serif;}
.ds4-ft-btn-primary:hover{opacity:.85;}
.ds4-ft-btn-ghost{background:transparent;color:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.07);padding:13px 28px;border-radius:6px;font-size:.88rem;font-weight:500;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all .2s;font-family:'DM Sans',sans-serif;}
.ds4-ft-btn-ghost:hover{border-color:rgba(255,255,255,.3);color:white;}
.ds4-ft-main{max-width:1100px;margin:0 auto;padding:56px 6% 40px;display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:48px;}
.ds4-ft-brand{display:flex;flex-direction:column;gap:20px;}
.ds4-ft-logo{font-size:1.15rem;font-weight:700;letter-spacing:6px;color:white;}
.ds4-ft-logo span{color:#FF1493;}
.ds4-ft-tagline{font-size:.84rem;color:rgba(255,255,255,.38);line-height:1.7;max-width:240px;}
.ds4-ft-info{font-size:.8rem;color:rgba(255,255,255,.28);line-height:2;}
.ds4-ft-socials{display:flex;gap:10px;}
.ds4-ft-soc{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);text-decoration:none;transition:all .2s;}
.ds4-ft-soc:hover{background:#FF1493;border-color:#FF1493;color:white;}
.ds4-ft-col h4{font-size:.65rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.22);margin-bottom:20px;}
.ds4-ft-col nav{display:flex;flex-direction:column;gap:13px;}
.ds4-ft-col nav a{color:rgba(255,255,255,.38);text-decoration:none;font-size:.84rem;transition:color .15s;position:relative;width:fit-content;}
.ds4-ft-col nav a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;background:#FF1493;transition:width .2s;}
.ds4-ft-col nav a:hover{color:white;}
.ds4-ft-col nav a:hover::after{width:100%;}
.ds4-ft-contact-phone{font-size:1.05rem;font-weight:600;color:white;text-decoration:none;letter-spacing:-.3px;transition:color .15s;display:block;margin-bottom:16px;}
.ds4-ft-contact-phone:hover{color:#FF1493;}
.ds4-ft-wa-link{display:inline-flex;align-items:center;gap:7px;color:#25D366;font-size:.82rem;font-weight:600;background:none;border:none;padding:0;cursor:pointer;font-family:'DM Sans',sans-serif;transition:opacity .15s;margin-bottom:20px;}
.ds4-ft-wa-link:hover{opacity:.75;}
.ds4-ft-hours{font-size:.78rem;color:rgba(255,255,255,.25);line-height:1.9;border-left:2px solid rgba(255,255,255,.08);padding-left:12px;margin-top:8px;}
.ds4-ft-hours strong{color:rgba(255,255,255,.45);font-weight:500;}
.ds4-ft-counties{border-top:1px solid rgba(255,255,255,.07);padding:20px 6%;display:flex;align-items:center;gap:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;}
.ds4-ft-counties::-webkit-scrollbar{display:none;}
.ds4-ft-county-label{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.2);white-space:nowrap;margin-right:20px;flex-shrink:0;}
.ds4-ft-county-btn{background:none;border:none;padding:6px 16px;font-size:.78rem;font-family:'DM Sans',sans-serif;color:rgba(255,255,255,.35);cursor:pointer;border-radius:20px;transition:all .2s;white-space:nowrap;flex-shrink:0;}
.ds4-ft-county-btn.active,.ds4-ft-county-btn:hover{background:rgba(255,255,255,.06);color:rgba(255,255,255,.75);}
.ds4-ft-cities{display:flex;flex-wrap:wrap;gap:6px 0;padding:12px 6% 16px;border-bottom:1px solid rgba(255,255,255,.07);}
.ds4-ft-cities-panel{display:none;}
.ds4-ft-cities-panel.active{display:flex;flex-wrap:wrap;}
.ds4-ft-city{font-size:.75rem;color:rgba(255,255,255,.28);text-decoration:none;padding:2px 10px;transition:color .15s;white-space:nowrap;position:relative;}
.ds4-ft-city:not(:last-child)::after{content:'·';position:absolute;right:0;color:rgba(255,255,255,.12);}
.ds4-ft-city:hover{color:rgba(255,255,255,.65);}
.ds4-ft-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:18px 6%;font-size:.72rem;color:rgba(255,255,255,.2);}
.ds4-ft-bottom a{color:rgba(255,255,255,.25);text-decoration:none;transition:color .15s;}
.ds4-ft-bottom a:hover{color:rgba(255,255,255,.6);}
.ds4-ft-bottom-links{display:flex;gap:20px;}
.ds4-ft-ida{display:flex;align-items:center;gap:7px;font-size:.7rem;color:rgba(255,255,255,.2);}
.ds4-ft-ida-badge{width:20px;height:20px;border-radius:4px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:700;color:rgba(255,255,255,.4);letter-spacing:.5px;}
@media(max-width:768px){.ds4-ft-cta{flex-direction:column;align-items:flex-start;padding:36px 5%;}.ds4-ft-cta-btns{width:100%;}.ds4-ft-btn-primary,.ds4-ft-btn-ghost{flex:1;justify-content:center;}.ds4-ft-main{grid-template-columns:1fr 1fr;gap:36px;padding:40px 5% 32px;}.ds4-ft-brand{grid-column:1 / -1;}.ds4-ft-tagline{max-width:none;}}
@media(max-width:480px){.ds4-ft-main{grid-template-columns:1fr 1fr;gap:28px;}}
/* END DS4 FOOTER V2 */

/* DS4 SERVICE AREAS V3 */
.ds4-sa{padding:72px 0 0;background:var(--bg-warm,#f5f4f1);}
.ds4-sa-head{text-align:center;padding:0 6% 40px;max-width:700px;margin:0 auto;}
.ds4-sa-eyebrow{font-size:.63rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--magenta,#FF1493);margin-bottom:10px;}
.ds4-sa-h{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,4vw,2.8rem);font-weight:400;color:var(--text-main,#181818);line-height:1.15;margin-bottom:14px;}
.ds4-sa-h em{font-style:italic;color:var(--magenta,#FF1493);}
.ds4-sa-sub{font-size:.88rem;color:var(--text-light,#8a8a8a);line-height:1.75;}
.ds4-sa-sub a{color:var(--magenta,#FF1493);font-weight:600;text-decoration:none;}
.ds4-sa-stats{display:flex;border-top:1px solid var(--border-light,rgba(0,0,0,.08));border-bottom:1px solid var(--border-light,rgba(0,0,0,.08));background:#fff;}
.ds4-sa-stat{flex:1;text-align:center;padding:18px 10px;border-right:1px solid var(--border-light,rgba(0,0,0,.08));}
.ds4-sa-stat:last-child{border-right:none;}
.ds4-sa-stat-n{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:600;color:var(--text-main,#181818);line-height:1;}
.ds4-sa-stat-n sup{font-size:.9rem;color:var(--magenta,#FF1493);}
.ds4-sa-stat-l{font-size:.6rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-light,#8a8a8a);margin-top:3px;}
.ds4-sa-counties{display:flex;gap:0;background:#fff;border-bottom:1px solid var(--border-light,rgba(0,0,0,.08));padding:0 6%;overflow-x:auto;scrollbar-width:none;}
.ds4-sa-counties::-webkit-scrollbar{display:none;}
.ds4-sa-county-btn{flex:none;padding:16px 28px;background:none;border:none;font-family:'DM Sans',sans-serif;font-size:.85rem;font-weight:600;color:var(--text-light,#8a8a8a);cursor:pointer;border-bottom:2px solid transparent;transition:all .18s;white-space:nowrap;}
.ds4-sa-county-btn.active{color:var(--text-main,#181818);border-bottom-color:var(--magenta,#FF1493);}
.ds4-sa-county-btn:hover:not(.active){color:var(--text-main,#181818);}
.ds4-sa-county-count{display:inline-block;margin-left:6px;font-size:.65rem;font-weight:700;background:var(--bg-warm,#f0eeeb);color:var(--text-light,#8a8a8a);border-radius:10px;padding:1px 7px;vertical-align:middle;}
.ds4-sa-county-btn.active .ds4-sa-county-count{background:rgba(255,20,147,.1);color:var(--magenta,#FF1493);}
.ds4-sa-filters{display:flex;gap:8px;padding:20px 6%;background:var(--bg-warm,#f5f4f1);overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--border-light,rgba(0,0,0,.08));flex-wrap:nowrap;}
.ds4-sa-filters::-webkit-scrollbar{display:none;}
.ds4-sa-f{flex-shrink:0;display:flex;align-items:center;gap:6px;padding:7px 15px;background:#fff;border:1px solid var(--border-light,rgba(0,0,0,.08));border-radius:20px;font-size:.77rem;font-weight:500;color:var(--text-light,#8a8a8a);cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .18s;white-space:nowrap;}
.ds4-sa-f.active{background:var(--text-main,#181818);border-color:var(--text-main,#181818);color:#fff;}
.ds4-sa-f:hover:not(.active){border-color:rgba(0,0,0,.2);color:var(--text-main,#181818);}
.ds4-sa-f-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.ds4-sa-f-dot.mob{background:#3b82f6;}.ds4-sa-f-dot.cer{background:#FF1493;}.ds4-sa-f-dot.ext{background:#16a34a;}.ds4-sa-f-dot.pc{background:#ea580c;}.ds4-sa-f-dot.int{background:#7c3aed;}
.ds4-sa-f.active .ds4-sa-f-dot{background:rgba(255,255,255,.6);}
.ds4-sa-panel{display:none;}.ds4-sa-panel.active{display:block;}
.ds4-sa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:10px;padding:24px 6%;}
.ds4-sa-card{display:flex;flex-direction:column;justify-content:space-between;background:#fff;border:1px solid var(--border-light,rgba(0,0,0,.08));border-radius:10px;padding:14px 16px 12px;text-decoration:none;color:var(--text-main,#181818);transition:all .18s;min-height:72px;}
.ds4-sa-card:hover{border-color:rgba(0,0,0,.16);box-shadow:0 3px 14px rgba(0,0,0,.07);transform:translateY(-1px);}
.ds4-sa-card.hub{background:#0d0d0d;border-color:#0d0d0d;color:#fff;}
.ds4-sa-card.hidden{display:none;}
.ds4-sa-city-name{font-size:.84rem;font-weight:600;line-height:1.2;margin-bottom:8px;}
.ds4-sa-icons{display:flex;gap:5px;align-items:center;}
.ds4-sa-ico{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:4px;position:relative;flex-shrink:0;}
.ds4-sa-ico svg{width:10px;height:10px;}
.ds4-sa-ico.mob{background:rgba(59,130,246,.12);}.ds4-sa-ico.mob svg{color:#3b82f6;}
.ds4-sa-ico.cer{background:rgba(255,20,147,.1);}.ds4-sa-ico.cer svg{color:#FF1493;}
.ds4-sa-ico.ext{background:rgba(22,163,74,.1);}.ds4-sa-ico.ext svg{color:#16a34a;}
.ds4-sa-ico.pc{background:rgba(234,88,12,.1);}.ds4-sa-ico.pc svg{color:#ea580c;}
.ds4-sa-ico.int{background:rgba(124,58,237,.1);}.ds4-sa-ico.int svg{color:#7c3aed;}
.ds4-sa-ico.off{background:rgba(0,0,0,.04);}.ds4-sa-ico.off svg{color:rgba(0,0,0,.2);}
.ds4-sa-card.hub .ds4-sa-ico.mob,.ds4-sa-card.hub .ds4-sa-ico.cer,.ds4-sa-card.hub .ds4-sa-ico.ext,.ds4-sa-card.hub .ds4-sa-ico.pc,.ds4-sa-card.hub .ds4-sa-ico.int{background:rgba(255,255,255,.12);}
.ds4-sa-card.hub .ds4-sa-ico svg{color:rgba(255,255,255,.75);}
.ds4-sa-card.hub .ds4-sa-ico.off{background:rgba(255,255,255,.05);}.ds4-sa-card.hub .ds4-sa-ico.off svg{color:rgba(255,255,255,.18);}
.ds4-sa-ico[title]:hover::after{content:attr(title);position:absolute;bottom:calc(100% + 5px);left:50%;transform:translateX(-50%);background:#111;color:#fff;font-size:.6rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;padding:3px 7px;border-radius:4px;pointer-events:none;z-index:10;font-family:'DM Sans',sans-serif;}
.ds4-sa-hub-label{font-size:.55rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--magenta,#FF1493);background:rgba(255,20,147,.12);padding:2px 6px;border-radius:3px;margin-bottom:7px;display:inline-block;width:fit-content;}
.ds4-sa-card.hub .ds4-sa-hub-label{background:rgba(255,255,255,.12);color:rgba(255,255,255,.7);}
.ds4-sa-legend{display:flex;gap:16px;flex-wrap:wrap;align-items:center;padding:0 6% 16px;font-size:.72rem;color:var(--text-light,#8a8a8a);}
.ds4-sa-legend-item{display:flex;align-items:center;gap:5px;}
.ds4-sa-legend-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0;}
.ds4-sa-note{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:18px 6% 32px;font-size:.8rem;color:var(--text-light,#8a8a8a);border-top:1px solid var(--border-light,rgba(0,0,0,.08));margin:0 6%;}
.ds4-sa-note a{color:var(--magenta,#FF1493);font-weight:600;text-decoration:none;}
.ds4-sa-note a:hover{text-decoration:underline;}
.ds4-sa-note-links{display:flex;gap:18px;flex-wrap:wrap;}
@media(max-width:900px){.ds4-sa-county-btn{padding:14px 20px;font-size:.82rem;}.ds4-sa-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:9px;}}
@media(max-width:640px){.ds4-sa{padding-top:48px;}.ds4-sa-head{padding:0 5% 32px;}.ds4-sa-counties{padding:0;}.ds4-sa-county-btn{flex:1;padding:13px 8px;font-size:.78rem;text-align:center;min-width:80px;}.ds4-sa-county-count{display:none;}.ds4-sa-filters{padding:14px 5%;}.ds4-sa-grid{grid-template-columns:repeat(2,1fr);gap:8px;padding:16px 5%;}.ds4-sa-card{padding:12px 13px 10px;}.ds4-sa-city-name{font-size:.82rem;}.ds4-sa-legend{padding:0 5% 14px;gap:10px;}.ds4-sa-note{padding:16px 5% 28px;margin:0 5%;}.ds4-sa-stat-n{font-size:1.4rem;}}
@media(max-width:380px){.ds4-sa-grid{grid-template-columns:repeat(2,1fr);gap:7px;}.ds4-sa-card{min-height:66px;}}
/* END DS4 SERVICE AREAS V3 */

/* ---- ds-type-system ---- */
:root {
  --f-display: 'Cormorant Garamond', serif;
  --f-ui: 'DM Sans', sans-serif;
  --t-micro: 0.62rem;
  --t-label: 0.65rem;
  --t-small: 0.72rem;
  --t-body: 0.85rem;
  --t-lead: 0.95rem;
  --t-card: 1.1rem;
  --t-h3: 1.35rem;
  --t-xl: 1.65rem;
  --t-h2-sm: clamp(1.5rem,3vw,2.1rem);
  --t-h2: clamp(1.9rem,4vw,2.7rem);
  --t-h1: clamp(2.6rem,5.5vw,4rem);
  --t-price: 3.4rem;
  --fw-light: 300; --fw-regular: 400; --fw-medium: 500; --fw-semi: 600; --fw-bold: 700;
  --lh-display: 1.05; --lh-heading: 1.15; --lh-snug: 1.25; --lh-normal: 1.5; --lh-body: 1.8; --lh-loose: 1.9;
  --ls-tight: -0.02em; --ls-normal: 0; --ls-label: 0.18em; --ls-micro: 0.22em; --ls-button: 0.12em;
}
@media(max-width:640px){
  :root{--t-micro:0.68rem;--t-label:0.70rem;--t-small:0.78rem;--t-body:0.88rem;--t-lead:0.95rem;}
}
h1,h2,h3{font-family:var(--f-display);font-weight:var(--fw-semi);line-height:var(--lh-heading);letter-spacing:var(--ls-tight);color:#1a1a1a;}
h1 em,h2 em,h3 em{font-style:italic;font-weight:var(--fw-light);color:#FF1493;}
p{font-family:var(--f-ui);font-size:var(--t-body);font-weight:var(--fw-regular);line-height:var(--lh-body);color:#555;}

/* ── GLOBAL SECTION POLISH ─────────────────────────────────────────────────
   Consistent rhythm across all content sections.
   Override specific inline styles below.
──────────────────────────────────────────────────────────────────────────── */

/* Section label chips — the tiny uppercase eyebrows */
.section-label {
    font-size: 0.56rem;
    letter-spacing: 3.5px;
    text-transform: uppercase;
    font-weight: 700;
    font-family: 'DM Sans', sans-serif;
    color: #FF1493;
    margin-bottom: 12px;
    display: block;
}

/* H2 headings inside content sections — unified size scale */
section h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.75rem, 3.8vw, 2.55rem);
    font-weight: 600;
    line-height: 1.18;
    color: #1a1a1a;
    letter-spacing: -0.01em;
}
section h2 em {
    font-style: italic;
    font-weight: 300;
    color: #FF1493;
}

/* H3 subheadings inside sections */
section h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.1rem, 2.2vw, 1.35rem);
    font-weight: 600;
    line-height: 1.25;
    color: #1a1a1a;
}

/* Body prose inside sections */
section p {
    font-family: 'DM Sans', sans-serif;
    font-size: 0.875rem;
    line-height: 1.78;
    color: #555;
}

/* Dark sections: invert text */
section[style*="background:#0d0d0d"] p,
section[style*="background:#1a1a1a"] p,
section[style*="background:#111"] p {
    color: rgba(255,255,255,0.55);
}
section[style*="background:#0d0d0d"] h2,
section[style*="background:#1a1a1a"] h2 {
    color: white;
}

/* Warm sections: slightly warmer body text */
section[style*="background:#F8F7F4"] p,
section[style*="background:#F5F4F1"] p {
    color: #5a5754;
}

/* CTA buttons — unified style */
a[style*="BOOK"],
button[style*="BOOK"] {
    letter-spacing: 1.5px;
}

/* Reduce oversized section paddings globally */
section[style*="padding:100px"] {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
}
section[style*="padding:88px"] {
    padding-top: 68px !important;
    padding-bottom: 68px !important;
}

/* ---- mobile-global-fixes ---- */
@media(max-width:768px){
  .fd-wrap{grid-template-columns:80px 1fr!important;gap:16px!important;}
  .fd-photo,.fd-fallback{width:80px!important;height:96px!important;}
  .vs2-grid{grid-template-columns:1fr!important;}
  /* FIX2: upgrade cards — horizontal scroll instead of 1-col stacking */
  .htb2-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .htb2-grid{grid-template-columns:repeat(3,minmax(240px,1fr))!important;}
  .ps-pill{padding:5px 10px!important;}
  .ps-pill-name{font-size:0.65rem!important;}
  .ac-step{padding:13px 13px!important;}
  .ar-city{padding:7px 14px!important;font-size:0.78rem!important;}
  .af-q-item{padding:10px 14px!important;}
}
@media(max-width:480px){
  section[style*="background:var(--text-main)"] .cta-grid,
  section[style*="background:var(--text-main)"] div[style*="flex"]{flex-direction:column!important;}
  .ds4-foot{padding:20px 16px!important;}
}

/* ---- mobile-polish-v2 ---- */
@media(max-width:768px){
  /* FIX1: Hero — show image below text, compact */
  .pd-hero-grid > div:last-child{display:block!important;margin-top:28px;}
  .pd-hero-grid > div:last-child img{height:260px!important;border-radius:12px;}
  .pd-hero-grid > div:last-child > div[style*="position:absolute;bottom"]{display:none;}

  /* FIX3: Section padding too large on mobile */
  section[style*="padding:100px"]{padding-top:56px!important;padding-bottom:48px!important;}
  section[style*="padding:88px"]{padding-top:48px!important;padding-bottom:40px!important;}
  section[style*="padding:80px"]{padding-top:44px!important;padding-bottom:36px!important;}
  section[style*="padding:72px"]{padding-top:40px!important;padding-bottom:32px!important;}
  .pd-hero-grid[style*="padding"]{padding-top:56px!important;padding-bottom:40px!important;}
}

/* ---- head-style ---- */
/*modal-fix*/#ds-booking-modal > :not(:first-child){display:none !important;}

/* ============================================================
   DShine — City service pages v2 (2026-09)  · shared component CSS
   Loaded from /css/dshine-city.css on every ceramic / paint-correction /
   mold-removal city page. Page-specific content lives in the HTML only.
   ============================================================ */

/* --- layout primitives --- */
.dsc-wrap{max-width:1100px;margin:0 auto;}
.dsc-wrap-narrow{max-width:820px;margin:0 auto;}
.dsc-sec{padding:72px 6%;}
.dsc-sec-dark{background:#0d0d0d;color:#fff;}
.dsc-sec-warm{background:#F8F7F4;}
.dsc-sec-stone{background:#F5F4F1;}
.dsc-sec-white{background:#fff;}
.dsc-kicker{font-size:0.62rem;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;color:#FF1493;margin-bottom:12px;}
.dsc-sec-dark .dsc-kicker{color:rgba(255,255,255,0.4);}
.dsc-h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:600;color:#1a1a1a;line-height:1.15;margin:0 0 18px;}
.dsc-h2 em{font-style:italic;font-weight:300;color:#FF1493;}
.dsc-sec-dark .dsc-h2{color:#fff;}
.dsc-h3{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:600;color:#1a1a1a;margin:0 0 8px;line-height:1.25;}
.dsc-lead{font-size:0.95rem;color:#555;line-height:1.85;max-width:640px;}
.dsc-sec-dark .dsc-lead{color:rgba(255,255,255,0.6);}
.dsc-p{font-size:0.9rem;color:#555;line-height:1.85;margin:0 0 16px;}
.dsc-center{text-align:center;}
.dsc-center .dsc-lead{margin-left:auto;margin-right:auto;}
.dsc-btn{display:inline-block;background:#FF1493;color:#fff;padding:14px 32px;font-size:0.72rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;text-decoration:none;border-radius:3px;font-family:'DM Sans',sans-serif;}
.dsc-btn-ghost{display:inline-block;background:transparent;color:#fff;padding:14px 32px;font-size:0.72rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;text-decoration:none;border-radius:3px;border:1px solid rgba(255,255,255,0.25);font-family:'DM Sans',sans-serif;}
.dsc-btn-dark{display:inline-block;background:#1a1a1a;color:#fff;padding:14px 32px;font-size:0.72rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;text-decoration:none;border-radius:3px;font-family:'DM Sans',sans-serif;}

/* --- hero --- */
.dsc-hero{background:linear-gradient(135deg,#1a1a1a 0%,#2a2a2a 50%,#1a1a1a 100%);padding:100px 6% 60px;position:relative;overflow:hidden;}
.dsc-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(255,20,147,0.1) 0%,transparent 60%);pointer-events:none;}
.dsc-hero-grid{position:relative;z-index:1;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center;}
.dsc-hero-eyebrow{font-size:0.65rem;letter-spacing:5px;text-transform:uppercase;color:#FF1493;font-weight:700;margin-bottom:20px;}
.dsc-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,5vw,4.2rem);line-height:0.95;font-weight:600;color:#fff;margin:0 0 24px;}
.dsc-hero h1 em{font-style:italic;font-weight:300;color:#FF1493;}
.dsc-hero p{font-size:0.95rem;color:rgba(255,255,255,0.72);max-width:500px;margin:0 0 36px;line-height:1.8;}
.dsc-hero-ctas{display:flex;gap:12px;flex-wrap:wrap;}
.dsc-hero-badges{margin-top:28px;display:flex;gap:20px;flex-wrap:wrap;}
.dsc-hero-badges span{font-size:0.65rem;color:rgba(255,255,255,0.35);letter-spacing:1.5px;text-transform:uppercase;}
.dsc-hero-img{border-radius:16px;overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,0.5);position:relative;}
.dsc-hero-img img{width:100%;height:520px;object-fit:cover;display:block;}
.dsc-hero-tag{position:absolute;bottom:-18px;left:-18px;background:#fff;border-radius:12px;padding:14px 20px;box-shadow:0 8px 32px rgba(0,0,0,0.2);}
.dsc-hero-tag b{display:block;font-size:0.55rem;letter-spacing:2px;text-transform:uppercase;color:#FF1493;font-weight:700;margin-bottom:2px;}
.dsc-hero-tag strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:#1a1a1a;}
.dsc-hero-tag small{font-size:0.68rem;color:#888;}
@media(max-width:768px){.dsc-hero{padding-top:84px;}.dsc-hero-grid{grid-template-columns:minmax(0,1fr);text-align:center;gap:36px;}.dsc-hero p{max-width:100%;}.dsc-hero-ctas,.dsc-hero-badges{justify-content:center;}.dsc-hero-img img{height:300px;}.dsc-hero-tag{left:12px;bottom:-14px;}}

/* --- trust strip --- */
.dsc-trust{background:#fff;border-bottom:1px solid #f0f0f0;overflow:hidden;}
.dsc-trust-in{max-width:960px;margin:0 auto;padding:0 6%;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;}
.dsc-trust-in span{display:flex;align-items:center;gap:7px;padding:14px 22px;font-size:0.7rem;font-weight:700;color:#1a1a1a;font-family:'DM Sans',sans-serif;white-space:nowrap;border-right:1px solid #f0f0f0;}
.dsc-trust-in span:last-child{border-right:none;}
.dsc-trust-in svg{width:13px;height:13px;stroke:#FF1493;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
@media(max-width:768px){.dsc-trust{display:none;}}

/* --- two column (what's included + summary card) --- */
.dsc-2col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:start;}
.dsc-card{background:#fff;border:1px solid #ebebeb;border-radius:16px;padding:32px;}
.dsc-card-label{font-size:0.65rem;letter-spacing:3px;text-transform:uppercase;color:#aaa;font-weight:700;margin-bottom:20px;}
.dsc-row{display:flex;justify-content:space-between;gap:16px;padding:0 0 12px;margin-bottom:12px;border-bottom:1px solid #f0f0f0;font-size:0.85rem;}
.dsc-row:last-of-type{border-bottom:none;margin-bottom:0;}
.dsc-row span{color:#666;}
.dsc-row b{color:#1a1a1a;font-weight:700;text-align:right;}
.dsc-row b.ok{color:#22c55e;}
.dsc-card .dsc-btn{display:block;text-align:center;margin-top:24px;border-radius:6px;}
@media(max-width:860px){.dsc-2col{grid-template-columns:1fr;gap:32px;}}

/* --- packages --- */
.dsc-pk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.dsc-pk{background:#fff;border:1.5px solid #ebebeb;border-radius:16px;padding:28px 26px;display:flex;flex-direction:column;position:relative;}
.dsc-pk.pop{border-color:#1a1a1a;background:#1a1a1a;color:#fff;}
.dsc-pk-yrs{font-size:0.6rem;letter-spacing:3px;text-transform:uppercase;font-weight:700;color:#FF1493;margin-bottom:8px;}
.dsc-pk-name{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600;line-height:1.1;}
.dsc-pk-price{font-family:'DM Sans',sans-serif;font-size:1.7rem;font-weight:700;margin:10px 0 4px;letter-spacing:-1px;}
.dsc-pk-sub{font-size:0.78rem;color:#888;margin-bottom:18px;line-height:1.5;}
.dsc-pk.pop .dsc-pk-sub{color:rgba(255,255,255,0.55);}
.dsc-pk ul{list-style:none;margin:0 0 22px;padding:0;flex:1;}
.dsc-pk li{font-size:0.82rem;line-height:1.6;padding:6px 0 6px 20px;position:relative;border-bottom:1px solid #f3f3f3;color:#444;}
.dsc-pk.pop li{color:rgba(255,255,255,0.8);border-color:rgba(255,255,255,0.08);}
.dsc-pk li::before{content:"✓";position:absolute;left:0;color:#FF1493;font-weight:700;}
.dsc-pk-tag{position:absolute;top:-11px;left:26px;background:#FF1493;color:#fff;font-size:0.55rem;letter-spacing:2px;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:100px;}
.dsc-pk .dsc-btn{text-align:center;border-radius:6px;}
@media(max-width:860px){.dsc-pk-grid{grid-template-columns:1fr;}}

/* --- process (all steps rendered; JS only toggles the highlight) --- */
.dsc-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.dsc-step{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:22px 20px;}
.dsc-step-n{font-size:0.55rem;letter-spacing:2.5px;text-transform:uppercase;color:#FF1493;font-weight:700;margin-bottom:8px;}
.dsc-step-t{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:600;color:#fff;margin-bottom:8px;}
.dsc-step-b{font-size:0.78rem;color:rgba(255,255,255,0.55);line-height:1.7;}
@media(max-width:960px){.dsc-steps{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.dsc-steps{grid-template-columns:1fr;}}

/* --- local editorial (the unique block) --- */
.dsc-local{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);gap:56px;align-items:start;}
.dsc-local-body h3{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:600;color:#1a1a1a;margin:34px 0 10px;line-height:1.2;}
.dsc-local-body h3:first-child{margin-top:0;}
.dsc-local-body p{font-size:0.92rem;color:#444;line-height:1.9;margin:0 0 16px;}
.dsc-local-aside{position:sticky;top:96px;}
.dsc-fact{background:#fff;border:1px solid #ebebeb;border-radius:14px;padding:20px 22px;margin-bottom:12px;}
.dsc-fact b{display:block;font-family:'DM Sans',sans-serif;font-size:1.4rem;font-weight:700;color:#1a1a1a;letter-spacing:-0.5px;line-height:1;}
.dsc-fact span{display:block;font-size:0.72rem;color:#777;margin-top:6px;line-height:1.5;}
.dsc-fact i{display:block;font-style:normal;font-size:0.55rem;letter-spacing:2px;text-transform:uppercase;color:#FF1493;font-weight:700;margin-bottom:8px;}
@media(max-width:900px){.dsc-local{grid-template-columns:1fr;}.dsc-local-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:12px;}.dsc-fact{margin:0;}}
@media(max-width:560px){.dsc-local-aside{grid-template-columns:1fr;}}

/* --- neighborhoods (with real notes per area) --- */
.dsc-hoods{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.dsc-hood{background:#fff;border:1px solid #e6e6e6;border-radius:14px;padding:20px 20px 18px;}
.dsc-hood b{display:block;font-family:'Cormorant Garamond',serif;font-size:1.12rem;font-weight:600;color:#1a1a1a;margin-bottom:6px;}
.dsc-hood span{font-size:0.8rem;color:#666;line-height:1.65;}
@media(max-width:900px){.dsc-hoods{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.dsc-hoods{grid-template-columns:1fr;}}

/* --- calendar / maintenance --- */
.dsc-cal{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:#e8e8e8;border-radius:18px;overflow:hidden;}
.dsc-cal div{background:#fff;padding:26px 22px;}
.dsc-cal b{display:block;font-size:0.6rem;letter-spacing:2px;text-transform:uppercase;color:#FF1493;font-weight:700;margin-bottom:10px;}
.dsc-cal strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:600;color:#1a1a1a;margin-bottom:8px;line-height:1.3;}
.dsc-cal span{font-size:0.8rem;color:#555;line-height:1.7;}
@media(max-width:900px){.dsc-cal{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.dsc-cal{grid-template-columns:1fr;}}

/* --- reviews --- */
.rv-wrap{max-width:1060px;margin:0 auto;}
.rv-stats{display:flex;justify-content:center;gap:0;margin-bottom:48px;}
.rv-stat{padding:0 32px;text-align:center;border-right:1px solid #ddd;}
.rv-stat:last-child{border-right:none;}
.rv-stat-n{font-family:'DM Sans',sans-serif;font-size:1.6rem;font-weight:700;color:#1a1a1a;letter-spacing:-1px;line-height:1;}
.rv-stat-l{font-size:0.6rem;text-transform:uppercase;letter-spacing:2px;color:#aaa;margin-top:5px;}
.rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.rv-card{background:white;border-radius:16px;padding:28px 26px;display:flex;flex-direction:column;gap:16px;border:1px solid #ebebeb;}
.rv-stars{color:#f59e0b;font-size:0.85rem;letter-spacing:2px;}
.rv-g-badge{display:flex;align-items:center;gap:5px;font-size:0.6rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#aaa;}
.rv-g-dot{width:10px;height:10px;border-radius:50%;background:#4285F4;flex-shrink:0;}
.rv-text{font-family:'Cormorant Garamond',serif;font-size:1.02rem;font-style:italic;color:#1a1a1a;line-height:1.75;flex:1;}
.rv-author{display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid #f5f5f5;}
.rv-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.85rem;font-weight:700;color:white;flex-shrink:0;}
.rv-name{font-size:0.85rem;font-weight:700;color:#1a1a1a;line-height:1.2;}
.rv-meta{font-size:0.6rem;color:#aaa;margin-top:2px;}
@media(max-width:768px){.rv-grid{grid-template-columns:1fr;}.rv-stat{padding:0 16px;}}

/* --- guarantee --- */
.dsc-g-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;background:rgba(255,20,147,0.12);border-radius:50%;margin-bottom:14px;}
.dsc-g-stats{display:inline-flex;gap:24px;flex-wrap:wrap;justify-content:center;padding:16px 24px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.07);border-radius:12px;margin-top:8px;}
.dsc-g-stats div{text-align:center;}
.dsc-g-stats b{display:block;font-family:'DM Sans',sans-serif;font-size:1.1rem;font-weight:700;color:#fff;line-height:1;}
.dsc-g-stats b.pink{color:#FF1493;}
.dsc-g-stats span{display:block;font-size:0.56rem;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,0.28);margin-top:3px;}

/* --- FAQ: native <details>, every answer in the DOM --- */
.dsc-faq{max-width:860px;margin:0 auto;border:1px solid #ebebeb;border-radius:18px;overflow:hidden;background:#fff;}
.dsc-faq details{border-bottom:1px solid #f0f0f0;}
.dsc-faq details:last-child{border-bottom:none;}
.dsc-faq summary{list-style:none;cursor:pointer;padding:18px 22px;font-family:'DM Sans',sans-serif;font-size:0.92rem;font-weight:600;color:#1a1a1a;display:flex;justify-content:space-between;align-items:center;gap:16px;line-height:1.4;}
.dsc-faq summary::-webkit-details-marker{display:none;}
.dsc-faq summary::after{content:"+";font-size:1.3rem;font-weight:300;color:#FF1493;flex-shrink:0;transition:transform .2s;}
.dsc-faq details[open] summary::after{transform:rotate(45deg);}
.dsc-faq details[open] summary{background:#fafafa;}
.dsc-faq .dsc-faq-a{padding:0 22px 20px;font-size:0.88rem;color:#555;line-height:1.8;}

/* --- related services --- */
.rs-grid2{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:900px;margin:0 auto;}
.rs-card2{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:28px 24px 22px;background:#fafafa;border:1.5px solid #ebebeb;border-radius:14px;text-decoration:none;transition:all 0.22s;overflow:hidden;}
.rs-card2::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#FF1493;transform:scaleX(0);transform-origin:left;transition:transform 0.25s;}
.rs-card2:hover{background:white;border-color:#ddd;box-shadow:0 8px 32px rgba(0,0,0,0.07);transform:translateY(-2px);}
.rs-card2:hover::after{transform:scaleX(1);}
.rs-card2.featured2{background:#1a1a1a;border-color:#1a1a1a;}
.rs-k{font-size:0.6rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#FF1493;margin-bottom:12px;}
.rs-t{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;color:#1a1a1a;line-height:1.15;margin-bottom:8px;}
.rs-d{font-size:0.8rem;color:#888;line-height:1.6;margin-bottom:20px;}
.rs-p{font-size:0.95rem;font-weight:700;color:#1a1a1a;}
.featured2 .rs-k{color:rgba(255,255,255,0.5);}.featured2 .rs-t,.featured2 .rs-p{color:#fff;}.featured2 .rs-d{color:rgba(255,255,255,0.45);}
@media(max-width:640px){.rs-grid2{grid-template-columns:1fr;}}

/* --- final CTA --- */
.dsc-cta{background:#1a1a1a;padding:72px 6%;text-align:center;}
.dsc-cta h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,5vw,3.2rem);font-weight:600;color:#fff;margin:0 0 16px;}
.dsc-cta p{color:rgba(255,255,255,0.6);font-size:0.9rem;max-width:520px;margin:0 auto 32px;line-height:1.7;}
.dsc-cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

.dsc-hero-grid>div,.dsc-2col>div,.dsc-local>*{min-width:0;}
.dsc-hero h1{white-space:normal;}
