/**
 * Deccan Trendz — homepage sections.
 * Currently: hero (section 2) + shop-by-category (section 4).
 */

/* =============================================================
   2 · CINEMATIC HERO  — split: oversized wordmark / framed still
   ========================================================== */
.dt-hero {
	position: relative;
	min-height: 94vh;
	min-height: 94svh;
	display: flex;
	align-items: center;
	padding-block: calc(var(--dt-header-h) + var(--dt-space-2xl)) var(--dt-space-3xl);
	overflow: hidden;
	background:
		radial-gradient(115% 85% at 84% 4%, rgba(201,168,106,0.18), transparent 52%),
		radial-gradient(90% 70% at 8% 88%, rgba(201,168,106,0.07), transparent 55%),
		radial-gradient(135% 105% at 22% 100%, #110e0a 0%, #080706 48%, #040404 100%);
}
/* Cinematic edge vignette + film grain for depth. */
.dt-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		radial-gradient(140% 120% at 50% 40%, transparent 55%, rgba(0,0,0,0.5) 100%);
	pointer-events: none;
}
.dt-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	opacity: 0.22;
	mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
	pointer-events: none;
}

.dt-hero__grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	align-items: center;
	gap: clamp(2rem, 6vw, 6rem);
	width: 100%;
}

.dt-hero__inner { position: relative; z-index: 2; }
.dt-hero__eyebrow {
	margin-bottom: var(--dt-space-lg);
	font-size: 0.7rem;
	letter-spacing: 0.3em;
	color: var(--dt-champagne);
}
.dt-hero__title {
	font-size: clamp(3.5rem, 1.4rem + 8.4vw, 8.5rem);
	font-weight: 400;
	line-height: 0.9;
	letter-spacing: -0.022em;
	margin-block: 0 var(--dt-space-lg);
	text-wrap: balance;
}
.dt-hero__text {
	max-width: 40ch;
	color: var(--dt-text-muted);
	font-size: var(--dt-fs-lead);
	line-height: 1.5;
}
.dt-hero__actions { display: flex; flex-wrap: wrap; gap: var(--dt-space-sm); margin-top: var(--dt-space-xl); }

/* Framed showcase */
.dt-hero__showcase { position: relative; z-index: 2; justify-self: end; width: 100%; max-width: 430px; margin-right: clamp(0px, 2vw, 2rem); }
.dt-hero__frame {
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: var(--dt-radius-md);
	background: var(--dt-graphite);
	box-shadow: var(--dt-shadow-frame);
	transform: perspective(1500px) rotateY(-7deg) rotateX(2deg);
	transform-origin: right center;
}
.dt-hero__video,
.dt-hero__image,
.dt-hero__frame .dt-picture,
.dt-hero__frame .dt-picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.dt-hero__frame-edge {
	position: absolute;
	inset: 0;
	border: 1px solid rgba(201,168,106,0.32);
	border-radius: inherit;
	box-shadow: inset 0 0 0 1px rgba(8,8,8,0.5), inset 0 0 55px -26px rgba(0,0,0,0.85);
	pointer-events: none;
}
.dt-hero__frame-glow {
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, rgba(246,241,231,0.14) 0%, transparent 34%),
		linear-gradient(0deg, rgba(8,8,8,0.6), transparent 42%);
	pointer-events: none;
}
.dt-hero__frame-glow::after {
	content: "";
	position: absolute;
	inset: -40% -120%;
	background: linear-gradient(105deg, transparent 44%, rgba(246,241,231,0.16) 50%, transparent 56%);
	transform: translateX(-30%);
}
.js .dt-hero__frame-glow::after { animation: dt-hero-sheen 7s var(--dt-ease-in-out) 1.4s infinite; }
@keyframes dt-hero-sheen {
	0%, 62% { transform: translateX(-38%); opacity: 0; }
	72% { opacity: 1; }
	100% { transform: translateX(38%); opacity: 0; }
}
.dt-hero__pedestal {
	position: absolute;
	left: 50%; bottom: -8%;
	width: 88%; height: 54px;
	transform: translateX(-50%);
	background: radial-gradient(ellipse at center, rgba(201,168,106,0.42), rgba(201,168,106,0.12) 45%, transparent 72%);
	filter: blur(18px);
	pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
	.js .dt-hero__frame-glow::after { animation: none; opacity: 0; }
}
.dt-hero__stage { position: absolute; inset: 0; background:
	radial-gradient(70% 60% at 60% 30%, rgba(201,168,106,0.3), transparent 60%), var(--dt-graphite); }

.dt-hero__scrim {
	position: absolute; inset: 0;
	z-index: 1;
	background:
		radial-gradient(90% 70% at 15% 100%, rgba(5,5,5,0.55), transparent 55%),
		linear-gradient(180deg, transparent 55%, rgba(5,5,5,0.7) 100%);
	pointer-events: none;
}

.dt-hero__scroll-cue {
	position: absolute;
	left: 50%; bottom: var(--dt-space-lg);
	transform: translateX(-50%);
	z-index: 3;
	display: grid;
	place-items: center;
	width: 44px; height: 60px;
}
.dt-hero__scroll-line { width: 1px; height: 40px; background: linear-gradient(var(--dt-champagne), transparent); }
.js .dt-hero__scroll-line { animation: dt-scroll-cue 2.6s var(--dt-ease-in-out) infinite; }

@keyframes dt-scroll-cue {
	0% { transform: scaleY(0); transform-origin: top; }
	40% { transform: scaleY(1); transform-origin: top; }
	60% { transform: scaleY(1); transform-origin: bottom; }
	100% { transform: scaleY(0); transform-origin: bottom; }
}

@media (max-width: 900px) {
	.dt-hero {
		min-height: auto;
		align-items: stretch;
		padding-block: calc(var(--dt-header-h) + var(--dt-space-xl)) var(--dt-space-2xl);
	}
	.dt-hero__grid { grid-template-columns: 1fr; gap: var(--dt-space-xl); }
	.dt-hero__showcase { order: -1; justify-self: stretch; max-width: none; margin-right: 0; }
	.dt-hero__frame { transform: none; aspect-ratio: 4 / 3.6; }
	.dt-hero__title { font-size: clamp(3.25rem, 13vw, 5rem); line-height: 0.92; }
	.dt-hero__eyebrow { margin-bottom: var(--dt-space-md); }
	.dt-hero__actions { margin-top: var(--dt-space-lg); }
	.dt-hero__actions .dt-btn { flex: 1 1 auto; justify-content: center; }
	.dt-hero__scroll-cue { display: none; }
}
@media (max-width: 430px) {
	.dt-hero { padding-block: calc(var(--dt-header-h) + var(--dt-space-lg)) var(--dt-space-xl); }
	.dt-hero__frame { aspect-ratio: 4 / 4.2; }
	.dt-hero__actions .dt-btn { flex-basis: 100%; }
}

/* =============================================================
   4 · SHOP BY CATEGORY
   ========================================================== */
.dt-categories__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(0.75rem, 1.5vw, 1.5rem);
}

.dt-category-card { position: relative; }
.dt-category-card__link { display: block; height: 100%; color: var(--dt-ivory); }

.dt-category-card__media {
	position: relative;
	display: block;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border-radius: var(--dt-radius-md);
	background: var(--dt-graphite);
}
.dt-category-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	box-shadow: inset 0 0 0 1px var(--dt-line);
	background: linear-gradient(180deg, transparent 55%, rgba(5,5,5,0.55) 100%);
	pointer-events: none;
	transition: background var(--dt-dur-base) var(--dt-ease);
}
a.dt-category-card__link:hover .dt-category-card__media::after {
	background: linear-gradient(180deg, transparent 45%, rgba(5,5,5,0.42) 100%);
}
.dt-category-card__img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform var(--dt-dur-slow) var(--dt-ease);
}
.dt-category-card__placeholder { position: absolute; inset: 0; display: grid; place-items: center; }
.dt-category-card__index {
	position: relative;
	font-family: var(--dt-font-display);
	font-style: italic;
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	letter-spacing: 0.05em;
	color: rgba(201, 168, 106, 0.5);
}

.dt-category-card__body {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--dt-space-2xs);
	margin-top: var(--dt-space-sm);
	padding-top: var(--dt-space-sm);
	border-top: 1px solid var(--dt-line);
	transition: border-color var(--dt-dur-base) var(--dt-ease);
}
a.dt-category-card__link:hover .dt-category-card__body,
a.dt-category-card__link:focus-visible .dt-category-card__body { border-color: var(--dt-line-strong); }
.dt-category-card__name {
	font-family: var(--dt-font-display);
	font-size: var(--dt-fs-h3);
	font-weight: 400;
	line-height: 1.1;
}
.dt-category-card__cue {
	flex: none;
	color: var(--dt-accent);
	transform: translateX(-4px);
	opacity: 0;
	transition: transform var(--dt-dur-base) var(--dt-ease), opacity var(--dt-dur-base) var(--dt-ease);
}

a.dt-category-card__link:hover .dt-category-card__img { transform: scale(1.05); }
a.dt-category-card__link:hover .dt-category-card__cue,
a.dt-category-card__link:focus-visible .dt-category-card__cue { opacity: 1; transform: translateX(0); }

/* --- Responsive ------------------------------------------------- */
@media (max-width: 1080px) {
	.dt-categories__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 760px) {
	.dt-categories__grid { grid-template-columns: repeat(2, 1fr); gap: 0.6rem; }
	.dt-category-card__media { aspect-ratio: 3 / 3.4; }
	.dt-category-card__name { font-size: 1.15rem; }
}

/* =============================================================
   Section rhythm / cinematic transitions
   ========================================================== */
.dt-main--home > section { position: relative; }
/* A quiet centred hairline marks the seam between tonally-similar sections. */
.dt-main--home > section + section::before {
	content: "";
	position: absolute;
	left: 50%;
	top: calc(-1 * var(--dt-space-lg));
	width: 1px;
	height: var(--dt-space-lg);
	background: linear-gradient(rgba(201,168,106,0), rgba(201,168,106,0.55));
	z-index: 3;
}
/* No hairline where a full-bleed tonal shift already marks the seam. */
.dt-main--home > .dt-editorial--ivory::before,
.dt-main--home > .dt-editorial--ivory + section::before { display: none; }

.dt-section__head--start { text-align: left; }

/* =============================================================
   3 · INTERACTIVE PRODUCT FOCAL  (CSS-3D vitrine)
   ========================================================== */
.dt-focal {
	background:
		radial-gradient(90% 60% at 70% 0%, rgba(201,168,106,0.10), transparent 60%),
		var(--dt-black-900);
	overflow: hidden;
}
.dt-focal__grid {
	display: grid;
	grid-template-columns: 0.85fr 1.15fr;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}
.dt-focal__intro { max-width: 34ch; }
.dt-focal__intro .dt-btn { margin-top: var(--dt-space-md); }

/* Show the hint that matches the interaction actually available. */
.dt-focal__hint--touch { display: none; }
@media (max-width: 560px), (prefers-reduced-motion: reduce) {
	.dt-focal__hint--pointer { display: none; }
	.dt-focal__hint--touch { display: block; }
}

.dt-focal__stage {
	position: relative;
	height: clamp(380px, 46vw, 540px);
	perspective: 1500px;
	perspective-origin: 50% 44%;
	outline: none;
	touch-action: pan-y;
	cursor: grab;
}
.dt-focal__stage:active { cursor: grabbing; }
.dt-focal__stage:focus-visible { outline: 2px solid var(--dt-focus); outline-offset: 8px; border-radius: var(--dt-radius-lg); }

.dt-focal__glow {
	position: absolute;
	left: 50%;
	top: 46%;
	width: 62%;
	aspect-ratio: 1;
	transform: translate(-50%, -50%);
	background: radial-gradient(circle, rgba(201,168,106,0.32), transparent 62%);
	filter: blur(38px);
	pointer-events: none;
}
.dt-focal__ring {
	position: absolute;
	inset: 0;
	transform-style: preserve-3d;
}
.dt-focal__plate {
	position: absolute;
	left: 50%;
	top: 50%;
	width: clamp(220px, 24vw, 300px);
	height: clamp(300px, 32vw, 400px);
	display: flex;
	flex-direction: column;
	border-radius: var(--dt-radius-md);
	overflow: hidden;
	background: var(--dt-graphite);
	border: 1px solid var(--dt-line-strong);
	box-shadow: 0 40px 80px -24px rgba(0,0,0,0.75);
	transform: translate(-50%, -50%);
	transform-origin: 50% 50%;
	will-change: transform, opacity;
	filter: saturate(0.82) brightness(0.72);
	transition: filter var(--dt-dur-base) var(--dt-ease);
}
.dt-focal__plate.is-front {
	filter: none;
	box-shadow: 0 50px 100px -20px rgba(0,0,0,0.8), 0 0 0 1px rgba(201,168,106,0.35);
}
.dt-focal__plate-media { position: relative; flex: 1; overflow: hidden; }
.dt-focal__plate-media img,
.dt-focal__plate-media .dt-picture,
.dt-focal__plate-media .dt-swatch { width: 100%; height: 100%; object-fit: cover; }
.dt-focal__plate-media .dt-picture { display: block; }
.dt-focal__plate-info {
	padding: var(--dt-space-sm);
	background: linear-gradient(0deg, rgba(8,8,8,0.94), rgba(8,8,8,0.4) 70%, transparent);
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}
.dt-focal__plate-name { font-family: var(--dt-font-display); font-size: 1.05rem; color: var(--dt-ivory); }
.dt-focal__plate-price { font-size: 0.82rem; color: var(--dt-champagne-bright); }
.dt-focal__plate-reflection { display: none; }
.dt-focal__pedestal {
	position: absolute;
	left: 50%;
	bottom: 6%;
	width: 60%;
	height: 30px;
	transform: translateX(-50%);
	background: radial-gradient(ellipse at center, rgba(201,168,106,0.4), transparent 70%);
	filter: blur(10px);
	pointer-events: none;
}

/* Reduced-motion / small-screen fallback: a plain scroll strip. */
.dt-focal__stage.is-strip {
	height: auto;
	perspective: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
}
.dt-focal__stage.is-strip .dt-focal__glow,
.dt-focal__stage.is-strip .dt-focal__pedestal { display: none; }
.dt-focal__stage.is-strip .dt-focal__ring {
	position: static;
	display: flex;
	gap: var(--dt-space-md);
	padding-bottom: var(--dt-space-sm);
}
.dt-focal__stage.is-strip .dt-focal__plate {
	position: relative;
	left: auto; top: auto;
	transform: none;
	flex: 0 0 72%;
	filter: none;
	scroll-snap-align: center;
}

/* =============================================================
   5 / 6 · PRODUCT ROWS
   ========================================================== */
.dt-row--tinted { background: var(--dt-bg-alt); }
.dt-row__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--dt-space-md);
	margin-bottom: var(--dt-space-xl);
}
.dt-row__head .dt-section__head { margin-bottom: 0; }
.dt-row__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	min-height: 44px;
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: var(--dt-tracking-wide);
	color: var(--dt-champagne);
	white-space: nowrap;
}
.dt-row__link:hover { color: var(--dt-champagne-bright); }
.dt-row__link svg { transition: transform var(--dt-dur-base) var(--dt-ease); }
.dt-row__link:hover svg { transform: translateX(4px); }

/* =============================================================
   7 / 8 / 9 · EDITORIAL BANDS
   ========================================================== */
.dt-editorial { overflow: hidden; }
.dt-editorial--noir { background: var(--dt-black-900); }
.dt-editorial--dark { background: var(--dt-black); }
.dt-editorial--ivory {
	background: var(--dt-off-white);
	color: var(--dt-ink);
	border-block: 1px solid rgba(201,168,106,0.45);
	box-shadow: inset 0 40px 60px -40px rgba(10,8,5,0.35), inset 0 -40px 60px -40px rgba(10,8,5,0.35);
}
.dt-editorial--ivory .dt-eyebrow { color: var(--dt-champagne-deep); }
.dt-editorial--ivory .dt-editorial__text { color: rgba(20,17,13,0.7); }
.dt-editorial--ivory .dt-btn--ivory { --_bg: var(--dt-ink); --_fg: var(--dt-ivory); }
.dt-editorial--ivory .dt-editorial__art {
	background:
		radial-gradient(70% 50% at 28% 18%, rgba(201,168,106,0.4), transparent 60%),
		linear-gradient(150deg, #efe6d4, #d6c8ac);
}
.dt-editorial--ivory .dt-editorial__art-word { color: rgba(20,17,13,0.32); }
.dt-editorial--ivory .dt-editorial__chip { background: var(--dt-off-white); border-color: rgba(20,17,13,0.14); }
.dt-editorial--ivory .dt-editorial__chip-label { color: var(--dt-ink); }
.dt-editorial--ivory .dt-editorial__chip-price { color: var(--dt-champagne-deep); }
.dt-editorial--ivory .dt-editorial__chip .dt-swatch { background: linear-gradient(150deg, #e9dfca, #d3c4a6); }
.dt-editorial--ivory .dt-editorial__chip .dt-card__monogram { color: rgba(20,17,13,0.4); border-color: rgba(20,17,13,0.25); }

.dt-editorial__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 6vw, 6rem);
	align-items: center;
}
.dt-editorial--media-right .dt-editorial__media { order: 2; }

.dt-editorial__media { position: relative; }
.dt-editorial__frame {
	position: relative;
	aspect-ratio: 4 / 5;
	border-radius: var(--dt-radius-md);
	overflow: hidden;
	box-shadow: var(--dt-shadow-lift);
	transform: perspective(1400px) rotateY(-5deg);
}
.dt-editorial--media-right .dt-editorial__frame { transform: perspective(1400px) rotateY(5deg); }
.dt-editorial__img,
.dt-editorial__video,
.dt-editorial__art,
.dt-editorial__frame .dt-picture,
.dt-editorial__frame .dt-picture img { width: 100%; height: 110%; object-fit: cover; display: block; }
.dt-editorial__video { background: var(--dt-black-900); }
.dt-editorial__frame::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid rgba(201,168,106,0.22);
	border-radius: inherit;
	pointer-events: none;
}
/* soft reflection on the frame base */
.dt-editorial__frame::before {
	content: "";
	position: absolute;
	left: 8%; right: 8%; bottom: -14%;
	height: 22%;
	background: linear-gradient(rgba(201,168,106,0.16), transparent);
	filter: blur(10px);
	opacity: 0.7;
	pointer-events: none;
}
.dt-editorial__art {
	display: grid;
	place-items: center;
	background:
		radial-gradient(70% 50% at 30% 20%, rgba(201,168,106,0.3), transparent 60%),
		var(--dt-graphite);
}
.dt-editorial__art-word {
	font-family: var(--dt-font-display);
	font-size: clamp(1.5rem, 4vw, 2.75rem);
	font-style: italic;
	letter-spacing: 0.04em;
	color: rgba(246,241,231,0.5);
	text-transform: uppercase;
}
.dt-editorial__sheen {
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, transparent 40%, rgba(246,241,231,0.14) 50%, transparent 60%);
	pointer-events: none;
}
.dt-editorial__chip {
	position: absolute;
	width: clamp(120px, 22%, 180px);
	background: var(--dt-graphite);
	border: 1px solid var(--dt-line-strong);
	border-radius: var(--dt-radius-sm);
	overflow: hidden;
	box-shadow: var(--dt-shadow-soft);
}
.dt-editorial__chip--1 { right: -6%; top: 12%; }
.dt-editorial__chip--2 { left: -6%; bottom: 10%; }
.dt-editorial--media-right .dt-editorial__chip--1 { right: auto; left: -6%; }
.dt-editorial--media-right .dt-editorial__chip--2 { left: auto; right: -6%; }
.dt-editorial__chip-media { position: relative; display: block; aspect-ratio: 1; overflow: hidden; }
.dt-editorial__chip-media img, .dt-editorial__chip-media .dt-picture, .dt-editorial__chip-media .dt-swatch { width: 100%; height: 100%; object-fit: cover; }
.dt-editorial__chip-media .dt-picture { display: block; }
.dt-editorial__chip-media .dt-card__monogram {
	width: 44px; aspect-ratio: 1; font-size: 1.1rem;
	border-color: rgba(201,168,106,0.4); color: rgba(246,241,231,0.55);
}
.dt-editorial__chip-label {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	padding: 0.6rem 0.7rem;
	font-size: 0.72rem;
	color: var(--dt-ivory);
}
.dt-editorial__chip-price { color: var(--dt-champagne-bright); }

.dt-editorial__title {
	font-size: clamp(2.25rem, 1.4rem + 4vw, 4.25rem);
	font-weight: 400;
	line-height: 1.04;
	letter-spacing: -0.014em;
	margin: var(--dt-space-sm) 0 var(--dt-space-md);
	text-wrap: balance;
}
.dt-editorial__text { font-size: var(--dt-fs-lead); color: var(--dt-text-muted); max-width: 44ch; margin-bottom: var(--dt-space-lg); }

/* =============================================================
   10 · BRAND / VALUES
   ========================================================== */
.dt-brand { position: relative; background: var(--dt-bg-alt); overflow: hidden; }
.dt-brand__emblem {
	position: absolute;
	right: -6%;
	top: 50%;
	width: min(46vw, 520px);
	transform: translateY(-50%);
	opacity: 0.06;
	pointer-events: none;
	filter: grayscale(0.2);
}
.dt-brand__emblem img { width: 100%; height: auto; display: block; }
.dt-brand > .dt-container { position: relative; z-index: 1; }
.dt-brand__lead { max-width: 52ch; margin-bottom: var(--dt-space-2xl); }
.dt-brand__title { font-size: clamp(2rem, 1.3rem + 3.5vw, 3.75rem); font-weight: 400; line-height: 1.05; letter-spacing: -0.012em; margin-top: var(--dt-space-md); }
.dt-brand__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.5rem, 3vw, 3rem); }
.dt-brand__item { padding-top: var(--dt-space-md); border-top: 1px solid var(--dt-line-strong); }
.dt-brand__num { font-family: var(--dt-font-display); font-size: 1rem; color: var(--dt-champagne); }
.dt-brand__k { font-size: 1.4rem; margin: var(--dt-space-xs) 0 var(--dt-space-2xs); }
.dt-brand__v { color: var(--dt-text-muted); }

/* =============================================================
   11 · GALLERY / SOCIAL
   ========================================================== */
.dt-gallery__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(0.5rem, 1vw, 1rem); }
.dt-gallery__tile {
	position: relative;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: var(--dt-radius-sm);
	background: var(--dt-graphite);
}
.dt-gallery__img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dt-dur-slow) var(--dt-ease); }
.dt-gallery__tile:hover .dt-gallery__img { transform: scale(1.08); }
.dt-gallery__ph { position: absolute; inset: 0; }
.dt-gallery__ph::after {
	content: "";
	position: absolute; inset: 0;
	background-image: radial-gradient(rgba(246,241,231,0.05) 1px, transparent 1px);
	background-size: 5px 5px;
}
.dt-gallery__ph--1 { background: radial-gradient(80% 80% at 25% 20%, rgba(201,168,106,0.28), transparent 60%), linear-gradient(150deg, #24190f, #0d0a07); }
.dt-gallery__ph--2 { background: radial-gradient(80% 80% at 75% 30%, rgba(201,168,106,0.16), transparent 55%), linear-gradient(150deg, #1c1e22, #0b0c0d); }
.dt-gallery__ph--3 { background: radial-gradient(80% 80% at 30% 80%, rgba(201,168,106,0.22), transparent 58%), linear-gradient(150deg, #271d24, #110c10); }
.dt-gallery__ph--4 { background: radial-gradient(80% 80% at 70% 70%, rgba(201,168,106,0.2), transparent 55%), linear-gradient(150deg, #211c14, #0e0b08); }
.dt-gallery__mark {
	position: absolute;
	right: 0.6rem;
	bottom: 0.6rem;
	color: var(--dt-champagne);
	opacity: 0;
	transform: translateY(6px);
	transition: opacity var(--dt-dur-base) var(--dt-ease), transform var(--dt-dur-base) var(--dt-ease);
}
.dt-gallery__tile:hover .dt-gallery__mark { opacity: 1; transform: translateY(0); }

/* =============================================================
   12 · FINAL WHATSAPP CTA
   ========================================================== */
.dt-final-cta {
	position: relative;
	text-align: center;
	background: var(--dt-black-900);
	overflow: hidden;
}
.dt-final-cta__glow {
	position: absolute;
	left: 50%; top: 50%;
	width: 120%;
	aspect-ratio: 2 / 1;
	transform: translate(-50%, -50%);
	background: radial-gradient(ellipse at center, rgba(201,168,106,0.18), transparent 60%);
	pointer-events: none;
}
.dt-final-cta__inner { position: relative; max-width: 44ch; margin-inline: auto; }
.dt-final-cta__title { font-size: clamp(2.25rem, 1.4rem + 4.5vw, 5rem); font-weight: 400; line-height: 1.04; letter-spacing: -0.016em; margin: var(--dt-space-md) 0 var(--dt-space-md); text-wrap: pretty; }
.dt-final-cta .dt-eyebrow::before { display: none; }
.dt-final-cta__text { color: var(--dt-text-muted); margin-bottom: var(--dt-space-lg); }
.dt-final-cta__actions { display: flex; flex-wrap: wrap; gap: var(--dt-space-sm); justify-content: center; }
.dt-final-cta__lines { margin-top: var(--dt-space-lg); font-size: 0.85rem; color: var(--dt-text-muted); }
.dt-final-cta__lines a { color: var(--dt-champagne); }

/* =============================================================
   Responsive
   ========================================================== */
@media (max-width: 1000px) {
	.dt-focal__grid { grid-template-columns: 1fr; }
	.dt-focal__stage { height: clamp(340px, 70vw, 460px); }
	.dt-editorial__grid { grid-template-columns: 1fr; }
	.dt-editorial--media-right .dt-editorial__media { order: 0; }
	.dt-editorial__frame, .dt-editorial--media-right .dt-editorial__frame { transform: none; }
	.dt-brand__grid { grid-template-columns: 1fr; gap: var(--dt-space-lg); }
	.dt-gallery__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
	.dt-row__head { flex-direction: column; align-items: flex-start; }
	.dt-editorial__chip { position: static; width: 46%; display: inline-flex; flex-direction: column; margin-top: var(--dt-space-sm); }
	.dt-editorial__media { display: flex; flex-wrap: wrap; gap: var(--dt-space-sm); }
	.dt-gallery__grid { grid-template-columns: repeat(2, 1fr); }
	.dt-final-cta__actions .dt-btn { width: 100%; justify-content: center; }
}
