        /* --- Пенные пузыри bubble.css --- */
        .foam {
            position: relative; margin-top: 70px; min-height: 760px;
        }
        .bubble {
			cursor: pointer;
            position: absolute; border-radius: 50%;
            display: flex; flex-direction: column; justify-content: center;
            text-align: center; padding: 30px;
            background:
                radial-gradient(circle at 32% 28%, rgba(255,255,255,.95), rgba(255,255,255,.55) 30%, rgba(210,230,250,.35) 55%, rgba(180,210,245,.22) 100%);
            border: 1px solid rgba(255,255,255,.8);
            box-shadow:
                inset -10px -14px 30px rgba(120,160,210,.28),
                inset 12px 14px 28px rgba(255,255,255,.9),
                0 20px 44px rgba(11,92,213,.16);
            color: var(--ink);
            transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s;
            animation: floatB 7s ease-in-out infinite;
        }
        .bubble::before {
            content: ''; position: absolute; top: 16%; left: 20%;
            width: 26%; height: 20%; border-radius: 50%;
            background: radial-gradient(circle, rgba(255,255,255,.95), transparent 70%);
            filter: blur(1px); pointer-events: none;
        }
        .bubble::after {
            content: ''; position: absolute; top: 26%; right: 22%;
            width: 9px; height: 9px; border-radius: 50%;
            background: rgba(255,255,255,.75); pointer-events: none;
			filter: blur(3px);          /* ← размытие по краям */
        }
		 
		.bubble-btn {
			opacity: 0;
			position: relative;
			z-index: 2;
			display: inline-flex;
			align-items: center;
			gap: 4px;
			margin-top: 2px;
			margin-right: 13px;
			padding: 7px 14px;
			color: var(--blue);
			font-size: 12px;
			font-weight: 600;
			letter-spacing: .3px;
			cursor: pointer;
			transform: translateY(4px);
			transition: all .4s ease;
		}	
		.bubble-btn:hover {
			color: var(blue-l);
			gap: 0px;
		}
        .bubble:hover { transform: translateY(-10px) scale(1.04); box-shadow: inset -10px -14px 30px rgba(120,160,210,.3), inset 12px 14px 28px rgba(255,255,255,.95), 0 30px 60px rgba(11,92,213,.28); }
        .bubble:hover .bubble-btn{opacity: 1; transform: translateY(0);}
        /* «Стоимость» всегда видна только у пузыря «Генеральная уборка» (.a1) */
        .bubble.a1 .bubble-btn { opacity: 1; transform: translateY(0); }
		.bubble {
			overflow: visible;
			align-items: center;
		}
        /* стекающая пена на поверхности пузыря */
        .bubble .foam-run {
            position: absolute; inset: 0; border-radius: 50%;
            overflow: hidden; pointer-events: none; z-index: 1;
        }
        .bubble .foam-run::before,
        .bubble .foam-run::after {
            content: ''; position: absolute; top: -60%; left: 50%;
            width: 140%; height: 140%; transform: translateX(-50%);
            border-radius: 45%;
            background:
                radial-gradient(circle at 30% 20%, rgba(255,255,255,.9), transparent 8%),
                radial-gradient(circle at 55% 30%, rgba(255,255,255,.75), transparent 7%),
                radial-gradient(circle at 70% 15%, rgba(255,255,255,.85), transparent 9%),
                radial-gradient(circle at 42% 45%, rgba(255,255,255,.7), transparent 6%),
                radial-gradient(circle at 20% 55%, rgba(255,255,255,.6), transparent 7%),
                radial-gradient(circle at 80% 50%, rgba(255,255,255,.65), transparent 6%),
                linear-gradient(180deg, rgba(230,242,255,.55), rgba(200,225,250,.15) 60%, transparent);
            opacity: 0;
        }
        .bubble .foam-run::after {
            top: -75%; left: 45%; width: 120%; height: 130%;
            filter: blur(1px);
        }
        .bubble:hover .foam-run::before { animation: foamRun 3.2s ease-in .1s infinite; }
        .bubble:hover .foam-run::after { animation: foamRun 3.6s ease-in .8s infinite; }
        @keyframes foamRun {
            0%   { transform: translateX(-50%) translateY(-8%); opacity: 0; }
            12%  { opacity: .85; }
            80%  { opacity: .5; }
            100% { transform: translateX(-50%) translateY(85%); opacity: 0; }
        }
        .bubble .ic, .bubble h3, .bubble p { position: relative; z-index: 2; }
        .drip {
            position: absolute; bottom: 14%; border-radius: 50%;
            background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.95), rgba(200,225,250,.55) 55%, rgba(180,210,245,.3));
            border: 1px solid rgba(255,255,255,.7);
            box-shadow: inset -3px -4px 8px rgba(120,160,210,.3);
            opacity: 0; pointer-events: none;
        }
        .drip:nth-child(6) { left: 26%; width: 16px; height: 16px; }
        .drip:nth-child(7) { left: 50%; width: 22px; height: 22px; }
        .drip:nth-child(8) { left: 68%; width: 14px; height: 14px; }
        .bubble:hover .drip:nth-child(6) { animation: dripDown 1.6s ease-in .05s infinite; }
        .bubble:hover .drip:nth-child(7) { animation: dripDown 1.9s ease-in .35s infinite; }
        .bubble:hover .drip:nth-child(8) { animation: dripDown 1.7s ease-in .6s infinite; }
        @keyframes dripDown {
            0%   { transform: translateY(0) scaleY(1); opacity: 0; }
            15%  { opacity: 1; }
            80%  { opacity: .9; }
            100% { transform: translateY(120px) scaleY(1.4); opacity: 0; }
        }
        .bubble .ic {
            width: 46px; height: 46px; border-radius: 50%; margin: 0 auto 12px;
            background: rgba(11,92,213,.12); color: var(--blue);
            display: grid; place-items: center; font-size: 19px;
        }
        .bubble h3 { font-family: var(--font-display); font-weight: 600; margin-bottom: 8px; line-height: 1.2; }
        .bubble p { line-height: 1.45; opacity: .75; }
        @keyframes floatB { 0%,100% { translate: 0 0; } 50% { translate: 0 -14px; } }
        /* мелкие декоративные пузырьки пены */
        .foam-deco { position: absolute; border-radius: 50%; pointer-events: none;
            background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.9), rgba(200,225,250,.35) 60%, rgba(180,210,245,.15));
            border: 1px solid rgba(255,255,255,.6);
            box-shadow: inset -3px -4px 8px rgba(120,160,210,.25);
            animation: floatB 6s ease-in-out infinite;
        }
        /* размеры и позиции пузырей */
        .b1  { width: 280px; height: 280px; top: 20px;   left: 2%;   font-size: 15px; animation-delay: 0.2s; z-index: 4; }
        .b2  { width: 200px; height: 200px; top: 100px;  left: 28%;  font-size: 12px; animation-delay: 1.8s; z-index: 7; }
        .b3  { width: 300px; height: 300px; top: -10px;  left: 48%;  font-size: 15px; animation-delay: 0.8s; z-index: 3; }
        .b4  { width: 180px; height: 180px; top: 60px;   left: 78%;  font-size: 11px; animation-delay: 2.5s; z-index: 6; }
        .b5  { width: 230px; height: 230px; top: 250px;  left: 10%;  font-size: 13px; animation-delay: 1.2s; z-index: 5; }
        .b6  { width: 340px; height: 340px; top: 220px;  left: 35%;  font-size: 19px; animation-delay: 0.4s; z-index: 8; }
        .b7  { width: 210px; height: 210px; top: 280px;  left: 68%;  font-size: 12px; animation-delay: 2.2s; z-index: 4; }
        .b8  { width: 190px; height: 190px; top: 160px;  left: 88%;  font-size: 11px; animation-delay: 1.5s; z-index: 3; }
        .b9  { width: 170px; height: 170px; top: 420px;  left: 82%;  font-size: 10px; animation-delay: 3.0s; z-index: 2; }
        .b10 { width: 240px; height: 240px; top: 480px;  left: 5%;   font-size: 13px; animation-delay: 1.0s; z-index: 5; }
        .b11 { width: 270px; height: 270px; top: 464px;  left: 30%;  font-size: 14px; animation-delay: 2.0s; z-index: 6; }
        .b12 { width: 280px; height: 280px; top: 520px;  left: 62%;  font-size: 14px; animation-delay: 0.6s; z-index: 4; }
        @media (max-width: 920px) {
            .foam { min-height: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
            .bubble { position: static; width: 240px !important; height: 240px !important; top: auto !important; left: auto !important; font-size: 13px !important; }
            .foam-deco { display: none; }
        }