@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400..900&family=Unbounded&display=swap');

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

html {
scroll-behavior: smooth;
}

body {
font-family: 'Georgia', 'Times New Roman', serif;
background: #fcfaf7;
color: #1e1e1e;
line-height: 1.5;
overflow-x: hidden;
animation: fadeInPage 0.2s ease forwards;
opacity: 0;
}

@keyframes fadeInPage {
from { opacity: 0; }
to { opacity: 1; }
}

.container {
max-width: 1400px;
margin: 0 auto;
padding: 0 30px;
}

a {
text-decoration: none;
}

.header {
position: absolute;
top: 10px;
left: 0;
width: 100%;
padding: 22px 40px;
z-index: 60;
display: flex;
align-items: center;
justify-content: space-between;
background: transparent;
transition: background 0.3s ease;
}

.header.scrolled {
background: rgba(20,20,20,0.75);
backdrop-filter: blur(6px);
position: fixed;
top: 0;
box-shadow: 0 2px 20px rgba(0,0,0,0.1);
}

.header-left,
.header-right {
display: flex;
align-items: center;
gap: 28px;
font-family: "Unbounded", sans-serif;
font-size: 13px;
letter-spacing: 1.5px;
text-transform: uppercase;
}

.header-left a,
.header-right a {
color: #F5EFE6;
text-decoration: none;
opacity: 0.85;
transition: opacity 0.2s;
display: flex;
align-items: center;
gap: 6px;
}

.header-left a:hover,
.header-right a:hover {
opacity: 1;
}

.header-logo {
position: absolute;
left: 50%;
top: 35px;
transform: translate(-50%, -50%);
}

.header-logo img {
height: 55px;
transition: opacity 0.3s ease;
}

.header-right .icon {
width: 20px;
height: 20px;
fill: #F5EFE6;
}

.hero-carousel {
position: relative;
width: 100%;
height: 100vh;
min-height: 700px;
overflow: hidden;
background: #2a2520;
}

.hero-slide {
position: absolute;
inset: 0;
opacity: 0;
transition: opacity 1.2s ease;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}

.hero-slide.active {
opacity: 1;
z-index: 2;
}

.hero-slide::after {
content: '';
position: absolute;
inset: 0;
background: rgba(0,0,0,0.3);
pointer-events: none;
}

.hero-slide .hero-label {
position: absolute;
bottom: 100px;
left: 60px;
z-index: 3;
color: #F5EFE6;
text-shadow: 0 2px 30px rgba(0,0,0,0.6);
max-width: 80%;
}

.hero-slide .hero-label h1 {
font-family: "Unbounded", sans-serif;
font-size: 52px;
font-weight: 300;
letter-spacing: 8px;
text-transform: uppercase;
margin-bottom: 12px;
}

.hero-slide .hero-label p {
font-family: "Golos Text", sans-serif;
font-size: 18px;
font-weight: 300;
letter-spacing: 3px;
text-transform: uppercase;
opacity: 0.9;
}

.hero-arrow {
position: absolute;
top: 50%;
transform: translateY(-50%);
z-index: 10;
width: 56px;
height: 56px;
border: none;
background: rgba(0,0,0,0.25);
backdrop-filter: blur(4px);
color: #F5EFE6;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: background 0.3s, border-color 0.3s, transform 0.3s;
}

.hero-arrow:hover {
background: rgba(0,0,0,0.55);
}

.hero-arrow svg {
width: 22px;
height: 22px;
fill: #F5EFE6;
}

.hero-arrow.prev { left: 30px; }
.hero-arrow.next { right: 30px; }

.hero-dots {
position: absolute;
bottom: 40px;
left: 50%;
transform: translateX(-50%);
z-index: 10;
display: flex;
gap: 14px;
}

.hero-dot {
width: 36px;
height: 2px;
background: rgba(245,239,230,0.3);
border: none;
padding: 0;
cursor: pointer;
transition: background 0.3s, transform 0.3s;
}

.hero-dot.active {
background: #F5EFE6;
transform: scaleY(2);
}

.hero-dot:hover {
background: rgba(245,239,230,0.7);
}

.hero-progress {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 3px;
background: rgba(245,239,230,0.1);
z-index: 10;
}

.hero-progress-bar {
height: 100%;
width: 0;
background: #F5EFE6;
transition: width 0.1s linear;
}

.image-block {
position: relative;
width: 100%;
height: 100vh;
min-height: 300px;
display: flex;
align-items: flex-end;
padding: 40px;
color: #fff;
background-size: cover;
background-position: center;
}

.image-block::before {
content: '';
position: absolute;
inset: 0;
background: rgba(0,0,0,0.35);
pointer-events: none;
z-index: 1;
}

.image-block::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 50%;
background: linear-gradient(0deg, rgba(0,0,0,0.5), transparent);
pointer-events: none;
z-index: 1;
}

.image-block .label {
position: relative;
z-index: 2;
font-family: "Unbounded", sans-serif;
font-size: 24px;
font-weight: 300;
letter-spacing: 3px;
text-transform: uppercase;
text-shadow: 0 2px 20px rgba(0,0,0,0.5);
}

.image-block .label small {
display: block;
font-family: "Golos Text", sans-serif;
font-size: 13px;
font-weight: 300;
opacity: 0.9;
letter-spacing: 1px;
margin-top: 6px;
}

.image-block-duo {
display: grid;
grid-template-columns: 1fr 1fr;
}

.image-block-trio {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
}

.image-block-duo .image-block,
.image-block-trio .image-block {
height: 70vh;
min-height: 300px;
}

.catalog-section {
background: #F5EFE6;
padding: 80px 0 1px;
}

.catalog-header {
padding: 0 50px 40px;
background-color: #F5EFE6;
border-bottom: 1px solid #000000;
margin-bottom: 40px;
}

.catalog-header h2 {
font-family: "Unbounded", sans-serif;
font-size: 42px;
font-weight: 200;
letter-spacing: 10px;
text-transform: uppercase;
color: #000000;
margin-bottom: 10px;
}

.catalog-header p {
font-family: "Golos Text", sans-serif;
font-size: 14px;
font-weight: 300;
color: #888;
letter-spacing: 2px;
}

.catalog-filters {
padding: 0 50px 28px;
background: #F5EFE6;
display: flex;
flex-wrap: wrap;
gap: 16px 35px;
align-items: center;
}

.catalog-filters .filter-label {
font-family: "Golos Text", sans-serif;
font-size: 11px;
font-weight: 600;
letter-spacing: 2px;
text-transform: uppercase;
color: #666;
}

.catalog-filters .filter-group {
display: flex;
flex-wrap: wrap;
gap: 6px;
}

.catalog-filters .filter-btn {
font-family: "Golos Text", sans-serif;
font-size: 12px;
padding: 7px 22px;
border: 1px solid #2a2a2a;
background: transparent;
color: #000000;
cursor: pointer;
border-radius: 30px;
transition: all 0.35s ease;
letter-spacing: 0.8px;
text-transform: uppercase;
}

.catalog-filters .filter-btn:hover {
border-color: #F5EFE6;
color: #F5EFE6;
background: #000;
}

.catalog-filters .filter-btn.active {
background: #000000;
border-color: #F5EFE6;
color: #F5EFE6;
}

.catalog-filters .filter-sort {
margin-left: auto;
font-family: "Golos Text", sans-serif;
font-size: 12px;
color: #000000;
display: flex;
align-items: center;
gap: 12px;
letter-spacing: 0.5px;
}

.catalog-filters .filter-sort select {
padding: 8px 16px;
border: 1px solid #2a2a2a;
border-radius: 4px;
background: #F5EFE6;
font-family: "Golos Text", sans-serif;
font-size: 12px;
color: #000000;
outline: none;
cursor: pointer;
transition: border-color 0.3s;
appearance: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 12px center;
padding-right: 36px;
}

.catalog-filters .filter-sort select:focus {
border-color: #F5EFE6;
}

.catalog-filters .filter-sort select option {
background: #F5EFE6;
color: #000000;
}

.catalog-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2px;
background: #F5EFE6;
padding: 2px;
}

.catalog-item {
position: relative;
aspect-ratio: 4 / 4;
background-size: cover;
background-position: center;
display: flex;
align-items: flex-end;
padding: 32px 28px;
color: #fff;
text-decoration: none;
overflow: hidden;
background-color: #000000;
transition: transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94);
}

.catalog-item::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(0deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.2) 60%, rgba(0,0,0,0.1) 100%);
z-index: 1;
transition: background 0.5s ease;
}

.catalog-item:hover::before {
background: linear-gradient(0deg, rgba(0,0,0,0.90) 0%, rgba(0,0,0,0.3) 60%, rgba(0,0,0,0.15) 100%);
}

.catalog-item .item-info {
position: relative;
z-index: 2;
width: 100%;
}

.catalog-item .item-tag {
display: inline-block;
font-family: "Golos Text", sans-serif;
font-size: 9px;
font-weight: 600;
letter-spacing: 2px;
text-transform: uppercase;
padding: 4px 16px;
background: rgba(0,0,0,0.15);
backdrop-filter: blur(4px);
border: 1px solid rgba(201,168,124,0.3);
color: #F5EFE6;
margin-bottom: 14px;
border-radius: 20px;
transition: all 0.3s ease;
}

.catalog-item:hover .item-tag {
background: rgba(0,0,0,0.25);
border-color: #F5EFE6;
}

.catalog-item .item-tag.sale {
background: rgba(180,50,50,0.2);
border-color: rgba(180,50,50,0.4);
color: #d47777;
}

.catalog-item .item-tag.new {
background: rgba(50,180,130,0.15);
border-color: rgba(50,180,130,0.3);
color: #7ac9b0;
}

.catalog-item .item-tag.exclusive {
background: rgba(201,168,124,0.08);
border-color: rgba(201,168,124,0.15);
color: #c9a87c;
}

.catalog-item h3 {
font-family: "Unbounded", sans-serif;
font-size: 18px;
font-weight: 300;
letter-spacing: 3px;
text-transform: uppercase;
margin-bottom: 4px;
text-shadow: 0 2px 30px rgba(0,0,0,0.6);
color: #f0ece6;
}

.catalog-item .item-desc {
font-family: "Golos Text", sans-serif;
font-size: 12px;
font-weight: 300;
opacity: 0.7;
margin-bottom: 8px;
letter-spacing: 0.8px;
text-shadow: 0 1px 20px rgba(0,0,0,0.5);
}

.catalog-item .item-price {
font-family: "Unbounded", sans-serif;
font-size: 14px;
font-weight: 300;
letter-spacing: 2px;
color: #F5EFE6;
text-shadow: 0 1px 20px rgba(0,0,0,0.4);
display: inline-flex;
align-items: center;
gap: 8px;
transition: color 0.3s ease;
}

.catalog-item .item-price svg {
width: 16px;
height: 16px;
fill: currentColor;
transition: transform 0.3s ease;
}

.catalog-item:hover .item-price {
color: #c9a87c;
}

.catalog-item:hover .item-price svg {
transform: translateX(4px);
}

.catalog-item .item-price::after {
content: '';
display: block;
width: 30px;
height: 1px;
background: #F5EFE6;
margin-top: 6px;
opacity: 0.4;
transition: width 0.4s ease, opacity 0.4s ease;
}

.catalog-item:hover .item-price::after {
width: 50px;
opacity: 0.8;
}

.catalog-state {
grid-column: 1 / -1;
padding: 60px 20px;
text-align: center;
font-family: "Golos Text", sans-serif;
font-size: 14px;
letter-spacing: 1px;
color: #888;
}

.tg-cta {
padding: 80px 20px;
background: #0f0f0f;
text-align: center;
border-top: 1px solid #1e1e1e;
border-bottom: 1px solid #1e1e1e;
}

.tg-cta h3 {
font-family: "Unbounded", sans-serif;
font-size: 28px;
font-weight: 300;
letter-spacing: 4px;
text-transform: uppercase;
color: #F5EFE6;
margin-bottom: 16px;
}

.tg-cta p {
font-family: "Golos Text", sans-serif;
font-size: 15px;
color: #888;
margin-bottom: 32px;
max-width: 600px;
margin-left: auto;
margin-right: auto;
line-height: 1.7;
}

.tg-btn {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 18px 48px;
background: #229ED9;
color: #fff;
font-family: "Unbounded", sans-serif;
font-size: 14px;
font-weight: 600;
letter-spacing: 2px;
text-transform: uppercase;
border: none;
cursor: pointer;
transition: background 0.3s, transform 0.3s;
}

.tg-btn:hover {
background: #1a8ac2;
transform: translateY(-2px);
}

.tg-btn svg {
width: 20px;
height: 20px;
fill: #fff;
}

.footer {
padding: 40px 20px 30px;
background: #000;
border-top: 1px solid #222;
color: #F5EFE6;
}

.footer-grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr 1fr;
gap: 40px;
margin-bottom: 40px;
}

.footer-col h4 {
font-family: "Unbounded", sans-serif;
font-size: 12px;
letter-spacing: 2px;
text-transform: uppercase;
margin-bottom: 18px;
color: #F5EFE6;
}

.footer-col p,
.footer-col a {
font-family: Arial, sans-serif;
font-size: 14px;
font-weight: 300;
color: #888;
line-height: 2.2;
text-decoration: none;
display: block;
transition: color 0.2s;
}

.footer-col a:hover {
color: #bbb;
}

.footer-bottom {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 10px;
padding-top: 30px;
font-family: "Unbounded", sans-serif;
font-size: 13px;
color: #666;
}

.footer-bottom a {
color: #888;
text-decoration: none;
margin-left: 20px;
transition: color 0.2s;
}

.footer-bottom a:hover {
color: #bbb;
}

.scroll-top {
position: fixed;
bottom: 30px;
right: 30px;
width: 48px;
height: 48px;
background: #000;
color: #F5EFE6;
border: 1px solid #333;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
opacity: 0;
visibility: hidden;
transition: opacity 0.3s, visibility 0.3s, background 0.3s;
z-index: 100;
}

.scroll-top.visible {
opacity: 1;
visibility: visible;
}

.scroll-top:hover {
background: #4A1F2A;
}

.scroll-top svg {
width: 20px;
height: 20px;
fill: #F5EFE6;
}

.lb-hero {
position: relative;
width: 100%;
height: 70vh;
min-height: 520px;
background-size: cover;
background-position: center;
display: flex;
align-items: flex-end;
padding: 0 60px 80px;
color: #F5EFE6;
overflow: hidden;
}

.lb-hero::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(0deg, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.25) 60%, rgba(0,0,0,0.35) 100%);
z-index: 1;
}

.lb-hero .lb-hero-inner {
position: relative;
z-index: 2;
max-width: 900px;
}

.lb-hero .lb-eyebrow {
font-family: "Golos Text", sans-serif;
font-size: 12px;
font-weight: 500;
letter-spacing: 4px;
text-transform: uppercase;
opacity: 0.85;
margin-bottom: 18px;
}

.lb-hero h1 {
font-family: "Unbounded", sans-serif;
font-size: 64px;
font-weight: 300;
letter-spacing: 10px;
text-transform: uppercase;
margin-bottom: 18px;
line-height: 1.05;
}

.lb-hero p {
font-family: "Golos Text", sans-serif;
font-size: 16px;
font-weight: 300;
letter-spacing: 1.5px;
opacity: 0.85;
max-width: 620px;
line-height: 1.7;
}

.lb-intro {
background: #F5EFE6;
padding: 100px 40px 90px;
text-align: center;
}

.lb-intro .lb-intro-inner {
max-width: 780px;
margin: 0 auto;
}

.lb-intro h2 {
font-family: "Unbounded", sans-serif;
font-size: 26px;
font-weight: 200;
letter-spacing: 6px;
text-transform: uppercase;
color: #000;
margin-bottom: 22px;
}

.lb-intro p {
font-family: "Golos Text", sans-serif;
font-size: 16px;
font-weight: 300;
color: #444;
line-height: 1.85;
letter-spacing: 0.5px;
}

.lb-intro .lb-divider {
display: inline-block;
width: 60px;
height: 1px;
background: #000;
margin: 32px 0;
opacity: 0.4;
}

.lb-block {
display: grid;
grid-template-columns: 1fr 1fr;
align-items: stretch;
background: #F5EFE6;
min-height: 620px;
}

.lb-block .lb-photo { order: 1; }
.lb-block .lb-text { order: 2; }
.lb-block.reverse .lb-photo { order: 2; }
.lb-block.reverse .lb-text { order: 1; }

.lb-photo {
position: relative;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-color: #ddd6cc;
min-height: 620px;
}

.lb-photo::after {
content: '';
position: absolute;
inset: 0;
background: rgba(0,0,0,0.05);
pointer-events: none;
}

.lb-text {
display: flex;
align-items: center;
padding: 80px 90px;
background: #F5EFE6;
}

.lb-text-inner {
max-width: 520px;
}

.lb-text .lb-num {
font-family: "Unbounded", sans-serif;
font-size: 13px;
font-weight: 300;
letter-spacing: 6px;
color: #999;
margin-bottom: 22px;
}

.lb-text h3 {
font-family: "Unbounded", sans-serif;
font-size: 30px;
font-weight: 200;
letter-spacing: 4px;
text-transform: uppercase;
color: #000;
line-height: 1.25;
margin-bottom: 26px;
}

.lb-text .lb-lead {
font-family: "Golos Text", sans-serif;
font-size: 17px;
font-weight: 400;
color: #222;
line-height: 1.75;
margin-bottom: 22px;
}

.lb-text p {
font-family: "Golos Text", sans-serif;
font-size: 15px;
font-weight: 300;
color: #555;
line-height: 1.85;
margin-bottom: 16px;
}

.lb-text .lb-tags {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 30px;
}

.lb-text .lb-tag {
font-family: "Golos Text", sans-serif;
font-size: 10px;
font-weight: 600;
letter-spacing: 2px;
text-transform: uppercase;
padding: 6px 16px;
border: 1px solid #2a2a2a;
color: #000;
border-radius: 30px;
}

.lb-text .lb-cta {
display: inline-flex;
align-items: center;
gap: 10px;
margin-top: 34px;
font-family: "Unbounded", sans-serif;
font-size: 12px;
font-weight: 500;
letter-spacing: 2.5px;
text-transform: uppercase;
color: #000;
border-bottom: 1px solid #000;
padding-bottom: 6px;
transition: color 0.3s, border-color 0.3s, gap 0.3s;
}

.lb-text .lb-cta:hover {
color: #4A1F2A;
border-color: #4A1F2A;
gap: 16px;
}

.lb-text .lb-cta svg {
width: 16px;
height: 16px;
fill: currentColor;
}

.lb-block + .lb-block {
border-top: 1px solid rgba(0,0,0,0.06);
}

.lb-outro {
background: #0f0f0f;
color: #F5EFE6;
padding: 100px 40px;
text-align: center;
}

.lb-outro h2 {
font-family: "Unbounded", sans-serif;
font-size: 28px;
font-weight: 200;
letter-spacing: 5px;
text-transform: uppercase;
margin-bottom: 22px;
}

.lb-outro p {
font-family: "Golos Text", sans-serif;
font-size: 15px;
font-weight: 300;
color: #999;
max-width: 620px;
margin: 0 auto 34px;
line-height: 1.85;
}

.lb-outro .lb-outro-btn {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 18px 44px;
background: transparent;
color: #F5EFE6;
border: 1px solid #F5EFE6;
font-family: "Unbounded", sans-serif;
font-size: 12px;
font-weight: 500;
letter-spacing: 3px;
text-transform: uppercase;
transition: background 0.3s, color 0.3s;
}

.lb-outro .lb-outro-btn:hover {
background: #F5EFE6;
color: #000;
}

.legal-hero {
position: relative;
width: 100%;
padding: 180px 60px 90px;
background: #0f0f0f;
color: #F5EFE6;
overflow: hidden;
border-bottom: 1px solid #1e1e1e;
}

.legal-hero::before {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(circle at 20% 20%, rgba(201,168,124,0.10), transparent 55%),
radial-gradient(circle at 85% 80%, rgba(74,31,42,0.35), transparent 55%);
pointer-events: none;
}

.legal-hero-inner {
position: relative;
z-index: 2;
max-width: 1400px;
margin: 0 auto;
}

.legal-hero .legal-eyebrow {
font-family: "Golos Text", sans-serif;
font-size: 12px;
font-weight: 500;
letter-spacing: 4px;
text-transform: uppercase;
color: #c9a87c;
margin-bottom: 20px;
}

.legal-hero h1 {
font-family: "Unbounded", sans-serif;
font-size: 54px;
font-weight: 200;
letter-spacing: 8px;
text-transform: uppercase;
line-height: 1.1;
margin-bottom: 24px;
max-width: 900px;
}

.legal-hero .legal-sub {
font-family: "Golos Text", sans-serif;
font-size: 16px;
font-weight: 300;
color: #aaa;
letter-spacing: 1px;
line-height: 1.7;
max-width: 700px;
}

.legal-hero .legal-updated {
display: inline-block;
margin-top: 34px;
font-family: "Golos Text", sans-serif;
font-size: 12px;
font-weight: 400;
letter-spacing: 2px;
text-transform: uppercase;
color: #888;
padding: 8px 18px;
border: 1px solid #2a2a2a;
border-radius: 30px;
}

.legal-body {
background: #F5EFE6;
padding: 90px 60px 120px;
}

.legal-layout {
max-width: 1400px;
margin: 0 auto;
display: grid;
grid-template-columns: 260px 1fr;
gap: 80px;
align-items: start;
}

.legal-toc {
position: sticky;
top: 120px;
align-self: start;
}

.legal-toc h4 {
font-family: "Unbounded", sans-serif;
font-size: 12px;
font-weight: 500;
letter-spacing: 3px;
text-transform: uppercase;
color: #000;
margin-bottom: 22px;
padding-bottom: 14px;
border-bottom: 1px solid rgba(0,0,0,0.15);
}

.legal-toc ol {
list-style: none;
padding: 0;
margin: 0;
counter-reset: toc;
}

.legal-toc li {
counter-increment: toc;
margin-bottom: 12px;
}

.legal-toc a {
font-family: "Golos Text", sans-serif;
font-size: 13px;
font-weight: 400;
color: #555;
line-height: 1.5;
display: flex;
gap: 10px;
transition: color 0.25s ease, transform 0.25s ease;
}

.legal-toc a::before {
content: counter(toc, decimal-leading-zero);
font-family: "Unbounded", sans-serif;
font-size: 10px;
letter-spacing: 1px;
color: #999;
flex-shrink: 0;
padding-top: 2px;
transition: color 0.25s ease;
}

.legal-toc a:hover {
color: #4A1F2A;
transform: translateX(3px);
}

.legal-toc a:hover::before {
color: #4A1F2A;
}

.legal-content {
max-width: 780px;
}

.legal-content .legal-lead {
font-family: "Golos Text", sans-serif;
font-size: 17px;
font-weight: 400;
color: #222;
line-height: 1.8;
padding: 28px 30px;
background: rgba(0,0,0,0.03);
border-left: 3px solid #c9a87c;
margin-bottom: 60px;
}

.legal-content .legal-lead strong {
font-weight: 600;
color: #000;
}

.legal-section {
margin-bottom: 56px;
scroll-margin-top: 120px;
}

.legal-section h2 {
font-family: "Unbounded", sans-serif;
font-size: 22px;
font-weight: 300;
letter-spacing: 4px;
text-transform: uppercase;
color: #000;
margin-bottom: 26px;
padding-bottom: 16px;
border-bottom: 1px solid rgba(0,0,0,0.12);
display: flex;
align-items: baseline;
gap: 16px;
}

.legal-section h2 .legal-num {
font-size: 13px;
font-weight: 400;
letter-spacing: 2px;
color: #c9a87c;
}

.legal-section p {
font-family: "Golos Text", sans-serif;
font-size: 15px;
font-weight: 300;
color: #3a3a3a;
line-height: 1.85;
margin-bottom: 16px;
text-align: justify;
hyphens: auto;
}

.legal-section p .legal-clause {
font-family: "Unbounded", sans-serif;
font-size: 12px;
font-weight: 500;
color: #000;
letter-spacing: 1px;
margin-right: 6px;
}

.legal-section ul {
list-style: none;
padding: 0;
margin: 18px 0 18px 0;
}

.legal-section ul li {
font-family: "Golos Text", sans-serif;
font-size: 15px;
font-weight: 300;
color: #3a3a3a;
line-height: 1.8;
padding-left: 26px;
margin-bottom: 10px;
position: relative;
}

.legal-section ul li::before {
content: '';
position: absolute;
left: 0;
top: 12px;
width: 12px;
height: 1px;
background: #c9a87c;
}

.legal-contacts {
margin-top: 60px;
padding: 44px 40px;
background: #0f0f0f;
color: #F5EFE6;
}

.legal-contacts h3 {
font-family: "Unbounded", sans-serif;
font-size: 16px;
font-weight: 300;
letter-spacing: 4px;
text-transform: uppercase;
margin-bottom: 24px;
color: #F5EFE6;
}

.legal-contacts dl {
display: grid;
grid-template-columns: 200px 1fr;
gap: 14px 30px;
margin: 0;
}

.legal-contacts dt {
font-family: "Golos Text", sans-serif;
font-size: 12px;
font-weight: 500;
letter-spacing: 2px;
text-transform: uppercase;
color: #888;
padding-top: 2px;
}

.legal-contacts dd {
font-family: "Golos Text", sans-serif;
font-size: 15px;
font-weight: 300;
color: #F5EFE6;
line-height: 1.6;
margin: 0;
}

.legal-contacts dd a {
color: #F5EFE6;
border-bottom: 1px solid rgba(245,239,230,0.25);
transition: border-color 0.25s, color 0.25s;
}

.legal-contacts dd a:hover {
color: #c9a87c;
border-color: #c9a87c;
}

.dl-hero {
position: relative;
width: 100%;
padding: 180px 60px 90px;
background: #0f0f0f;
color: #F5EFE6;
overflow: hidden;
border-bottom: 1px solid #1e1e1e;
}

.dl-hero::before {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(circle at 20% 20%, rgba(201,168,124,0.10), transparent 55%),
radial-gradient(circle at 85% 80%, rgba(74,31,42,0.35), transparent 55%);
pointer-events: none;
}

.dl-hero-inner {
position: relative;
z-index: 2;
max-width: 1400px;
margin: 0 auto;
}

.dl-hero .dl-eyebrow {
font-family: "Golos Text", sans-serif;
font-size: 12px;
font-weight: 500;
letter-spacing: 4px;
text-transform: uppercase;
color: #c9a87c;
margin-bottom: 20px;
}

.dl-hero h1 {
font-family: "Unbounded", sans-serif;
font-size: 54px;
font-weight: 200;
letter-spacing: 8px;
text-transform: uppercase;
line-height: 1.1;
margin-bottom: 24px;
max-width: 900px;
}

.dl-hero .dl-sub {
font-family: "Golos Text", sans-serif;
font-size: 16px;
font-weight: 300;
color: #aaa;
letter-spacing: 1px;
line-height: 1.7;
max-width: 700px;
}

.dl-hero .dl-badge {
display: inline-flex;
align-items: center;
gap: 10px;
margin-top: 34px;
font-family: "Golos Text", sans-serif;
font-size: 12px;
font-weight: 500;
letter-spacing: 2px;
text-transform: uppercase;
color: #F5EFE6;
padding: 10px 20px;
border: 1px solid #2a2a2a;
border-radius: 30px;
}

.dl-hero .dl-badge svg {
width: 16px;
height: 16px;
fill: #c9a87c;
}

.dl-body {
background: #F5EFE6;
padding: 90px 60px 120px;
}

.dl-layout {
max-width: 1400px;
margin: 0 auto;
display: grid;
grid-template-columns: 260px 1fr;
gap: 80px;
align-items: start;
}

.dl-toc {
position: sticky;
top: 120px;
align-self: start;
}

.dl-toc h4 {
font-family: "Unbounded", sans-serif;
font-size: 12px;
font-weight: 500;
letter-spacing: 3px;
text-transform: uppercase;
color: #000;
margin-bottom: 22px;
padding-bottom: 14px;
border-bottom: 1px solid rgba(0,0,0,0.15);
}

.dl-toc ol {
list-style: none;
padding: 0;
margin: 0;
counter-reset: toc;
}

.dl-toc li {
counter-increment: toc;
margin-bottom: 12px;
}

.dl-toc a {
font-family: "Golos Text", sans-serif;
font-size: 13px;
font-weight: 400;
color: #555;
line-height: 1.5;
display: flex;
gap: 10px;
transition: color 0.25s ease, transform 0.25s ease;
}

.dl-toc a::before {
content: counter(toc, decimal-leading-zero);
font-family: "Unbounded", sans-serif;
font-size: 10px;
letter-spacing: 1px;
color: #999;
flex-shrink: 0;
padding-top: 2px;
transition: color 0.25s ease;
}

.dl-toc a:hover {
color: #4A1F2A;
transform: translateX(3px);
}

.dl-toc a:hover::before {
color: #4A1F2A;
}

.dl-content {
max-width: 780px;
}

.dl-content .dl-lead {
font-family: "Golos Text", sans-serif;
font-size: 17px;
font-weight: 400;
color: #222;
line-height: 1.8;
padding: 28px 30px;
background: rgba(0,0,0,0.03);
border-left: 3px solid #c9a87c;
margin-bottom: 60px;
}

.dl-content .dl-lead strong {
font-weight: 600;
color: #000;
}

.dl-section {
margin-bottom: 56px;
scroll-margin-top: 120px;
}

.dl-section h2 {
font-family: "Unbounded", sans-serif;
font-size: 22px;
font-weight: 300;
letter-spacing: 4px;
text-transform: uppercase;
color: #000;
margin-bottom: 26px;
padding-bottom: 16px;
border-bottom: 1px solid rgba(0,0,0,0.12);
display: flex;
align-items: baseline;
gap: 16px;
}

.dl-section h2 .dl-num {
font-size: 13px;
font-weight: 400;
letter-spacing: 2px;
color: #c9a87c;
}

.dl-section p {
font-family: "Golos Text", sans-serif;
font-size: 15px;
font-weight: 300;
color: #3a3a3a;
line-height: 1.85;
margin-bottom: 16px;
}

.dl-cards {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 2px;
margin: 26px 0 10px;
background: rgba(0,0,0,0.08);
}

.dl-card {
background: #F5EFE6;
padding: 32px 28px;
transition: background 0.3s ease;
}

.dl-card:hover {
background: #efe7da;
}

.dl-card .dl-card-num {
font-family: "Unbounded", sans-serif;
font-size: 12px;
font-weight: 500;
letter-spacing: 3px;
color: #c9a87c;
margin-bottom: 14px;
}

.dl-card h3 {
font-family: "Unbounded", sans-serif;
font-size: 18px;
font-weight: 300;
letter-spacing: 2px;
text-transform: uppercase;
color: #000;
margin-bottom: 12px;
}

.dl-card p {
font-size: 14px;
margin: 0;
color: #555;
line-height: 1.7;
}

.dl-steps {
list-style: none;
padding: 0;
margin: 20px 0;
counter-reset: step;
}

.dl-steps li {
counter-increment: step;
position: relative;
padding: 0 0 26px 56px;
font-family: "Golos Text", sans-serif;
font-size: 15px;
font-weight: 300;
color: #3a3a3a;
line-height: 1.75;
}

.dl-steps li::before {
content: counter(step);
position: absolute;
left: 0;
top: 0;
width: 36px;
height: 36px;
border: 1px solid #000;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-family: "Unbounded", sans-serif;
font-size: 12px;
font-weight: 400;
color: #000;
background: #F5EFE6;
}

.dl-steps li:not(:last-child)::after {
content: '';
position: absolute;
left: 18px;
top: 40px;
bottom: 4px;
width: 1px;
background: rgba(0,0,0,0.12);
}

.dl-table {
width: 100%;
border-collapse: collapse;
margin: 24px 0 8px;
font-family: "Golos Text", sans-serif;
}

.dl-table thead th {
font-family: "Unbounded", sans-serif;
font-size: 11px;
font-weight: 500;
letter-spacing: 2px;
text-transform: uppercase;
color: #000;
text-align: left;
padding: 14px 18px;
border-bottom: 1px solid #000;
}

.dl-table tbody td {
font-size: 14px;
font-weight: 300;
color: #3a3a3a;
padding: 16px 18px;
border-bottom: 1px solid rgba(0,0,0,0.08);
line-height: 1.6;
}

.dl-table tbody tr:hover td {
background: rgba(201,168,124,0.06);
}

.dl-table td strong {
font-weight: 500;
color: #000;
}

.dl-note {
margin: 24px 0;
padding: 24px 28px;
background: rgba(201,168,124,0.10);
border-left: 3px solid #c9a87c;
font-family: "Golos Text", sans-serif;
font-size: 14px;
font-weight: 400;
color: #4a3a1a;
line-height: 1.75;
}

.dl-note strong {
font-weight: 600;
color: #000;
}

.dl-warning {
margin: 24px 0;
padding: 24px 28px;
background: rgba(74,31,42,0.06);
border-left: 3px solid #4A1F2A;
font-family: "Golos Text", sans-serif;
font-size: 14px;
font-weight: 400;
color: #4A1F2A;
line-height: 1.75;
}

.dl-cta {
margin-top: 70px;
padding: 50px 44px;
background: #0f0f0f;
color: #F5EFE6;
text-align: center;
}

.dl-cta h3 {
font-family: "Unbounded", sans-serif;
font-size: 22px;
font-weight: 200;
letter-spacing: 5px;
text-transform: uppercase;
margin-bottom: 18px;
}

.dl-cta p {
font-family: "Golos Text", sans-serif;
font-size: 15px;
font-weight: 300;
color: #999;
max-width: 580px;
margin: 0 auto 30px;
line-height: 1.8;
}

.dl-cta .dl-cta-btn {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 16px 40px;
background: #229ED9;
color: #fff;
font-family: "Unbounded", sans-serif;
font-size: 12px;
font-weight: 600;
letter-spacing: 2.5px;
text-transform: uppercase;
transition: background 0.3s, transform 0.3s;
}

.dl-cta .dl-cta-btn:hover {
background: #1a8ac2;
transform: translateY(-2px);
}

.dl-cta .dl-cta-btn svg {
width: 18px;
height: 18px;
fill: #fff;
}

@media (max-width: 1200px) {
.catalog-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 1100px) {
.legal-layout { grid-template-columns: 220px 1fr; gap: 50px; }
.legal-hero { padding: 160px 40px 70px; }
.legal-body { padding: 70px 40px 100px; }
.dl-layout { grid-template-columns: 220px 1fr; gap: 50px; }
.dl-hero { padding: 160px 40px 70px; }
.dl-body { padding: 70px 40px 100px; }
}

@media (max-width: 1024px) {
.image-block-trio { grid-template-columns: 1fr 1fr; }
.hero-slide .hero-label h1 { font-size: 38px; letter-spacing: 6px; }
.catalog-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
.catalog-grid { grid-template-columns: repeat(2, 1fr); }
.catalog-header { padding: 16px 30px 35px; }
.catalog-header h2 { font-size: 30px; letter-spacing: 6px; }
.catalog-filters { padding: 20px 30px; flex-direction: column; align-items: flex-start; gap: 14px; }
.catalog-filters .filter-sort { margin-left: 0; width: 100%; }
.legal-hero h1 { font-size: 38px; letter-spacing: 5px; }
.legal-layout { grid-template-columns: 1fr; gap: 40px; }
.legal-toc { position: static; padding-bottom: 30px; border-bottom: 1px solid rgba(0,0,0,0.12); }
.legal-content .legal-lead { font-size: 15px; padding: 22px 24px; margin-bottom: 44px; }
.legal-section h2 { font-size: 18px; letter-spacing: 3px; }
.legal-section p { font-size: 14px; }
.dl-hero h1 { font-size: 38px; letter-spacing: 5px; }
.dl-layout { grid-template-columns: 1fr; gap: 40px; }
.dl-toc { position: static; padding-bottom: 30px; border-bottom: 1px solid rgba(0,0,0,0.12); }
.dl-content .dl-lead { font-size: 15px; padding: 22px 24px; margin-bottom: 44px; }
.dl-section h2 { font-size: 18px; letter-spacing: 3px; }
.dl-section p { font-size: 14px; }
.dl-cards { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
.header { padding: 24px 20px; flex-wrap: wrap; }
.header-left { gap: 18px; font-size: 11px; }
.header-left a:not(.show-mobile) { display: none; }
.header-right { gap: 16px; }
.header-logo img { height: 48px; }
.image-block-duo,
.image-block-trio { grid-template-columns: 1fr; }
.image-block { height: 50vh; min-height: 250px; padding: 24px; }
.image-block-duo .image-block,
.image-block-trio .image-block { height: 50vh; min-height: 250px; }
.image-block .label { font-size: 18px; }
.hero-carousel { min-height: 500px; }
.hero-slide .hero-label { bottom: 80px; left: 30px; }
.hero-slide .hero-label h1 { font-size: 28px; letter-spacing: 4px; }
.hero-slide .hero-label p { font-size: 14px; letter-spacing: 2px; }
.hero-arrow { width: 44px; height: 44px; }
.hero-arrow.prev { left: 15px; }
.hero-arrow.next { right: 15px; }
.footer-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
.footer-bottom { flex-direction: column; text-align: center; }
.footer-bottom a { margin: 0 10px; }
.lb-block,
.lb-block.reverse { grid-template-columns: 1fr; min-height: auto; }
.lb-block .lb-photo,
.lb-block.reverse .lb-photo { order: 1; min-height: 380px; height: 60vh; }
.lb-block .lb-text,
.lb-block.reverse .lb-text { order: 2; padding: 44px 26px 54px; }
.lb-text-inner { max-width: 100%; }
}

@media (max-width: 600px) {
.catalog-grid { grid-template-columns: 1fr; gap: 1px; padding: 1px; }
.catalog-item { aspect-ratio: 3 / 4; padding: 20px 16px; }
.catalog-item h3 { font-size: 14px; letter-spacing: 2px; }
.catalog-item .item-desc { font-size: 10px; }
.catalog-item .item-price { font-size: 11px; }
.catalog-header h2 { font-size: 22px; letter-spacing: 4px; }
.catalog-header { padding: 12px 20px 25px; }
.legal-hero { padding: 130px 22px 55px; }
.legal-hero h1 { font-size: 26px; letter-spacing: 3px; }
.legal-hero .legal-sub { font-size: 14px; }
.legal-body { padding: 50px 22px 80px; }
.legal-section p { text-align: left; }
.legal-contacts { padding: 32px 24px; }
.legal-contacts dl { grid-template-columns: 1fr; gap: 4px 0; }
.legal-contacts dt { margin-top: 12px; }
.dl-hero { padding: 130px 22px 55px; }
.dl-hero h1 { font-size: 26px; letter-spacing: 3px; }
.dl-hero .dl-sub { font-size: 14px; }
.dl-body { padding: 50px 22px 80px; }
.dl-table thead { display: none; }
.dl-table,
.dl-table tbody,
.dl-table tr,
.dl-table td { display: block; width: 100%; }
.dl-table tr { padding: 14px 0; border-bottom: 1px solid rgba(0,0,0,0.08); }
.dl-table td { padding: 4px 0; border: none; }
.dl-table td::before {
content: attr(data-label);
display: block;
font-family: "Unbounded", sans-serif;
font-size: 10px;
font-weight: 500;
letter-spacing: 2px;
text-transform: uppercase;
color: #999;
margin-bottom: 4px;
}
.dl-cta { padding: 36px 24px; }
.dl-cta h3 { font-size: 18px; letter-spacing: 3px; }
}

@media (max-width: 480px) {
.hero-slide .hero-label h1 { font-size: 22px; letter-spacing: 3px; }
.hero-slide .hero-label p { font-size: 12px; letter-spacing: 1.5px; }
.hero-slide .hero-label { bottom: 60px; left: 20px; }
.hero-arrow { width: 38px; height: 38px; }
.hero-arrow svg { width: 16px; height: 16px; }
.footer-grid { grid-template-columns: 1fr; gap: 25px; }
.tg-cta { padding: 60px 16px; }
.tg-cta h3 { font-size: 22px; }
.lb-hero { padding: 0 20px 50px; min-height: 400px; }
.lb-hero h1 { font-size: 30px; letter-spacing: 4px; }
.lb-hero .lb-eyebrow { font-size: 10px; letter-spacing: 3px; }
.lb-hero p { font-size: 13px; letter-spacing: 1px; }
.lb-text h3 { font-size: 19px; letter-spacing: 2.5px; }
.lb-text .lb-lead { font-size: 15px; }
.lb-text p { font-size: 14px; }
}

@media (max-width: 400px) {
.catalog-grid { grid-template-columns: 1fr; }
.catalog-item { aspect-ratio: 2 / 3; padding: 14px 12px; }
.catalog-item h3 { font-size: 11px; letter-spacing: 1.5px; }
.catalog-item .item-tag { font-size: 7px; padding: 2px 10px; margin-bottom: 8px; }
.catalog-item .item-price { font-size: 10px; }
}

@media (min-width: 1920px) {
.hero-slide .hero-label h1 { font-size: 72px; letter-spacing: 12px; }
.hero-slide .hero-label p { font-size: 24px; }
.image-block .label { font-size: 32px; }
}