		:root {
			--bg: #fcf8f2;
			--surface: #fffdfa;
			--surface-alt: #f5ede4;
			--ivory: #fffaf3;
			--blush: #e9cec4;
			--sage: #8c9d8e;
			--gold: #c5a46b;
			--gold-deep: #9d7a44;
			--charcoal: #2f2a28;
			--slate: #635b57;
			--muted: #7d756f;
			--line: #e6ddd2;
			--shadow: 0 20px 50px rgba(47, 42, 40, 0.08);
			--shadow-hover: 0 24px 70px rgba(47, 42, 40, 0.14);
			--radius-xl: 32px;
			--radius-lg: 24px;
			--radius-md: 18px;
			--radius-sm: 12px;
			--container: 1200px;
			--transition: 240ms ease;
			--font-heading: 'Cormorant Garamond', serif;
			--font-body: 'DM Sans', sans-serif;
		}

		* { box-sizing: border-box; }
		html {
			scroll-behavior: auto;
			scroll-padding-top: 96px;
		}
		body {
			margin: 0;
			font-family: var(--font-body);
			color: var(--charcoal);
			background:
				radial-gradient(circle at top left, rgba(233, 206, 196, 0.25), transparent 32%),
				radial-gradient(circle at top right, rgba(140, 157, 142, 0.12), transparent 28%),
				var(--bg);
			line-height: 1.6;
			text-rendering: optimizeLegibility;
			-webkit-font-smoothing: antialiased;
		}

		img { max-width: 100%; display: block; }
		a { color: inherit; text-decoration: none; }
		button, input, textarea { font: inherit; }

		.skip-link {
			position: absolute;
			left: 1rem;
			top: -4rem;
			z-index: 1000;
			padding: 0.85rem 1rem;
			border-radius: 999px;
			background: var(--charcoal);
			color: #fff;
			transition: top var(--transition);
		}

		.skip-link:focus { top: 1rem; }

		.container {
			width: min(calc(100% - 2rem), var(--container));
			margin-inline: auto;
		}

		.section {
			padding: 5rem 0;
			position: relative;
		}

		.section-heading {
			display: flex;
			flex-direction: column;
			gap: 0.8rem;
			margin-bottom: 2rem;
			max-width: 720px;
		}

		.eyebrow {
			display: inline-flex;
			align-items: center;
			gap: 0.5rem;
			width: fit-content;
			padding: 0.45rem 0.85rem;
			border-radius: 999px;
			background: rgba(197, 164, 107, 0.12);
			color: var(--gold-deep);
			font-size: 0.86rem;
			font-weight: 700;
			letter-spacing: 0.08em;
			text-transform: uppercase;
		}

		h1, h2, h3, h4 {
			margin: 0;
			font-family: var(--font-heading);
			line-height: 0.96;
			letter-spacing: 0.01em;
			font-weight: 700;
		}

		h1 { font-size: clamp(3.1rem, 6vw, 6rem); }
		h2 { font-size: clamp(2.2rem, 4vw, 4rem); }
		h3 { font-size: clamp(1.5rem, 2.2vw, 2.2rem); }
		h4 { font-size: 1.35rem; }

		p { margin: 0; color: var(--slate); }

		.text-lead { font-size: 1.08rem; max-width: 62ch; }

		.btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 0.65rem;
			border: 0;
			border-radius: 999px;
			padding: 0.95rem 1.4rem;
			font-weight: 700;
			transition: transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition), border-color var(--transition);
			cursor: pointer;
			min-height: 48px;
		}

		.btn-primary {
			background: var(--gold);
			color: #fff;
			box-shadow: 0 12px 30px rgba(197, 164, 107, 0.28);
		}

		.btn-primary:hover,
		.btn-primary:focus-visible {
			background: var(--gold-deep);
			box-shadow: 0 16px 36px rgba(157, 122, 68, 0.34);
			transform: translateY(-2px);
		}

		.btn-secondary {
			background: transparent;
			color: var(--charcoal);
			border: 1px solid var(--line);
		}

		.btn-secondary:hover,
		.btn-secondary:focus-visible {
			border-color: var(--gold);
			transform: translateY(-2px);
			box-shadow: 0 12px 30px rgba(47, 42, 40, 0.08);
		}

		.btn:focus-visible,
		.nav-toggle:focus-visible,
		.accordion-trigger:focus-visible,
		input:focus-visible,
		textarea:focus-visible,
		.fab-link:focus-visible,
		.social-card:focus-visible,
		.nav-link:focus-visible {
			outline: 3px solid rgba(197, 164, 107, 0.45);
			outline-offset: 3px;
		}

		.card,
		.promo-card,
		.service-card,
		.testimonial-card,
		.offer-panel,
		.contact-card,
		.faq-item,
		.collection-card,
		.category-card {
			background: var(--surface);
			border: 1px solid var(--line);
			border-radius: var(--radius-lg);
			box-shadow: var(--shadow);
			transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
		}

		.card:hover,
		.promo-card:hover,
		.service-card:hover,
		.testimonial-card:hover,
		.offer-panel:hover,
		.contact-card:hover,
		.faq-item:hover,
		.collection-card:hover,
		.category-card:hover {
			transform: translateY(-6px);
			box-shadow: var(--shadow-hover);
			border-color: rgba(197, 164, 107, 0.45);
		}

		.card-clicked,
		.category-card.card-clicked {
			transform: translateY(-10px);
		}
		.icon {
			width: 1.4rem;
			height: 1.4rem;
			stroke: currentColor;
			stroke-width: 1.8;
			stroke-linecap: round;
			stroke-linejoin: round;
			fill: none;
		}

		.site-header {
			position: sticky;
			top: 0;
			z-index: 100;
			backdrop-filter: blur(16px);
			background: rgba(252, 248, 242, 0.88);
			border-bottom: 1px solid rgba(230, 221, 210, 0.85);
		}

		.nav-bar {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 1rem;
			min-height: 76px;
			position: relative;
		}

		section[id] { scroll-margin-top: 96px; }

		.brand {
			display: inline-flex;
			align-items: center;
			gap: 0.75rem;
			font-family: var(--font-heading);
			font-size: 1.85rem;
			color: var(--charcoal);
			letter-spacing: 0.06em;
		}

		.brand-mark {
			width: 2.6rem;
			height: 2.6rem;
			border-radius: 50%;
			display: grid;
			place-items: center;
			background: linear-gradient(145deg, rgba(197, 164, 107, 0.18), rgba(233, 206, 196, 0.34));
			color: var(--gold-deep);
			box-shadow: inset 0 0 0 1px rgba(197, 164, 107, 0.22);
		}

		.nav-toggle {
			display: none;
			align-items: center;
			justify-content: center;
			width: 3rem;
			height: 3rem;
			border-radius: 999px;
			border: 1px solid var(--line);
			background: var(--surface);
			color: var(--charcoal);
			cursor: pointer;
		}

		.nav-links {
			display: flex;
			align-items: center;
			gap: 1.2rem;
		}

		.nav-link {
			color: var(--slate);
			font-weight: 700;
			padding: 0.4rem 0;
			position: relative;
		}

		.nav-link::after {
			content: '';
			position: absolute;
			left: 0;
			bottom: -0.2rem;
			width: 100%;
			height: 2px;
			transform: scaleX(0);
			transform-origin: left;
			background: var(--gold);
			transition: transform var(--transition);
		}

		.nav-link:hover::after,
		.nav-link:focus-visible::after,
		.nav-link[aria-current="page"]::after {
			transform: scaleX(1);
		}

		.hero {
			padding: 2.2rem 0 5rem;
		}

		.hero-grid {
			display: grid;
			grid-template-columns: 1.05fr 0.95fr;
			align-items: center;
			gap: 2rem;
			min-height: calc(100vh - 120px);
		}

		.hero-copy {
			display: grid;
			gap: 1.4rem;
			position: relative;
			z-index: 1;
		}

		.hero-kicker {
			display: inline-flex;
			width: fit-content;
			align-items: center;
			gap: 0.5rem;
			padding: 0.55rem 0.85rem;
			border-radius: 999px;
			background: rgba(140, 157, 142, 0.14);
			color: var(--sage);
			font-weight: 700;
		}

		.hero-actions {
			display: flex;
			gap: 0.85rem;
			flex-wrap: wrap;
			margin-top: 0.5rem;
		}

		.hero-metrics {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: 1rem;
			margin-top: 0.5rem;
		}

		.metric {
			padding: 1rem;
			border-radius: 20px;
			background: rgba(255, 255, 255, 0.7);
			border: 1px solid rgba(230, 221, 210, 0.8);
		}

		.metric strong {
			display: block;
			font-family: var(--font-heading);
			font-size: 1.7rem;
			line-height: 1;
			margin-bottom: 0.2rem;
		}

		.hero-visual {
			position: relative;
			min-height: 640px;
			border-radius: var(--radius-xl);
			overflow: hidden;
			border: 1px solid rgba(230, 221, 210, 0.9);
			box-shadow: var(--shadow);
			background: #eadfcf;
		}

		.hero-visual::before {
			content: '';
			position: absolute;
			inset: 0;
			background:
				linear-gradient(180deg, rgba(31, 26, 24, 0.08), rgba(31, 26, 24, 0.4)),
				url('https://images.unsplash.com/photo-1529513816297-8b1b1f0f5a4d?auto=format&fit=crop&w=1200&q=80') center/cover;
		}

		.hero-panel {
			position: absolute;
			left: 1.2rem;
			right: 1.2rem;
			bottom: 1.2rem;
			display: grid;
			gap: 1rem;
		}

		.hero-panel-card {
			display: flex;
			align-items: center;
			gap: 0.85rem;
			padding: 1rem 1.1rem;
			background: rgba(255, 253, 250, 0.92);
			border-radius: 20px;
			border: 1px solid rgba(230, 221, 210, 0.85);
		}

		.hero-panel-card strong {
			display: block;
			font-size: 1.02rem;
			color: var(--charcoal);
		}

		.hero-panel-card span { color: var(--muted); font-size: 0.95rem; }

		.section-shell {
			padding-top: 0.5rem;
		}

		.collection-grid,
		.services-grid,
		.why-grid,
		.testimonial-grid,
		.contact-grid {
			display: grid;
			gap: 1.25rem;
		}

		.collection-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
		.services-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
		.why-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
		.testimonial-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
		.contact-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

		.collection-card,
		.service-card,
		.testimonial-card,
		.contact-card {
			padding: 1.3rem;
		}

		.collection-card {
			display: grid;
			min-height: 220px;
			align-content: end;
			background:
				linear-gradient(180deg, rgba(255, 255, 255, 0.2), rgba(47, 42, 40, 0.06)),
				var(--surface);
			overflow: hidden;
			position: relative;
		}

		.collection-card::before {
			content: '';
			position: absolute;
			inset: auto -6% -22% auto;
			width: 140px;
			height: 140px;
			border-radius: 50%;
			background: rgba(233, 206, 196, 0.25);
		}

		.collection-card .label {
			display: inline-flex;
			width: fit-content;
			padding: 0.42rem 0.75rem;
			border-radius: 999px;
			background: rgba(255, 255, 255, 0.82);
			border: 1px solid var(--line);
			font-size: 0.88rem;
			font-weight: 700;
			color: var(--gold-deep);
			margin-bottom: 0.8rem;
		}

		.collection-card p { max-width: 32ch; }

		.category-grid {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 1rem;
		}

		.category-card {
			padding: 1.15rem;
			display: grid;
			gap: 0.95rem;
			min-height: 210px;
		}

		.category-head {
			display: block;
			aspect-ratio: 4 / 3;
			overflow: hidden;
			border-radius: 20px;
			background: var(--surface-alt);
		}

		.category-name {
			font-family: var(--font-heading);
			font-size: 1.7rem;
			line-height: 0.95;
			margin-bottom: 0.3rem;
		}

		.category-subtitle { font-size: 0.95rem; }

		.chips {
			display: flex;
			flex-wrap: wrap;
			gap: 0.45rem;
		}

		.chip {
			padding: 0.42rem 0.7rem;
			border-radius: 999px;
			background: var(--surface-alt);
			color: var(--slate);
			border: 1px solid rgba(230, 221, 210, 0.95);
			font-size: 0.86rem;
			font-weight: 500;
		}

		.image-modal {
			position: fixed;
			inset: 0;
			display: none;
			align-items: center;
			justify-content: center;
			background: rgba(0, 0, 0, 0.75);
			padding: 1rem;
			z-index: 9999;
		}

		.image-modal.open {
			display: flex;
		}

		.image-modal__img {
			max-width: 95%;
			max-height: 95%;
			object-fit: contain;
			border-radius: 14px;
			box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
			/* Alien */
			gap: 0.55rem;
		}

	

		.service-list li {
			display: flex;
			align-items: center;
			gap: 0.65rem;
			color: var(--slate);
		}

		.service-list li::before {
			content: '';
			width: 0.55rem;
			height: 0.55rem;
			border-radius: 50%;
			background: var(--sage);
			flex: 0 0 auto;
		}

		.why-card {
			padding: 1.25rem;
			display: grid;
			gap: 0.9rem;
		}

		.why-card p { font-size: 0.98rem; }

		.testimonial-card {
			display: grid;
			gap: 1rem;
		}

		.testimonial-quote {
			font-size: 1.04rem;
			color: var(--charcoal);
		}

		.stars {
			display: inline-flex;
			gap: 0.25rem;
			color: var(--gold);
			letter-spacing: 0.08em;
		}

		.testimonial-meta {
			display: flex;
			align-items: center;
			gap: 0.9rem;
			margin-top: auto;
		}

		.avatar {
			width: 3.2rem;
			height: 3.2rem;
			border-radius: 50%;
			background: linear-gradient(145deg, rgba(197, 164, 107, 0.2), rgba(140, 157, 142, 0.18));
			display: grid;
			place-items: center;
			color: var(--charcoal);
			font-weight: 700;
		}

		.gallery-grid {
			display: grid;
			grid-template-columns: repeat(12, 1fr);
			gap: 1rem;
		}

		.gallery-item {
			position: relative;
			overflow: hidden;
			border-radius: var(--radius-lg);
			min-height: 240px;
			border: 1px solid rgba(230, 221, 210, 0.95);
			box-shadow: var(--shadow);
		}

		.gallery-item img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			transition: transform 420ms ease;
		}

		.gallery-item:hover img { transform: scale(1.03); }

		.gallery-item::after {
			content: attr(data-caption);
			position: absolute;
			left: 1rem;
			right: 1rem;
			bottom: 1rem;
			padding: 0.7rem 0.9rem;
			border-radius: 16px;
			background: rgba(255, 250, 243, 0.88);
			color: var(--charcoal);
			font-weight: 700;
			border: 1px solid rgba(230, 221, 210, 0.85);
			box-shadow: 0 12px 32px rgba(47, 42, 40, 0.1);
		}

		.gallery-item.tall { grid-column: span 4; min-height: 360px; }
		.gallery-item.medium { grid-column: span 4; }
		.gallery-item.wide { grid-column: span 8; min-height: 280px; }

		.offer-panel {
			display: grid;
			grid-template-columns: 1.1fr 0.9fr;
			gap: 1.2rem;
			padding: 1.5rem;
			background:
				linear-gradient(135deg, rgba(197, 164, 107, 0.1), rgba(233, 206, 196, 0.2)),
				var(--surface);
		}

		.offer-copy {
			display: grid;
			gap: 0.9rem;
			align-content: center;
		}

		.offer-badge {
			display: inline-flex;
			width: fit-content;
			align-items: center;
			gap: 0.5rem;
			border-radius: 999px;
			padding: 0.45rem 0.75rem;
			background: rgba(255, 255, 255, 0.8);
			color: var(--gold-deep);
			font-size: 0.86rem;
			font-weight: 700;
			border: 1px solid rgba(230, 221, 210, 0.95);
		}

		.newsletter-form {
			display: grid;
			gap: 0.8rem;
			align-content: start;
			background: rgba(255, 255, 255, 0.72);
			padding: 1.2rem;
			border-radius: 22px;
			border: 1px solid rgba(230, 221, 210, 0.95);
		}

		.input-row {
			display: flex;
			gap: 0.75rem;
			flex-wrap: wrap;
		}

		.newsletter-form input,
		.contact-form input,
		.contact-form textarea {
			width: 100%;
			border: 1px solid var(--line);
			background: var(--surface);
			color: var(--charcoal);
			border-radius: 16px;
			padding: 0.95rem 1rem;
			transition: border-color var(--transition), box-shadow var(--transition);
		}

		.newsletter-form input:focus,
		.contact-form input:focus,
		.contact-form textarea:focus {
			border-color: rgba(197, 164, 107, 0.8);
			box-shadow: 0 0 0 4px rgba(197, 164, 107, 0.15);
			outline: none;
		}

		.newsletter-form .btn { min-width: 162px; }

		.form-status {
			min-height: 1.35rem;
			font-size: 0.95rem;
			font-weight: 500;
		}

		.form-status.success { color: #2f6b48; }
		.form-status.error { color: #a33a3a; }

		.faq-list {
			display: grid;
			gap: 1rem;
			max-width: 900px;
			margin: 0 auto;
		}

		.faq-item {
			overflow: hidden;
		}

		.accordion-trigger {
			width: 100%;
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 1rem;
			text-align: left;
			padding: 1.15rem 1.2rem;
			background: transparent;
			border: 0;
			cursor: pointer;
			color: var(--charcoal);
			font-weight: 700;
		}

		.accordion-trigger span { font-size: 1.08rem; }

		.accordion-icon {
			width: 2rem;
			height: 2rem;
			border-radius: 50%;
			display: grid;
			place-items: center;
			background: rgba(197, 164, 107, 0.12);
			color: var(--gold-deep);
			flex: 0 0 auto;
			transition: transform var(--transition);
		}

		.accordion-trigger[aria-expanded="true"] .accordion-icon { transform: rotate(180deg); }

		.accordion-panel {
			max-height: 0;
			overflow: hidden;
			transition: max-height 320ms ease, opacity 320ms ease;
			opacity: 0;
		}

		.accordion-panel > div {
			padding: 0 1.2rem 1.2rem;
		}

		.accordion-panel.open {
			opacity: 1;
		}

		.contact-section {
			padding: 5.5rem 0;
			background: linear-gradient(135deg, rgba(252, 248, 242, 0.95), rgba(248, 240, 232, 0.94));
			border-radius: 40px;
			margin: 0 auto;
			max-width: calc(100% - 2rem);
		}

		.contact-heading {
			align-items: center;
			text-align: center;
			margin-inline: auto;
			margin-bottom: 2.5rem;
		}

		.contact-subtitle {
			margin: 0 auto;
			color: var(--muted);
			font-size: 1rem;
		}

		.contact-card {
			padding: 0;
			position: relative;
			overflow: hidden;
			border-radius: 24px;
			background: var(--surface);
			border: 1px solid rgba(230, 221, 210, 0.95);
			box-shadow: var(--shadow);
			transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
		}

		.premium-contact-card {
			display: flex;
			flex-direction: column;
			min-height: 390px;
		}

		.premium-contact-card:hover,
		.premium-contact-card:focus-within {
			transform: translateY(-8px);
			box-shadow: var(--shadow-hover);
			border-color: rgba(197, 164, 107, 0.4);
		}

		.premium-contact-card:hover .contact-badge,
		.premium-contact-card:focus-within .contact-badge {
			transform: translate(-50%, -50%) scale(1.08);
		}

		.card-top {
			position: relative;
			min-height: 170px;
			padding: 1.4rem 1.2rem 2.2rem;
			overflow: hidden;
		}

		.whatsapp-card .card-top {
			background: linear-gradient(180deg, rgba(37, 211, 102, 0.16), rgba(37, 211, 102, 0.08));
			color: #2f6f45;
		}

		.tiktok-card .card-top {
			background: linear-gradient(180deg, rgba(17, 17, 17, 0.08), rgba(247, 247, 247, 0.3));
			color: #2d2d2d;
		}

		.instagram-card .card-top {
			background: linear-gradient(180deg, rgba(245, 96, 64, 0.16), rgba(138, 58, 185, 0.12));
			color: #7d2e8b;
		}

		.phone-card .card-top {
			background: linear-gradient(180deg, rgba(197, 164, 107, 0.22), rgba(197, 164, 107, 0.08));
			color: #8d6731;
		}

		.card-watermark {
			position: absolute;
			right: -0.8rem;
			bottom: 0.45rem;
			opacity: 0.07;
			transform: rotate(-12deg);
			pointer-events: none;
		}

		.card-watermark .icon {
			width: 5.75rem;
			height: 5.75rem;
		}

		.contact-badge {
			position: absolute;
			left: 50%;
			bottom: 0;
			transform: translate(-50%, 50%);
			width: 4.3rem;
			height: 4.3rem;
			display: grid;
			place-items: center;
			border-radius: 50%;
			background: #fff;
			border: 3px solid #fff;
			box-shadow: 0 14px 30px rgba(47, 42, 40, 0.16);
			transition: transform var(--transition);
			z-index: 2;
		}

		.contact-badge .icon {
			width: 1.25rem;
			height: 1.25rem;
		}

		.card-bottom {
			display: flex;
			flex: 1;
			flex-direction: column;
			align-items: center;
			text-align: center;
			gap: 0.7rem;
			padding: 2.5rem 1.2rem 1.2rem;
			background: #fff;
		}

		.card-bottom h3 {
			font-size: 1.55rem;
			line-height: 1.1;
		}

		.card-bottom p {
			font-size: 0.95rem;
			color: var(--muted);
			max-width: 24ch;
		}

		.contact-cta {
			margin-top: auto;
			width: 100%;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			border-radius: 999px;
			padding: 0.82rem 1rem;
			font-weight: 700;
			font-size: 0.95rem;
			color: #fff;
			transition: transform var(--transition), filter var(--transition), box-shadow var(--transition);
		}

		.contact-cta:hover,
		.contact-cta:focus-visible {
			transform: translateY(-1px);
			filter: brightness(0.92);
		}

		.cta-whatsapp {
			background: #25D366;
			box-shadow: 0 10px 26px rgba(37, 211, 102, 0.2);
		}

		.cta-tiktok {
			background: #111111;
			box-shadow: 0 10px 26px rgba(17, 17, 17, 0.15);
		}

		.cta-instagram {
			background: linear-gradient(135deg, #f56040 0%, #ff2d75 50%, #8a3ab9 100%);
			box-shadow: 0 10px 26px rgba(245, 96, 64, 0.2);
		}

		.cta-phone {
			background: linear-gradient(135deg, #c7a46a 0%, #9e7742 100%);
			box-shadow: 0 10px 26px rgba(158, 119, 66, 0.2);
		}

		.footer {
			padding: 2.2rem 0 4.5rem;
			border-top: 1px solid rgba(230, 221, 210, 0.9);
			background: rgba(255, 255, 255, 0.45);
		}

		.footer-inner {
			display: flex;
			justify-content: space-between;
			gap: 1rem;
			flex-wrap: wrap;
			align-items: center;
		}

		.footer-details {
			display: flex;
			gap: 1rem;
			flex-wrap: wrap;
			color: var(--slate);
		}

		.reveal {
			opacity: 0;
			transform: translateY(24px);
			transition: opacity 700ms ease, transform 700ms ease;
		}

		.reveal.visible {
			opacity: 1;
			transform: translateY(0);
		}

		.fab {
			position: fixed;
			right: 1rem;
			bottom: 1rem;
			z-index: 90;
			display: flex;
			flex-direction: column;
			gap: 0.7rem;
		}

		.fab-link {
			width: 3.4rem;
			height: 3.4rem;
			display: grid;
			place-items: center;
			border-radius: 50%;
			color: #fff;
			box-shadow: 0 16px 32px rgba(47, 42, 40, 0.18);
			border: 0;
		}

		.fab-link.whatsapp { background: #25d366; }
		.fab-link.phone { background: #3f4b55; }

		.fab-link .icon { width: 1.25rem; height: 1.25rem; }

		.sr-only {
			position: absolute;
			width: 1px;
			height: 1px;
			padding: 0;
			margin: -1px;
			overflow: hidden;
			clip: rect(0, 0, 0, 0);
			white-space: nowrap;
			border: 0;
		}

		.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
		.category-head img {
			display: block;
			width: 100%;
			height: 100%;
			object-fit: cover;
			object-position: center;
			border-radius: 20px;
		}

		@media (max-width: 479px) {
			.section { padding: 3.8rem 0; }
			.nav-toggle { display: inline-flex; }
			.nav-links {
				position: absolute;
				top: 100%;
				left: 1rem;
				right: 1rem;
				display: grid;
				gap: 0.15rem;
				padding: 0.8rem;
				background: rgba(255, 253, 250, 0.98);
				border: 1px solid var(--line);
				border-radius: 20px;
				box-shadow: var(--shadow);
				transform: translateY(-8px);
				opacity: 0;
				pointer-events: none;
				transition: opacity 240ms ease, transform 240ms ease;
			}
			.nav-links.nav-open {
				opacity: 1;
				transform: translateY(0);
				pointer-events: auto;
			}
			.nav-link { padding: 0.8rem 0.9rem; border-radius: 14px; }
			.nav-link:hover,
			.nav-link:focus-visible { background: rgba(197, 164, 107, 0.08); }
			.hero-grid { grid-template-columns: 1fr; min-height: auto; }
			.hero-visual { min-height: 420px; }
			.hero-metrics { grid-template-columns: 1fr; }
			.collection-grid,
			.services-grid,
			.why-grid,
			.testimonial-grid,
			.contact-grid,
			.category-grid { grid-template-columns: 1fr; }
			.offer-panel { grid-template-columns: 1fr; }
			.input-row { flex-direction: column; }
			.gallery-grid { grid-template-columns: 1fr; }
			.gallery-item,
			.gallery-item.tall,
			.gallery-item.medium,
			.gallery-item.wide { grid-column: auto; min-height: 240px; }
			.footer-inner { align-items: flex-start; }
			.fab { right: 0.75rem; bottom: 0.75rem; }
			.fab-link { width: 3rem; height: 3rem; }
		}

		@media (min-width: 481px) and (max-width: 768px) {
			.nav-toggle { display: inline-flex; }
			.nav-links {
				position: absolute;
				top: 100%;
				left: 1rem;
				right: 1rem;
				display: grid;
				gap: 0.2rem;
				padding: 0.9rem;
				background: rgba(255, 253, 250, 0.98);
				border: 1px solid var(--line);
				border-radius: 20px;
				box-shadow: var(--shadow);
				transform: translateY(-8px);
				opacity: 0;
				pointer-events: none;
				transition: opacity 240ms ease, transform 240ms ease;
			}
			.nav-links.nav-open {
				opacity: 1;
				transform: translateY(0);
				pointer-events: auto;
			}
			.nav-link { padding: 0.8rem 0.9rem; border-radius: 14px; }
			.hero-grid { grid-template-columns: 1fr; }
			.collection-grid,
			.testimonial-grid,
			.contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
			.services-grid,
			.why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
			.category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
			.gallery-item.tall,
			.gallery-item.medium,
			.gallery-item.wide { grid-column: span 6; }
			.gallery-item:nth-child(3n + 1) { grid-column: span 7; }
			.gallery-item:nth-child(3n + 2) { grid-column: span 5; }
			.gallery-item:nth-child(3n) { grid-column: span 12; }
			.offer-panel { grid-template-columns: 1fr; }
		}

		@media (min-width: 769px) and (max-width: 1200px) {
			.hero-grid { grid-template-columns: 1fr 0.95fr; }
			.collection-grid,
			.testimonial-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
			.services-grid,
			.why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
			.category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
			.contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
			.gallery-item.tall { grid-column: span 4; }
			.gallery-item.medium { grid-column: span 4; }
			.gallery-item.wide { grid-column: span 8; }
			.offer-panel { grid-template-columns: 1fr 0.9fr; }
		}

		@media (min-width: 1201px) {
			.category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
			.gallery-item.tall { grid-column: span 4; }
			.gallery-item.medium { grid-column: span 4; }
			.gallery-item.wide { grid-column: span 8; }
		}
