*{margin:0;padding:0;box-sizing:border-box}
:root{
	--ink:#1e1a16;
	--ink-soft:#3b332c;
	--paper:#f6efe4;
	--paper-strong:#ffffff;
	--accent:#d7a75f;
	--accent-dark:#b47a3a;
	--shadow:0 18px 45px rgba(25,18,10,0.18);
}
body{
	font-family:"Space Grotesk",sans-serif;
	background:
		radial-gradient(circle at 10% 10%,rgba(215,167,95,0.18),transparent 40%),
		radial-gradient(circle at 80% 0%,rgba(201,107,60,0.2),transparent 45%),
		radial-gradient(circle at 50% 90%,rgba(30,26,22,0.08),transparent 55%),
		var(--paper);
	color:var(--ink);
	scroll-behavior:smooth;
}
h1,h2,.nav-logo{font-family:"DM Serif Display",serif}
img{max-width:100%;height:auto;display:block}

.publish-bar{
	width:100%;
	background:rgba(23,19,16,0.95);
	color:#fff;
	padding:10px 4vw;
	font-size:0.95rem;
	letter-spacing:0.3px;
}
.publish-date{display:inline-block;color:#fff}

.banner{
	width:100%;
	min-height:280px;
	padding:18px 4vw 22px;
	overflow:hidden;
	background:var(--paper-strong);
}
.banner-image{
	width:100%;
	max-height:620px;
	object-fit:cover;
	border-radius:22px;
	box-shadow:var(--shadow);
	background:var(--paper);
}

.nav{
	position:fixed;
	top:0;
	width:100%;
	background:rgba(23,19,16,0.9);
	color:#fff;
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:14px 32px;
	z-index:1000;
	border-bottom:1px solid rgba(255,255,255,0.08);
}
.nav-logo{
	font-size:1.5rem;
	letter-spacing:1px;
	color:var(--accent);
	text-shadow:0 6px 18px rgba(215,167,95,0.35);
}
.nav ul{display:flex;gap:22px;list-style:none;align-items:center}
.nav ul button{
	background:none;
	border:none;
	color:#fff;
	cursor:pointer;
	font-weight:600;
	letter-spacing:0.5px;
	padding:6px 2px;
	line-height:1.2;
}
.nav ul button:hover{color:var(--accent)}
.nav ul a{
	display:inline-block;
	text-decoration:none;
	line-height:1.2;
}
.nav ul .nav-external-link{
	padding:8px 12px;
	border-radius:10px;
	background:var(--accent);
	color:var(--ink);
	font-weight:700;
}
.nav ul .nav-external-link:hover{
	background:var(--accent-dark);
	color:#fff;
}

@media (max-width: 1280px) {
	.nav {
		padding: 12px 20px;
		flex-wrap: wrap;
		row-gap: 10px;
	}

	.nav ul {
		width: 100%;
		justify-content: center;
		flex-wrap: wrap;
		gap: 12px 18px;
	}
}

.nav-toggle{
	display:none;
	flex-direction:column;
	justify-content:center;
	gap:5px;
	width:44px;
	height:36px;
	padding:6px;
	border:1px solid rgba(255,255,255,0.22);
	border-radius:8px;
	background:transparent;
	cursor:pointer;
}
.nav-toggle span{
	display:block;
	width:100%;
	height:2px;
	background:#fff;
	transition:transform 0.2s ease,opacity 0.2s ease;
}

.hero{
	min-height:35vh;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	text-align:center;
	padding:140px 20px 90px;
	color:var(--ink);
}
.hero h1{
	font-size:clamp(2.6rem,5vw,4rem);
	color:var(--ink);
	text-shadow:0 10px 30px rgba(30,26,22,0.15);
}
.hero-logo{
	margin-top:18px;
	width:160px;
	height:160px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.hero-logo img{
	width:100%;
	height:100%;
	object-fit:contain;
	filter:drop-shadow(0 12px 24px rgba(30,26,22,0.18));
}
.tagline{margin:14px 0;color:var(--ink-soft);font-weight:500}
.hero-buttons button{
	margin:10px;
	padding:12px 26px;
	border:none;
	background:var(--ink);
	color:#fff;
	cursor:pointer;
	font-weight:600;
	letter-spacing:0.4px;
	box-shadow:var(--shadow);
}
.hero-buttons button:last-child{
	background:var(--accent);
	color:var(--ink);
}

.section{padding:88px 6vw}
.section-alt{
	background:rgba(255,255,255,0.7);
	border-top:1px solid rgba(30,26,22,0.08);
	border-bottom:1px solid rgba(30,26,22,0.08);
}
.section h2{
	margin-bottom:26px;
	font-size:clamp(1.8rem,3.2vw,2.4rem);
	color:var(--ink);
}
.gallery-nav{
	display:flex;
	flex-wrap:wrap;
	gap:14px;
	margin-bottom:28px;
}
.gallery-nav button{
	background:var(--paper-strong);
	border:1px solid rgba(30,26,22,0.18);
	color:var(--ink);
	padding:10px 18px;
	border-radius:999px;
	cursor:pointer;
	font-weight:600;
	letter-spacing:0.3px;
	box-shadow:0 10px 24px rgba(30,26,22,0.08);
}
.gallery-nav button:hover{
	border-color:var(--accent-dark);
	color:var(--accent-dark);
}
.gallery-section{margin-top:36px}
.gallery-section h3{
	font-size:clamp(1.3rem,2.5vw,1.6rem);
	color:var(--ink-soft);
	margin-bottom:16px;
}
.gallery-wrapper{
	position:relative;
	display:flex;
	align-items:center;
	gap:12px;
}

.gallery{
	display:flex;
	gap:24px;
	overflow-x:auto;
	overflow-y:hidden;
	padding:12px 0;
	scroll-snap-type:x mandatory;
	scroll-behavior:smooth;
	-webkit-overflow-scrolling:touch;
	flex:1;
}
.gallery::-webkit-scrollbar{
	height:8px;
}
.gallery::-webkit-scrollbar-track{
	background:rgba(30,26,22,0.1);
	border-radius:4px;
}
.gallery::-webkit-scrollbar-thumb{
	background:var(--accent);
	border-radius:4px;
}
.gallery::-webkit-scrollbar-thumb:hover{
	background:var(--accent-dark);
}
.gallery-item{
	width:400px;
	min-width:400px;
	background:var(--paper-strong);
	border-radius:18px;
	overflow:hidden;
	box-shadow:var(--shadow);
	scroll-snap-align:start;
}
.gallery-scroll-btn{
	position:relative;
	background:rgba(30,26,22,0.8);
	color:#fff;
	border:none;
	width:44px;
	height:44px;
	border-radius:50%;
	cursor:pointer;
	font-size:28px;
	display:flex;
	align-items:center;
	justify-content:center;
	transition:background 0.2s ease,transform 0.2s ease;
	box-shadow:0 6px 16px rgba(30,26,22,0.25);
	flex-shrink:0;
	z-index:10;
}
.gallery-scroll-btn:hover{
	background:rgba(30,26,22,0.95);
	transform:scale(1.05);
}
.gallery-scroll-btn:active{
	transform:scale(0.98);
}
.carousel{
	position:relative;
	overflow:hidden;
	padding:14px 14px 0;
	background:linear-gradient(180deg,rgba(255,255,255,0.55) 0%,rgba(255,255,255,0) 100%);
}
.product-status{
	position:absolute;
	top:12px;
	right:12px;
	padding:6px 12px;
	font-size:0.85rem;
	font-weight:700;
	border-radius:8px;
	z-index:20;
	letter-spacing:0.3px;
	box-shadow:0 4px 12px rgba(0,0,0,0.25);
	backdrop-filter:blur(4px);
}
.status-available{
	background:rgba(34,197,94,0.95);
	color:#fff;
}
.status-unavailable{
	background:rgba(239,68,68,0.95);
	color:#fff;
}
.status-sold{
	background:rgba(107,114,128,0.95);
	color:#fff;
}
.carousel-track{
	display:flex;
	transition:transform 0.4s ease;
	will-change:transform;
}
.carousel-track img{
	width:100%;
	min-width:100%;
	aspect-ratio:4/3;
	object-fit:contain;
	object-position:center;
	background:var(--paper-strong);
	border:1px solid rgba(215,167,95,0.55);
	border-radius:16px;
	box-shadow:0 14px 28px rgba(30,26,22,0.2), 0 0 0 4px rgba(215,167,95,0.22), inset 0 0 0 1px rgba(255,255,255,0.65), inset 0 0 26px rgba(215,167,95,0.12);
	cursor:zoom-in;
	transition:transform 0.3s ease;
}
.carousel-btn{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	background:rgba(30,26,22,0.7);
	color:#fff;
	border:none;
	width:34px;
	height:34px;
	border-radius:50%;
	cursor:pointer;
	font-weight:700;
	font-size:24px;
	display:flex;
	align-items:center;
	justify-content:center;
	z-index:30;
	transition:background 0.2s ease;
}
.carousel-btn:hover{
	background:rgba(30,26,22,0.9);
}
.carousel-btn.prev{left:12px}
.carousel-btn.next{right:12px}
.gallery-item figcaption{
	padding:16px 18px 20px;
	font-weight:600;
	color:var(--ink-soft);
}
.gallery-title{display:block;color:var(--ink)}
.product-tags{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	margin-top:8px;
	margin-bottom:8px;
}
.product-tag{
	display:inline-block;
	padding:4px 10px;
	background:var(--accent);
	color:var(--ink);
	font-size:0.8rem;
	font-weight:600;
	border-radius:12px;
	letter-spacing:0.3px;
	text-transform:lowercase;
	box-shadow:0 2px 6px rgba(215,167,95,0.3);
}
.before-renovation{
	margin-top:12px;
	margin-bottom:12px;
	padding:12px;
	background:rgba(30,26,22,0.03);
	border-radius:10px;
	border:1px dashed rgba(30,26,22,0.15);
}
.before-renovation-title{
	display:block;
	font-size:0.85rem;
	font-weight:700;
	color:var(--ink-soft);
	margin-bottom:8px;
	letter-spacing:0.3px;
}
.before-images{
	display:flex;
	gap:8px;
	flex-wrap:wrap;
	justify-content:flex-start;
}
.before-image{
	width:80px;
	height:80px;
	object-fit:contain;
	object-position:center;
	background:var(--paper-strong);
	border:1px solid rgba(215,167,95,0.55);
	border-radius:8px;
	cursor:zoom-in;
	transition:transform 0.2s ease,box-shadow 0.2s ease;
	box-shadow:0 6px 14px rgba(30,26,22,0.16), 0 0 0 2px rgba(215,167,95,0.18), inset 0 0 0 1px rgba(255,255,255,0.5);
}
.before-image:hover{
	transform:scale(1.05);
	box-shadow:0 6px 16px rgba(30,26,22,0.25);
}
.gallery-desc{display:block;margin-top:6px;font-size:0.95rem;line-height:1.45}
.gallery-price{
	display:inline-block;
	margin-top:10px;
	padding:5px 10px;
	font-size:0.9rem;
	font-weight:700;
	color:var(--ink);
	background:rgba(215,167,95,0.22);
	border:1px solid rgba(180,122,58,0.35);
	border-radius:10px;
}
.allegro-link{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin-top:12px;
	padding:8px 12px;
	border-radius:999px;
	text-decoration:none;
	font-weight:700;
	font-size:0.88rem;
	color:var(--ink);
	background:rgba(215,167,95,0.18);
	border:1px solid rgba(180,122,58,0.36);
	box-shadow:0 6px 14px rgba(30,26,22,0.12);
	transition:transform 0.2s ease,background 0.2s ease,box-shadow 0.2s ease;
}
.allegro-link:visited{color:var(--ink)}
.allegro-link:hover{
	background:rgba(215,167,95,0.28);
	transform:translateY(-1px);
	box-shadow:0 10px 18px rgba(30,26,22,0.16);
}
.allegro-link:focus-visible{
	outline:2px solid var(--accent-dark);
	outline-offset:3px;
}
.allegro-icon{
	width:22px;
	height:22px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:var(--accent-dark);
	color:#fff;
	font-family:"DM Serif Display",serif;
	font-size:0.95rem;
	line-height:1;
	text-transform:lowercase;
}

.image-zoom{
	position:fixed;
	inset:0;
	background:rgba(20,16,12,0.75);
	display:flex;
	align-items:center;
	justify-content:center;
	opacity:0;
	pointer-events:none;
	transition:opacity 0.2s ease;
	z-index:2000;
}
.image-zoom.is-visible{opacity:1;pointer-events:auto}
.image-zoom img{
	max-width:82vw;
	max-height:82vh;
	box-shadow:0 28px 60px rgba(0,0,0,0.35);
	border-radius:18px;
}

.about{max-width:700px;margin:auto;color:var(--ink-soft);line-height:1.6}
.about-photo{
	display:flex;
	justify-content:center;
	margin-bottom:18px;
}
.about-photo img{width:50%;height:auto}
.about-text{font-size:calc(1rem + 2px);font-style:italic}
.form{
	background:var(--paper-strong);
	color:var(--ink);
	max-width:800px;
	margin:auto;
	display:flex;
	flex-direction:column;
	gap:15px;
	padding:24px;
	border-radius:18px;
	box-shadow:var(--shadow);
}
.form.form-link p{
	color:var(--ink-soft);
	font-weight:500;
}
.form input,.form textarea{padding:12px 14px;border:1px solid rgba(30,26,22,0.15);border-radius:10px;font-family:inherit}
.form input[type="file"]{padding:10px 12px;background:#fff}
.form textarea{min-height:140px;resize:vertical}
.form button{padding:12px;background:var(--ink);color:#fff;border:none;cursor:pointer;font-weight:600;letter-spacing:0.4px;border-radius:10px}
.form-button{
	padding:12px 18px;
	background:var(--ink);
	color:#fff;
	border:none;
	cursor:pointer;
	font-weight:600;
	letter-spacing:0.4px;
	border-radius:10px;
	text-decoration:none;
	text-align:center;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	box-shadow:0 12px 26px rgba(30,26,22,0.18);
	transition:transform 0.2s ease,background 0.2s ease,box-shadow 0.2s ease;
}
.form-button:visited{color:#fff}
.form-button:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 16px 30px rgba(30,26,22,0.22)}
.form-button:focus-visible{outline:2px solid var(--accent-dark);outline-offset:3px}

.catalogs{
	background:var(--paper-strong);
	max-width:800px;
	margin:auto;
	padding:24px;
	border-radius:18px;
	box-shadow:var(--shadow);
}
.catalogs-status{
	color:var(--ink-soft);
	font-weight:500;
}
.catalogs-list{
	list-style:none;
	display:grid;
	gap:10px;
}
.catalogs-item{
	padding:12px 14px;
	border:1px solid rgba(30,26,22,0.12);
	border-radius:10px;
	background:rgba(255,255,255,0.7);
}
.catalog-link{
	text-decoration:none;
	font-weight:600;
	color:var(--ink);
	word-break:break-word;
}
.catalog-link:hover{
	color:var(--accent-dark);
}

.arrangements{
	background:var(--paper-strong);
	max-width:1100px;
	margin:auto;
	padding:24px;
	border-radius:18px;
	box-shadow:var(--shadow);
}
.arrangements-status{
	color:var(--ink-soft);
	font-weight:500;
}
.arrangements-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px;
}
.arrangement-item{
	background:rgba(255,255,255,0.75);
	border:1px solid rgba(30,26,22,0.12);
	border-radius:14px;
	overflow:hidden;
	display:flex;
	flex-direction:column;
}
.arrangement-image{
	width:100%;
	aspect-ratio:4/3;
	object-fit:contain;
	object-position:center;
	background:var(--paper-strong);
	margin-top:12px;
	border:1px solid rgba(215,167,95,0.55);
	border-radius:16px;
	box-shadow:0 14px 28px rgba(30,26,22,0.2), 0 0 0 4px rgba(215,167,95,0.22), inset 0 0 0 1px rgba(255,255,255,0.65), inset 0 0 26px rgba(215,167,95,0.12);
	cursor:zoom-in;
}
.arrangement-content{
	padding:12px 14px 16px;
}
.arrangement-title{
	font-size:1rem;
	color:var(--ink);
	margin-bottom:6px;
}
.arrangement-desc{
	font-size:0.92rem;
	line-height:1.45;
	color:var(--ink-soft);
}

.socials a{margin-right:15px;text-decoration:none;font-weight:600;color:var(--ink)}
.socials a:hover{color:var(--accent-dark)}
footer{text-align:center;padding:26px;background:rgba(23,19,16,0.95);color:#fff}
footer .visit-count{display:block;margin-top:6px;color:#fff;font-size:0.92rem;opacity:0.92}
footer .publish-date{display:block;margin-top:6px;color:#fff;font-size:0.9rem;opacity:0.9}
@media (max-width: 768px) {
	.publish-bar {
		padding: 8px 16px;
		font-size: 0.8rem;
	}

	.banner {
		min-height: 170px;
		padding: 10px 16px 14px;
	}

	.banner-image {
		max-height: 260px;
		border-radius: 14px;
	}

	.nav-logo {
		font-size: 1.05rem;
		letter-spacing: 0.3px;
		line-height: 1.15;
		max-width: calc(100% - 62px);
	}

	.gallery-scroll-btn {
		display: none;
	}
	
	.gallery-wrapper {
		gap: 0;
	}
	
	.gallery-item {
		width: 85vw;
		min-width: 85vw;
		overflow: visible;
	}
	
	.gallery {
		padding: 12px 4vw;
		gap: 16px;
		overflow-y: visible;
	}
	
	.nav {
		padding: 12px 16px;
		flex-wrap: wrap;
	}

	.nav-toggle {
		display: inline-flex;
	}
	
	.nav ul {
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
		width: 100%;
		margin-top: 10px;
	}

	.nav.nav-open ul {
		display: flex;
	}
	
	.nav ul button {
		font-size: 0.9rem;
		width: 100%;
		text-align: left;
		padding: 10px 6px;
		border-bottom: 1px solid rgba(255,255,255,0.1);
	}

	.nav ul a {
		font-size: 0.9rem;
		width: 100%;
		text-align: left;
	}

	.nav ul li:last-child button {
		border-bottom: none;
	}

	.nav ul li:last-child a {
		border-bottom: none;
	}
	
	.gallery-item figcaption {
		padding: 14px 16px 18px;
	}
	
	.gallery-title {
		font-size: 0.95rem;
	}
	
	.gallery-desc {
		font-size: 0.9rem;
		line-height: 1.5;
	}

	.gallery-price {
		font-size: 0.85rem;
	}

	.arrangements {
		padding: 16px;
	}

	.arrangements-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}