<!-- Адаптивный блок с эффектом жидкого стекла, движущимся фоном, фотографией и текстовой карточкой для Tilda. Источник: bulgkate.ru -->
<style>
:root {
/* ФОНОВОЕ ИЗОБРАЖЕНИЕ — МЕНЯТЬ ЗДЕСЬ */
--bk-pattern-image:
url("https://png.pngtree.com/thumb_back/fw800/background/20251015/pngtree-delicate-branch-leaves-pattern-subtle-green-tones-botanical-repeat-design-on-image_19824888.webp?auto=format&fit=crop&w=1800&q=85");
}
</style>
<!-- Адаптивный блок с эффектом жидкого стекла для Tilda -->
<section class="bk-glass">
<div class="bk-glass__ambient bk-glass__ambient--one"></div>
<div class="bk-glass__ambient bk-glass__ambient--two"></div>
<div class="bk-glass__container">
<header class="bk-glass__panel bk-glass__title">
<span class="bk-glass__effect"></span>
<span class="bk-glass__tint"></span>
<span class="bk-glass__shine"></span>
<div class="bk-glass__content">
Lorem ipsum dolor sit amet
</div>
</header>
<div class="bk-glass__grid">
<div class="bk-glass__panel bk-glass__photo">
<span class="bk-glass__effect"></span>
<span class="bk-glass__tint"></span>
<span class="bk-glass__shine"></span>
<div class="bk-glass__content">
<div class="bk-glass__photo-frame">
<img
src="https://images.unsplash.com/photo-1497250681960-ef046c08a56e?auto=format&fit=crop&w=1400&q=90"
alt="Тропические растения"
loading="lazy"
>
</div>
</div>
</div>
<article class="bk-glass__panel bk-glass__description">
<span class="bk-glass__effect"></span>
<span class="bk-glass__tint"></span>
<span class="bk-glass__shine"></span>
<div class="bk-glass__content">
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</p>
<p>
Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat.
</p>
<p>
Duis aute irure dolor in reprehenderit in voluptate velit
esse cillum dolore eu fugiat nulla pariatur.
</p>
</div>
</article>
</div>
</div>
</section>
<svg class="bk-glass__filters" aria-hidden="true">
<defs>
<filter
id="bk-glass-distortion"
x="-20%"
y="-20%"
width="140%"
height="140%"
color-interpolation-filters="sRGB"
>
<feTurbulence
type="fractalNoise"
baseFrequency="0.012 0.018"
numOctaves="2"
seed="8"
result="noise"
/>
<feGaussianBlur
in="noise"
stdDeviation="1.8"
result="softNoise"
/>
<feDisplacementMap
in="SourceGraphic"
in2="softNoise"
scale="22"
xChannelSelector="R"
yChannelSelector="G"
/>
</filter>
</defs>
</svg>
<style>
.bk-glass {
--bk-glass-text: #17231d;
--bk-glass-muted: rgba(23, 35, 29, 0.78);
--bk-glass-gap: 24px;
--bk-glass-radius: 32px;
--bk-glass-motion:
0.45s cubic-bezier(0.175, 0.885, 0.32, 1.25);
position: relative;
isolation: isolate;
display: flex;
align-items: center;
width: 100%;
min-height: 100vh;
overflow: hidden;
color: var(--bk-glass-text);
background-color: #dcefdc;
background-image:
linear-gradient(
125deg,
rgba(255, 251, 224, 0.2),
rgba(186, 224, 205, 0.16)
),
var(--bk-pattern-image);
background-repeat:
no-repeat,
repeat;
background-position:
center,
0 0;
background-size:
cover,
720px auto;
font-family:
"Inter",
"TildaSans",
Arial,
sans-serif;
animation:
bk-glass-background
70s
linear
infinite;
}
.bk-glass,
.bk-glass * {
box-sizing: border-box;
}
.bk-glass::before {
content: "";
position: absolute;
z-index: -2;
inset: 0;
pointer-events: none;
background:
radial-gradient(
circle at 8% 18%,
rgba(255, 221, 156, 0.68),
transparent 31%
),
radial-gradient(
circle at 86% 20%,
rgba(230, 139, 171, 0.4),
transparent 28%
),
radial-gradient(
circle at 75% 88%,
rgba(92, 159, 210, 0.48),
transparent 34%
);
}
.bk-glass::after {
content: "";
position: absolute;
z-index: -1;
inset: 0;
pointer-events: none;
background:
linear-gradient(
115deg,
rgba(255, 255, 255, 0.15),
transparent 38%,
rgba(255, 255, 255, 0.08)
);
}
.bk-glass__ambient {
position: absolute;
z-index: -1;
width: 420px;
height: 420px;
border-radius: 50%;
pointer-events: none;
filter: blur(90px);
opacity: 0.35;
animation:
bk-glass-float
15s
ease-in-out
infinite
alternate;
}
.bk-glass__ambient--one {
top: -160px;
right: 3%;
background: #ff93bd;
}
.bk-glass__ambient--two {
bottom: -190px;
left: 5%;
background: #6fb5e6;
animation-delay: -6s;
}
.bk-glass__container {
position: relative;
z-index: 1;
width: min(1140px, calc(100% - 40px));
margin: 0 auto;
padding: 90px 0;
}
.bk-glass__panel {
position: relative;
isolation: isolate;
overflow: hidden;
border: 1px solid rgba(255, 255, 255, 0.64);
border-radius: var(--bk-glass-radius);
background: rgba(255, 255, 255, 0.08);
box-shadow:
0 18px 55px rgba(45, 75, 60, 0.15),
0 6px 16px rgba(45, 75, 60, 0.08),
inset 1px 1px 0 rgba(255, 255, 255, 0.88),
inset -1px -1px 0 rgba(255, 255, 255, 0.26);
transition:
transform var(--bk-glass-motion),
border-radius var(--bk-glass-motion),
border-color var(--bk-glass-motion),
box-shadow var(--bk-glass-motion);
}
.bk-glass__effect,
.bk-glass__tint,
.bk-glass__shine {
position: absolute;
inset: 0;
border-radius: inherit;
pointer-events: none;
}
.bk-glass__effect {
z-index: 0;
overflow: hidden;
background: rgba(255, 255, 255, 0.03);
-webkit-backdrop-filter:
blur(8px)
saturate(145%);
backdrop-filter:
blur(8px)
saturate(145%);
filter: url("#bk-glass-distortion");
transition:
background var(--bk-glass-motion),
backdrop-filter var(--bk-glass-motion),
-webkit-backdrop-filter var(--bk-glass-motion);
}
.bk-glass__tint {
z-index: 1;
background:
linear-gradient(
145deg,
rgba(255, 255, 255, 0.38),
rgba(255, 255, 255, 0.12) 44%,
rgba(236, 251, 244, 0.2)
);
transition:
background var(--bk-glass-motion),
opacity var(--bk-glass-motion);
}
.bk-glass__shine {
z-index: 2;
opacity: 0.88;
background:
linear-gradient(
118deg,
rgba(255, 255, 255, 0.64) 0%,
rgba(255, 255, 255, 0.16) 15%,
transparent 34%,
transparent 70%,
rgba(255, 255, 255, 0.13) 100%
);
box-shadow:
inset 2px 2px 2px rgba(255, 255, 255, 0.76),
inset -2px -2px 2px rgba(255, 255, 255, 0.17);
transition:
opacity var(--bk-glass-motion),
transform 0.7s cubic-bezier(0.2, 0.7, 0.25, 1);
}
.bk-glass__content {
position: relative;
z-index: 3;
width: 100%;
}
.bk-glass__filters {
position: absolute;
width: 0;
height: 0;
overflow: hidden;
}
.bk-glass__title {
margin-bottom: var(--bk-glass-gap);
padding: 25px 32px;
}
.bk-glass__title .bk-glass__content {
max-width: 920px;
font-size: clamp(34px, 4.4vw, 60px);
font-weight: 700;
line-height: 1.06;
letter-spacing: -0.04em;
text-wrap: balance;
}
.bk-glass__grid {
display: grid;
grid-template-columns:
minmax(320px, 0.9fr)
minmax(360px, 1.1fr);
gap: var(--bk-glass-gap);
align-items: start;
}
.bk-glass__photo {
height: clamp(350px, 34vw, 410px);
padding: 14px;
}
.bk-glass__photo .bk-glass__content {
height: 100%;
}
.bk-glass__photo-frame {
width: 100%;
height: 100%;
overflow: hidden;
border: 1px solid rgba(255, 255, 255, 0.55);
border-radius: 22px;
box-shadow:
0 12px 30px rgba(29, 53, 42, 0.14),
inset 0 0 0 1px rgba(255, 255, 255, 0.18);
transition:
border-radius var(--bk-glass-motion),
transform var(--bk-glass-motion);
}
.bk-glass__photo img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter:
saturate(0.9)
contrast(1.04)
brightness(0.96);
transition:
transform 0.7s cubic-bezier(0.2, 0.7, 0.25, 1),
filter 0.7s ease;
}
.bk-glass__description {
min-height: clamp(350px, 34vw, 410px);
padding: clamp(30px, 4vw, 46px);
}
.bk-glass__description .bk-glass__content {
color: var(--bk-glass-muted);
font-size: clamp(17px, 1.4vw, 20px);
font-weight: 450;
line-height: 1.58;
letter-spacing: -0.01em;
}
.bk-glass__description p {
margin: 0;
}
.bk-glass__description p + p {
margin-top: 1.15em;
}
@media (hover: hover) {
.bk-glass__panel:hover {
z-index: 4;
transform:
translateY(-5px)
scale(1.012);
border-color: rgba(255, 255, 255, 0.92);
border-radius: 38px;
box-shadow:
0 30px 75px rgba(39, 73, 56, 0.21),
0 10px 25px rgba(39, 73, 56, 0.1),
inset 2px 2px 1px rgba(255, 255, 255, 0.96),
inset -2px -2px 2px rgba(255, 255, 255, 0.32);
}
.bk-glass__panel:hover .bk-glass__effect {
background: rgba(255, 255, 255, 0.07);
-webkit-backdrop-filter:
blur(20px)
saturate(165%);
backdrop-filter:
blur(20px)
saturate(165%);
}
.bk-glass__panel:hover .bk-glass__tint {
background:
linear-gradient(
145deg,
rgba(255, 255, 255, 0.5),
rgba(255, 255, 255, 0.16) 46%,
rgba(237, 253, 246, 0.28)
);
}
.bk-glass__panel:hover .bk-glass__shine {
opacity: 1;
transform: translate3d(3px, 2px, 0);
}
.bk-glass__photo:hover .bk-glass__photo-frame {
border-radius: 27px;
transform: scale(0.985);
}
.bk-glass__photo:hover img {
transform: scale(1.07);
filter:
saturate(1.05)
contrast(1.02)
brightness(1.02);
}
}
@keyframes bk-glass-background {
from {
background-position:
center,
0 0;
}
to {
background-position:
center,
0 -720px;
}
}
@keyframes bk-glass-float {
from {
transform:
translate3d(-25px, -15px, 0)
scale(0.94);
}
to {
transform:
translate3d(35px, 25px, 0)
scale(1.08);
}
}
@media (max-width: 900px) {
.bk-glass {
min-height: auto;
background-size:
cover,
620px auto;
}
.bk-glass__container {
padding: 60px 0;
}
.bk-glass__grid {
grid-template-columns: 1fr;
}
.bk-glass__photo {
height: 420px;
}
.bk-glass__description {
min-height: auto;
}
}
@media (max-width: 600px) {
.bk-glass {
--bk-glass-gap: 16px;
--bk-glass-radius: 24px;
min-height: auto;
background-size:
cover,
480px auto;
}
.bk-glass__container {
width: calc(100% - 20px);
padding: 20px 0;
}
.bk-glass__title {
padding: 21px 20px;
}
.bk-glass__title .bk-glass__content {
font-size: clamp(29px, 9vw, 42px);
line-height: 1.08;
}
.bk-glass__photo {
height: 310px;
padding: 10px;
}
.bk-glass__photo-frame {
border-radius: 17px;
}
.bk-glass__description {
padding: 25px 21px;
}
.bk-glass__description .bk-glass__content {
font-size: 16px;
line-height: 1.55;
}
.bk-glass__ambient {
width: 260px;
height: 260px;
filter: blur(65px);
}
}
@media (prefers-reduced-motion: reduce) {
.bk-glass,
.bk-glass__ambient {
animation: none;
}
.bk-glass__panel,
.bk-glass__effect,
.bk-glass__tint,
.bk-glass__shine,
.bk-glass__photo-frame,
.bk-glass__photo img {
transition: none;
}
}
</style>