@keyframes dphFloat   { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-20px)} }
@keyframes dphFadeIn  { from{opacity:0} to{opacity:1} }
@keyframes dphSlideUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@keyframes dphProgress{ from{width:0} to{width:100%} }

.dph-hero {
	--dph-height:     88vh;
	--dph-max-w:      1400px;
	--dph-text:       #2C292A;
	--dph-desc:       #6b5f60;
	--dph-price:      #E64662;
	--dph-accent:     #E64662;
	--dph-tag-border: #E64662;
	--dph-cta-bg:     #E64662;
	--dph-cta-text:   #ffffff;
	--dph-arrow-bg:   rgba(255,255,255,0.8);
	--dph-arrow-color:#2C292A;
	--dph-dot:        rgba(44,41,42,0.2);
	--dph-dot-active: #E64662;
	--dph-progress:   #E64662;
	--dph-wm-color:   #2C292A;
	--dph-wm-opacity: 0.04;
	--dph-title-font: 'Cormorant Garamond', Georgia, serif;
	--dph-title-weight: 700;
	--dph-desc-size:  15px;
	--dph-price-size: 52px;
	--dph-price-weight: 700;
	--dph-tag-size:   12px;
	--dph-cta-size:   13px;
	--dph-btn-py:     14px;
	--dph-btn-px:     28px;
	--dph-desc-font:  'DM Sans', system-ui, sans-serif;
	--dph-price-font: 'Cormorant Garamond', Georgia, serif;
	--dph-tag-font:   'DM Sans', system-ui, sans-serif;
	--dph-title-size: 56px;
	--dph-desc-size:  0.9rem;
	
	
}

.dph-hero {
	position: relative !important;
	width: 100% !important;
	height: var(--dph-height) !important;
	overflow: hidden !important;
	background: linear-gradient(140deg, #FAF8F6 0%, #F2DFE1 100%);
	box-sizing: border-box !important;
}

.dph-hero__track {
	position: relative !important;
	width: 100% !important;
	height: 100% !important;
}

.dph-slide {
	position: absolute !important;
	inset: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
	transition: opacity 0.65s ease !important;
	overflow: hidden !important;
}
.dph-slide--active  { opacity: 1 !important; pointer-events: auto !important; }
.dph-slide--out     { opacity: 0 !important; transition: opacity 0.4s ease !important; }
.dph-slide__overlay { position: absolute !important; inset: 0 !important; z-index: 1 !important; }
[style*="background-image"].dph-slide { background-size: cover !important; background-position: center !important; }

.dph-slide__bg-text {
	position: absolute !important;
	inset: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: 'Cormorant Garamond', Georgia, serif !important;
	font-size: clamp(3rem, 18vw, 22rem) !important;
	font-weight: 700 !important;
	color: var(--dph-wm-color) !important;
	opacity: var(--dph-wm-opacity) !important;
	white-space: nowrap !important;
	letter-spacing: 0.08em !important;
	pointer-events: none !important;
	user-select: none !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	z-index: 2 !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.dph-slide__inner {
	position: relative !important;
	z-index: 3 !important;
	width: 100% !important;
	max-width: var(--dph-max-w, 1400px) !important;
	margin: 0 auto !important;
	height: 100% !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	align-items: center !important;
	padding: 0 max(48px, 5vw) !important;
	box-sizing: border-box !important;
	gap: 40px !important;
}

.dph-slide__info {
	display: flex !important;
	flex-direction: column !important;
}

.dph-slide__tag {
	display: inline-flex !important;
	align-items: center !important;
	font-family: var(--dph-tag-font) !important;
	font-size: var(--dph-tag-size) !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	text-transform: none !important;
	color: var(--dph-accent) !important;
	margin-bottom: 14px !important;
	margin-top: 0 !important;
	padding-left: 12px !important;
	padding-right: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	border-left: 3px solid var(--dph-tag-border) !important;
	border-top: none !important;
	border-right: none !important;
	border-bottom: none !important;
	background: none !important;
	opacity: 0;
	transform: translateX(-10px);
	transition: opacity 0.4s 0.1s ease, transform 0.4s 0.1s ease;
}
.dph-slide--active .dph-slide__tag { opacity: 1 !important; transform: translateX(0) !important; }

.dph-slide__title {
	font-family: var(--dph-title-font) !important;
	font-size: var(--dph-title-size) !important;
	font-weight: var(--dph-title-weight) !important;
	font-weight: 700 !important;
	color: var(--dph-text) !important;
	line-height: 1.0 !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	text-decoration: none !important;
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.5s 0.18s ease, transform 0.5s 0.18s ease;
}
.dph-slide--active .dph-slide__title { opacity: 1 !important; transform: translateY(0) !important; }

.dph-slide__title::after {
	content: '' !important;
	display: block !important;
	width: 50px !important;
	height: 2px !important;
	background: var(--dph-accent) !important;
	opacity: 0.3 !important;
	margin-top: 18px !important;
}

.dph-slide__desc {
	font-family: var(--dph-desc-font) !important;
	font-size: var(--dph-desc-size) !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
	color: var(--dph-desc) !important;
	margin: 0 0 24px !important;
	padding: 0 !important;
	max-width: 400px !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.45s 0.28s ease, transform 0.45s 0.28s ease;
}
.dph-slide--active .dph-slide__desc { opacity: 1 !important; transform: translateY(0) !important; }

.dph-slide__bottom {
	display: flex !important;
	align-items: center !important;
	gap: 20px !important;
	flex-wrap: wrap !important;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.45s 0.38s ease, transform 0.45s 0.38s ease;
}
.dph-slide--active .dph-slide__bottom { opacity: 1 !important; transform: translateY(0) !important; }

.dph-slide__price-block {
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
}

.dph-slide__price-label {
	font-family: 'DM Sans', system-ui, sans-serif !important;
	font-size: 0.78rem !important;
	font-weight: 600 !important;
	color: var(--dph-desc) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	margin: 0 !important;
	padding: 0 !important;
}

.dph-slide__price {
	font-family: var(--dph-price-font) !important;
	font-size: var(--dph-price-size) !important;
	font-weight: var(--dph-price-weight) !important;
	font-weight: 700 !important;
	color: var(--dph-price) !important;
	line-height: 1 !important;
	letter-spacing: -0.01em !important;
	margin: 0 !important;
	padding: 0 !important;
	text-decoration: none !important;
	background: none !important;
}

.dph-slide__cta {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-family: var(--dph-tag-font) !important;
	font-size: var(--dph-cta-size) !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--dph-cta-text) !important;
	background: var(--dph-cta-bg) !important;
	background-image: none !important;
	text-decoration: none !important;
	padding: var(--dph-btn-py) var(--dph-btn-px) !important;
	border-radius: var(--dph-btn-radius) !important;
	border: none !important;
	box-shadow: none !important;
	transition: opacity 0.2s, transform 0.2s, gap 0.25s !important;
}
.dph-slide__cta:hover {
	opacity: 0.88 !important;
	transform: translateY(-2px) !important;
	gap: 16px !important;
	color: var(--dph-cta-text) !important;
	background: var(--dph-cta-bg) !important;
	text-decoration: none !important;
}
.dph-slide__cta:active { transform: scale(0.97) !important; }
.dph-slide__cta svg { flex-shrink: 0 !important; }

.dph-slide__image-wrap {
	position: relative !important;
	height: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: visible !important;
	opacity: 0;
	transform: translateX(30px);
	transition: opacity 0.6s 0.1s ease, transform 0.6s 0.1s ease;
}
.dph-slide--active .dph-slide__image-wrap { opacity: 1 !important; transform: translateX(0) !important; }

.dph-slide__image-rotate {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.dph-slide__image {
	max-height: var(--dph-img-size-h, 78vh) !important;
	max-width: var(--dph-img-size, 80%) !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	display: block !important;
	filter: drop-shadow(0 40px 60px rgba(0,0,0,0.13)) !important;
}
.dph-slide__image.dph-float { animation: dphFloat 5s ease-in-out infinite !important; }

.dph-slide__image-placeholder {
	width: 300px !important;
	max-width: 80% !important;
	aspect-ratio: 3/4 !important;
	background: rgba(44,41,42,0.04) !important;
	border-radius: 24px !important;
	border: 2px dashed rgba(44,41,42,0.1) !important;
}

.dph-hero__nav {
	position: absolute !important;
	bottom: 28px !important;
	left: max(48px, 5vw) !important;
	display: flex !important;
	gap: 8px !important;
	align-items: center !important;
	z-index: 10 !important;
}
.dph-hero__dot {
	width: 7px !important;
	height: 7px !important;
	border-radius: 50% !important;
	background: var(--dph-dot) !important;
	border: none !important;
	cursor: pointer !important;
	padding: 0 !important;
	transition: background 0.3s, width 0.3s, border-radius 0.3s !important;
}
.dph-hero__dot--active {
	background: var(--dph-dot-active) !important;
	width: 24px !important;
	border-radius: 4px !important;
}

.dph-hero__arrows {
	position: absolute !important;
	bottom: 20px !important;
	right: max(48px, 5vw) !important;
	display: flex !important;
	gap: 10px !important;
	z-index: 10 !important;
}
.dph-hero__arrow {
	width: 44px !important;
	height: 44px !important;
	border-radius: 50% !important;
	border: 1.5px solid rgba(44,41,42,0.1) !important;
	background: var(--dph-arrow-bg) !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: var(--dph-arrow-color) !important;
	transition: opacity 0.2s, transform 0.15s !important;
	box-shadow: none !important;
	text-decoration: none !important;
}
.dph-hero__arrow:hover { opacity: 0.75 !important; color: var(--dph-arrow-color) !important; }
.dph-hero__arrow:active { transform: scale(0.92) !important; }
.dph-hero__arrow svg { display: block !important; }

.dph-hero__progress {
	position: absolute !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 3px !important;
	background: rgba(44,41,42,0.07) !important;
	z-index: 10 !important;
}
.dph-hero__progress-bar {
	height: 100% !important;
	background: var(--dph-progress) !important;
	width: 0 !important;
}
.dph-hero__progress-bar.dph-running {
	animation: dphProgress var(--dph-interval, 5s) linear !important;
}

.dph-hero--fit-text .dph-slide__bg-text {
	font-size: clamp(3.5rem, 10vw, 11rem) !important;
	letter-spacing: 0.04em !important;
}

@media (max-width: 860px) {
	.dph-hero { height: auto !important; min-height: 0 !important; }
	.dph-hero__track { height: auto !important; }
	.dph-slide { position: relative !important; inset: auto !important; display: none !important; opacity: 1 !important; height: auto !important; }
	.dph-slide--active { display: flex !important; flex-direction: column !important; }
	.dph-slide__inner { display: flex !important; flex-direction: column !important; max-width: 100% !important; padding: 0 !important; gap: 8px !important; height: auto !important; }
	.dph-slide__bg-text { font-size: clamp(4rem, 22vw, 8rem) !important; opacity: 0.035 !important; }
	.dph-slide__image-wrap {
		order: 1 !important;
		position: relative !important;
		height: var(--dph-mob-img, 70vw) !important;
		max-height: 480px !important;
		min-height: 240px !important;
		width: 100% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		overflow: hidden !important;
	}
	.dph-slide__image {
		max-height: 100% !important;
		max-width: 90% !important;
		filter: drop-shadow(0 20px 40px rgba(0,0,0,0.13)) !important;
	}
	.dph-slide__info {
		order: 2 !important;
		padding: 20px max(20px, 6vw) 80px !important;
		align-items: flex-start !important;
		text-align: left !important;
		gap: 0 !important;

	}
	.dph-slide__tag {
		margin-bottom: 10px !important;
		display: inline-flex !important;
	}
	.dph-slide__title {
		font-size: max(calc(var(--dph-title-size, 68px) * 0.58), 26px) !important;
		margin-bottom: 8px !important;
	}
	.dph-slide__title::after { margin-top: 8px !important; width: 32px !important; }
	.dph-slide__desc {
		font-size: max(calc(var(--dph-desc-size, 15px) * 0.93), 13px) !important;
		max-width: 100% !important;
		margin-bottom: 16px !important;
	}
	.dph-slide__price { font-size: max(calc(var(--dph-price-size, 52px) * 0.58), 24px) !important; }
	.dph-slide__cta { font-size: max(calc(var(--dph-cta-size, 13px) * 0.9), 11px) !important; padding: 12px 20px !important; white-space: nowrap !important; }
	.dph-slide__bottom { gap: 14px !important; flex-wrap: nowrap !important; align-items: center !important; }
	.dph-slide__price-block { flex-shrink: 0 !important; }
	.dph-hero__nav { bottom: 18px !important; left: 50% !important; transform: translateX(-50%) !important; }
	.dph-hero__arrows { display: none !important; }
}
@media (max-width: 480px) {
	.dph-slide__title { font-size: max(calc(var(--dph-title-size, 68px) * 0.52), 24px) !important; }
	.dph-slide__price { font-size: max(calc(var(--dph-price-size, 52px) * 0.52), 22px) !important; }
	.dph-slide__image { max-width: 85% !important; }
}

.dph-flex{display:flex} .dph-flex-col{flex-direction:column} .dph-flex-wrap{flex-wrap:wrap}
.dph-items-center{align-items:center} .dph-items-start{align-items:flex-start} .dph-items-end{align-items:flex-end}
.dph-justify-center{justify-content:center} .dph-justify-between{justify-content:space-between} .dph-justify-end{justify-content:flex-end}
.dph-grid{display:grid} .dph-grid-2{grid-template-columns:1fr 1fr} .dph-grid-3{grid-template-columns:1fr 1fr 1fr}
.dph-gap-xs{gap:8px} .dph-gap-sm{gap:16px} .dph-gap-md{gap:24px} .dph-gap-lg{gap:40px}
.dph-relative{position:relative} .dph-absolute{position:absolute;inset:0}
.dph-center{text-align:center;margin-left:auto;margin-right:auto} .dph-mx-auto{margin-left:auto;margin-right:auto}
.dph-overflow-hidden{overflow:hidden} .dph-w-full{width:100%}
.dph-max-w-sm{max-width:480px} .dph-max-w-md{max-width:720px} .dph-max-w-lg{max-width:1100px} .dph-hidden{display:none}
.dph-p-xs{padding:8px} .dph-p-sm{padding:16px} .dph-p-md{padding:28px} .dph-p-lg{padding:48px}
.dph-pt-sm{padding-top:16px} .dph-pt-md{padding-top:28px} .dph-pt-lg{padding-top:48px}
.dph-pb-sm{padding-bottom:16px} .dph-pb-md{padding-bottom:28px} .dph-pb-lg{padding-bottom:48px}
.dph-px-sm{padding-left:16px;padding-right:16px} .dph-px-md{padding-left:40px;padding-right:40px}
.dph-py-sm{padding-top:16px;padding-bottom:16px} .dph-py-md{padding-top:40px;padding-bottom:40px}
.dph-mt-xs{margin-top:8px} .dph-mt-sm{margin-top:14px} .dph-mt-md{margin-top:28px} .dph-mt-lg{margin-top:48px}
.dph-mb-xs{margin-bottom:8px} .dph-mb-sm{margin-bottom:14px} .dph-mb-md{margin-bottom:28px} .dph-mb-lg{margin-bottom:48px}
.dph-c-coral{color:#E64662} .dph-c-coral-light{color:#F07A8E} .dph-c-gold{color:#D4A574}
.dph-c-charcoal{color:#2C292A} .dph-c-muted{color:#6b5f60} .dph-c-white{color:#fff}
.dph-bg-coral{background-color:#E64662} .dph-bg-coral-light{background-color:#F8E4E6}
.dph-bg-gold{background-color:#D4A574} .dph-bg-charcoal{background-color:#2C292A}
.dph-bg-cream{background-color:#FAF8F6} .dph-bg-champagne{background-color:#F5E6D3}
.dph-bg-white{background-color:#fff} .dph-bg-dark{background-color:#231F20}
.dph-font-serif{font-family:'Cormorant Garamond',Georgia,serif}
.dph-font-sans{font-family:'DM Sans',system-ui,sans-serif}
.dph-text-xs{font-size:0.72rem} .dph-text-sm{font-size:0.86rem} .dph-text-md{font-size:1rem}
.dph-text-lg{font-size:1.4rem} .dph-text-xl{font-size:2rem} .dph-text-2xl{font-size:clamp(2rem,4vw,3.5rem)}
.dph-fw-normal{font-weight:400} .dph-fw-medium{font-weight:500} .dph-fw-semibold{font-weight:600} .dph-fw-bold{font-weight:700}
.dph-uppercase{text-transform:uppercase;letter-spacing:0.1em} .dph-italic{font-style:italic}
.dph-rounded{border-radius:12px} .dph-rounded-lg{border-radius:24px} .dph-rounded-full{border-radius:999px}
.dph-shadow{box-shadow:0 8px 32px rgba(44,41,42,.12)} .dph-shadow-lg{box-shadow:0 24px 80px rgba(44,41,42,.18)}
.dph-scale-hover{transition:transform .3s ease} .dph-scale-hover:hover{transform:scale(1.04)}
.dph-float{animation:dphFloat 5s ease-in-out infinite}
.dph-fade-in{animation:dphFadeIn .6s ease both} .dph-slide-up{animation:dphSlideUp .6s ease both}
.dph-rotate-neg8{transform:rotate(-8deg)} .dph-rotate-neg5{transform:rotate(-5deg)}
.dph-rotate-pos5{transform:rotate(5deg)} .dph-rotate-pos8{transform:rotate(8deg)}
.dph-show-mobile{display:none}
@media(max-width:768px){.dph-hide-mobile{display:none!important}.dph-show-mobile{display:block}.dph-grid-2,.dph-grid-3{grid-template-columns:1fr}}
