:root {
--color-black: #050505;
--color-white: #f7f4ee;
--color-gold: #9b814d;
--color-gold-light: #9b814d;
--color-gold-muted: #9b814d;
--color-gold-dark: #6f5a34;
--gold-rgb: 155, 129, 77;
--gold-dark-rgb: 111, 90, 52;
--color-gold-glow: rgba(155, 129, 77, 0.35);
} * {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
margin: 0;
font-family: "Manrope", Arial, sans-serif; color: var(--color-white);
overflow-x: hidden;
position: relative;
}
a {
color: inherit;
text-decoration: none;
}
button {
padding: 0;
border: 0;
font: inherit;
}
img, video, svg {
display: block;
max-width: 100%;
}
.container {
width: min(var(--container), calc(100% - 80px));
margin-inline: auto;
}
@media (max-width: 768px) {
.container {
width: calc(100% - 36px);
}
}
@media (max-width: 480px) {
.container {
width: calc(100% - 28px);
}
} .site-header {
position: fixed;
top: 18px;
left: 0;
width: 100%;
z-index: 1000;
pointer-events: none;
}
.site-header__container {
position:relative;
margin: 0 auto;
height: 74px;
display: flex;
align-items: center;
justify-content: space-between;
padding-inline: 30px;
border: 1px solid rgba(191, 164, 106, 0.18);
border-radius: 999px;
background:
linear-gradient(
180deg,
rgba(12, 12, 12, 0.74),
rgba(5, 5, 5, 0.58)
);
backdrop-filter: blur(22px);
pointer-events: auto;
}
.site-header__trademark {
position: absolute;
top: 50%;
left: 50%;
z-index: 3;
display: flex;
align-items: center;
justify-content: center;
width: 72px;
height: 72px;
transform: translate(-50%, -50%);
text-decoration: none;
flex-shrink: 0;
}
.site-header__trademark img {
display: block;
width: 100%;
height: 100%;
object-fit: contain;
transition:
opacity 0.3s ease,
transform 0.3s ease,
filter 0.3s ease;
}
.site-header__trademark:hover img {
transform: scale(1.04);
filter: drop-shadow(0 0 10px rgba(191, 164, 106, 0.25));
}
.site-header.is-scrolled .site-header__trademark {
width: 52px;
height: 52px;
}
.site-header__container::before {
content: "";
position: absolute;
inset: 0;
border-radius: inherit;
background:
radial-gradient(circle at 12% 50%, rgba(191, 164, 106, 0.09), transparent 28%),
radial-gradient(circle at 88% 50%, rgba(191, 164, 106, 0.06), transparent 30%);
pointer-events: none;
}
.site-header__logo {
position: relative;
z-index: 2;
display: flex;
align-items: center;
gap: 14px;
flex-shrink: 0;
min-width: 0;
}
.site-header__logo::after {
content: "";
width: 6px;
height: 6px;
border-radius: 50%;
background: #bfa46a;
box-shadow: 0 0 16px rgba(191, 164, 106, 0.85);
flex-shrink: 0;
}
.site-header__logo img {
display: block;
width: auto;
max-width: 180px;
height: 46px;
object-fit: contain;
transition: height 0.35s ease;
}
.site-header__nav {
position: relative;
z-index: 2;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 34px;
min-width: 0;
flex: 1;
}
.site-header__nav li,
.mobile-menu__nav li,
.footer__nav li {
list-style: none;
margin: 0;
padding: 0;
}
.site-header__nav a {
position: relative;
white-space: nowrap;
font-size: 11px;
line-height: 1;
font-weight: 500;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--color-gold-light);
text-decoration: none;
transition: color 0.35s ease;
}
.site-header__nav a::before {
content: "";
position: absolute;
left: 50%;
top: -16px;
width: 5px;
height: 5px;
border-radius: 50%;
background: #bfa46a;
box-shadow: 0 0 18px rgba(191, 164, 106, 0.75);
opacity: 0;
transform: translateX(-50%) scale(0);
transition: opacity 0.35s ease, transform 0.35s ease;
}
.site-header__nav a::after {
content: "";
position: absolute;
left: 50%;
bottom: -15px;
width: 36px;
height: 1px;
background: linear-gradient(
90deg,
transparent,
rgba(191, 164, 106, 0.82),
transparent
);
opacity: 0;
transform: translateX(-50%) scaleX(0);
transition: opacity 0.35s ease, transform 0.35s ease;
}
.site-header__nav a:hover,
.site-header__nav a.is-active {
color: #f7f4ee;
}
.site-header__nav a:hover::before,
.site-header__nav a.is-active::before,
.site-header__nav a:hover::after,
.site-header__nav a.is-active::after {
opacity: 1;
transform: translateX(-50%) scale(1);
}
.site-header__lang-switch {
position: relative;
z-index: 2;
flex-shrink: 0;
}
.site-header__lang-switch ul {
display: flex;
align-items: center;
gap: 8px;
margin: 3px 0 0 0;
padding: 0;
list-style: none;
}
.site-header__lang-switch li + li::before {
content: "/";
margin-right: 8px;
color: rgba(245, 242, 236, 0.35);
}
.site-header__lang-switch li {
display: flex;
align-items: center;
}
.site-header__lang-switch a {
font-size: 11px;
line-height: 1;
font-weight: 500;
letter-spacing: 0.18em;
text-transform: uppercase;
color: rgba(245, 242, 236, 0.68);
text-decoration: none;
transition: color 0.35s ease;
}
.site-header__lang-switch a:hover {
color: #f7f4ee;
}
.site-header__lang-switch .current-lang a {
color: #bfa46a;
}
.mobile-menu__lang-switch {
position: relative;
z-index: 2;
margin-top: 32px;
}
.mobile-menu__lang-switch ul {
display: flex;
align-items: center;
gap: 10px;
margin: 0;
padding: 0;
list-style: none;
}
.mobile-menu__lang-switch li + li::before {
content: "/";
margin-right: 10px;
color: rgba(245, 242, 236, 0.35);
}
.mobile-menu__lang-switch a {
font-family: "Manrope", Arial, sans-serif;
font-size: 13px;
font-weight: 500;
letter-spacing: 0.14em;
text-transform: uppercase;
color: rgba(245, 242, 236, 0.55);
text-decoration: none;
}
.mobile-menu__lang-switch .current-lang a {
color: #bfa46a;
}
.site-header__burger {
position: relative;
z-index: 2;
display: none;
width: 48px;
height: 48px;
flex-shrink: 0;
border: 1px solid rgba(191, 164, 106, 0.28);
border-radius: 50%;
background: rgba(5, 5, 5, 0.34);
cursor: pointer;
}
.site-header__burger span {
position: absolute;
left: 14px;
width: 18px;
height: 1px;
background: #d7c18a;
}
.site-header__burger span:first-child {
top: 18px;
}
.site-header__burger span:last-child {
top: 27px;
}
.site-header__nav {
display: flex;
}
.site-header .menu {
display: flex;
align-items: center;
gap: 32px;
} .site-header.is-scrolled {
top: 10px;
}
.site-header.is-scrolled .site-header__container {
height: 64px;
background: linear-gradient(
180deg,
rgba(8, 8, 8, 0.9),
rgba(5, 5, 5, 0.78)
);
border-color: rgba(191, 164, 106, 0.26);
}
.site-header.is-scrolled .site-header__logo img {
height: 40px;
} .mobile-menu {
position: fixed;
inset: 0;
z-index: 1100;
display: flex;
flex-direction: column;
justify-content: center;
padding: 110px 32px 54px;
background:
radial-gradient(circle at 78% 18%, rgba(191, 164, 106, 0.13), transparent 34%),
radial-gradient(circle at 18% 82%, rgba(191, 164, 106, 0.08), transparent 34%),
rgba(5, 5, 5, 0.98);
backdrop-filter: blur(28px);
-webkit-backdrop-filter: blur(28px);
opacity: 0;
visibility: hidden;
pointer-events: none;
transform: translateY(-18px);
transition: opacity 0.45s ease, visibility 0.45s ease, transform 0.45s ease;
}
.mobile-menu.is-open {
opacity: 1;
visibility: visible;
pointer-events: auto;
transform: translateY(0);
}
.mobile-menu__close {
position: absolute;
right: 28px;
top: 28px;
z-index: 2;
width: 50px;
height: 50px;
border: 1px solid rgba(191, 164, 106, 0.28);
border-radius: 50%;
background: rgba(5, 5, 5, 0.36);
cursor: pointer;
}
.mobile-menu__close span {
position: absolute;
left: 50%;
top: 50%;
width: 20px;
height: 1px;
background: #d7c18a;
}
.mobile-menu__close span:first-child {
transform: translate(-50%, -50%) rotate(45deg);
}
.mobile-menu__close span:last-child {
transform: translate(-50%, -50%) rotate(-45deg);
}
.mobile-menu__logo {
position: absolute;
left: 32px;
top: 28px;
z-index: 2;
}
.mobile-menu__logo img {
display: block;
height: 52px;
width: auto;
}
.mobile-menu__nav {
position: relative;
z-index: 2;
display: grid;
gap: 24px;
}
.mobile-menu__nav a {
width: fit-content;
font-family: "Cormorant Garamond", Georgia, serif;
font-size: 58px;
line-height: 0.95;
font-weight: 500;
letter-spacing: -0.045em;
color: #f7f4ee;
}
.mobile-menu__nav a:nth-child(even) {
color: #bfa46a;
} @media (max-width: 1180px) {
.site-header {
padding-left: 24px;
padding-right: 24px;
}
.mobile-menu .menu {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 24px;
}
.site-header__container {
height: 70px;
padding-left: 24px;
padding-right: 20px;
gap: 18px;
}
.site-header__nav {
display: none;
}
.site-header__burger {
display: block;
}
.site-header__logo img {
height: 40px;
max-width: 150px;
}
.site-header__nav {
gap: 20px;
}
.site-header__nav a {
font-size: 10px;
letter-spacing: 0.12em;
}
} @media (max-width: 980px) {
.site-header__trademark {
width: 60px;
height: 60px;
}
.site-header {
top: 14px;
padding-left: 18px;
padding-right: 18px;
}
.site-header__container {
height: 68px;
padding-left: 22px;
padding-right: 12px;
}
.site-header__lang-switch {
display: none;
}
.site-header__logo img {
height: 42px;
max-width: 170px;
}
} @media (max-width: 560px) {
.site-header__trademark {
width: 44px;
height: 44px;
}
.site-header.is-scrolled .site-header__trademark {
width: 50px;
height: 50px;
}
.site-header {
top: 12px;
padding-left: 14px;
padding-right: 14px;
}
.site-header__container {
height: 64px;
padding-left: 18px;
padding-right: 10px;
}
.site-header__logo {
gap: 10px;
}
.site-header__logo img {
height: 36px;
max-width: 145px;
}
.site-header__burger {
width: 44px;
height: 44px;
}
.site-header__burger span {
left: 13px;
width: 17px;
}
.site-header__burger span:first-child {
top: 17px;
}
.site-header__burger span:last-child {
top: 25px;
}
.mobile-menu__nav a {
font-size: 42px;
}
}  .footer {
position: relative;
overflow: hidden;
padding: 140px 0 50px;
border-top: 1px solid rgba(155, 129, 77, 0.12);
}
.footer::before {
content: "";
position: absolute;
left: 50%;
bottom: -420px;
width: 1000px;
height: 1000px;
transform: translateX(-50%);
background:
radial-gradient(
circle,
rgba(155, 129, 77, 0.12) 0%,
rgba(155, 129, 77, 0.05) 35%,
transparent 75%
);
filter: blur(120px);
pointer-events: none;
}
.footer::after {
content: "";
position: absolute;
right: 5%;
bottom: 40px;
width: 280px;
height: 280px;
background: url(//harmoniya-smaku.com/wp-content/themes/imperia-appetita/assets/images/logo.svg) center/contain no-repeat;
opacity: 0.025;
pointer-events: none;
}
.footer__container {
position: relative;
z-index: 2;
max-width: 1320px;
margin: 0 auto;
padding-left: 40px;
padding-right: 40px;
}
.footer__top {
display: grid;
grid-template-columns: 220px 1fr;
gap: 100px;
align-items: center;
}
.footer__brand {
display: flex;
justify-content: flex-start;
}
.footer__brand img {
width: 180px;
height: auto;
}
.footer__content {
max-width: 820px;
}
.footer__eyebrow {
position: relative;
width: fit-content;
margin: 0 0 26px;
padding-bottom: 14px;
font-size: 11px;
line-height: 1.5;
letter-spacing: 0.24em;
text-transform: uppercase;
color: rgba(191, 164, 106, 0.82);
}
.footer__eyebrow::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 140px;
height: 1px;
background: linear-gradient(
90deg,
rgba(191, 164, 106, 0.95),
rgba(191, 164, 106, 0.15),
transparent
);
}
.footer__title {
margin: 0;
font-family: "Cormorant Garamond", serif;
font-size: 82px;
font-weight: 500;
line-height: 0.92;
letter-spacing: -0.045em;
color: #f5f2ec;
}
.footer__title span {
display: block;
color: #9b814d;
}
.footer__text {
max-width: 620px;
margin: 30px 0 0;
font-size: 16px;
line-height: 1.8;
color: rgba(245, 242, 236, 0.64);
}
.footer__bottom {
position: relative;
margin-top: 90px;
padding-top: 32px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 30px;
border-top: 1px solid rgba(155, 129, 77, 0.12);
}
.footer__bottom::before {
content: "";
position: absolute;
left: 50%;
top: -1px;
width: 260px;
height: 1px;
transform: translateX(-50%);
background: linear-gradient(
90deg,
transparent,
rgba(155, 129, 77, 0.9),
transparent
);
}
.footer__nav {
display: flex;
flex-wrap: wrap;
gap: 34px;
}
.footer__nav a {
position: relative;
font-size: 11px;
line-height: 1;
letter-spacing: 0.18em;
text-transform: uppercase;
color: rgba(245, 242, 236, 0.58);
transition: 0.35s ease;
}
.footer__nav a:hover {
color: #d7c18a;
}
.footer__copyright {
margin: 0;
font-size: 11px;
line-height: 1;
letter-spacing: 0.18em;
text-transform: uppercase;
color: rgba(245, 242, 236, 0.38);
} @media (max-width: 1024px) {
.footer {
padding-top: 110px;
}
.footer__container {
padding-left: 30px;
padding-right: 30px;
}
.footer__top {
grid-template-columns: 1fr;
gap: 50px;
}
.footer__brand img {
width: 160px;
}
.footer__title {
font-size: 62px;
}
.footer__bottom {
margin-top: 70px;
}
} @media (max-width: 768px) {
.footer {
padding-top: 90px;
padding-bottom: 40px;
}
.footer__container {
padding-left: 20px;
padding-right: 20px;
}
.footer__title {
font-size: 44px;
line-height: 0.98;
}
.footer__text {
margin-top: 24px;
font-size: 14px;
line-height: 1.7;
}
.footer__bottom {
flex-direction: column;
align-items: flex-start;
gap: 24px;
}
.footer__nav {
gap: 18px;
}
.footer::after {
width: 180px;
height: 180px;
right: 20px;
bottom: 20px;
}
} @media (max-width: 480px) {
.footer__container {
padding-left: 14px;
padding-right: 14px;
}
.footer__title {
font-size: 38px;
}
.footer__nav {
flex-direction: column;
gap: 16px;
}
}  .site-veins {
position: fixed;
inset: 0;
z-index: 0;
pointer-events: none;
overflow: hidden;
}
.site-veins__svg {
width: 100%;
height: 100%;
}
.site-veins__path {
fill: none;
stroke-linecap: round;
stroke-linejoin: round;
}
.site-veins__path--base {
stroke: rgba(191, 164, 106, 0.08);
stroke-width: 1;
}
.site-veins__path--glow {
stroke: rgba(191, 164, 106, 0.85);
stroke-width: 1.4;
filter: drop-shadow(0 0 8px rgba(191, 164, 106, 0.55));
stroke-dasharray: var(--vein-length);
stroke-dashoffset: var(--vein-length);
}
main,
header,
footer {
position: relative;
z-index: 1;
} .site-video-bg {
position: fixed;
inset: 0;
z-index: 0;
overflow: hidden;
pointer-events: none;
background-color: #050505;
background-position: center;
background-size: cover;
background-repeat: no-repeat;
} .site-video-bg__video {
position: absolute;
inset: 0;
z-index: 0;
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0;
visibility: hidden;
transform: scale(1.02);
transition: opacity 0.5s ease;
} .site-video-bg__video.is-playing {
opacity: 1;
visibility: visible;
} .site-video-bg__video.is-fallback {
display: none;
} .site-video-bg::after {
content: "";
position: absolute;
inset: 0;
z-index: 1;
pointer-events: none;
background:
radial-gradient(
circle at 50% 22%,
rgba(191, 164, 106, 0.025),
transparent 42%
),
linear-gradient(
180deg,
rgba(5, 5, 5, 0.72),
rgba(5, 5, 5, 0.9)
);
}
main,
.footer {
position: relative;
z-index: 1;
}