/* Daycare Template Engine v3.1 – Hero Slider (Full-Width Viewport Breakout) */

/* Full-width breakout: escapes parent max-width using 100vw + negative margins */
.dte-slider-wrap{position:relative;width:100vw;height:100vh;height:100svh;margin:0 calc(50% - 50vw) 48px;aspect-ratio:auto;overflow:hidden;background:#111;border-radius:0;}
@media(max-width:1024px){.dte-slider-wrap{height:100vh;height:100svh;margin-bottom:32px;aspect-ratio:auto;}}
@media(max-width:680px){.dte-slider-wrap{height:100vh;height:100svh;margin-bottom:32px;aspect-ratio:auto;}}

.dte-slider-track{display:flex;width:100%;height:100%;transition:transform .65s cubic-bezier(.77,0,.175,1);will-change:transform;}
.dte-slide{flex:0 0 100%;width:100%;height:100%;position:relative;overflow:hidden;}
.dte-slide-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;transform:scale(1.06);transition:transform 9s ease-out;}
.dte-slide.is-active .dte-slide-bg{transform:scale(1);}
.dte-slide-bg--video{background-image:none!important;background:#111;overflow:hidden;transform:none!important;}
.dte-slide.is-active .dte-slide-bg--video{transform:none!important;}
.dte-slide-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;border:0;}
/* Embeds (YouTube/Vimeo/Loom): cover like object-fit:cover — crop edges, no black bars */
.dte-slide-video--embed{
	inset:auto;
	top:50%;
	left:50%;
	width:max(100vw,calc(100svh * 16 / 9));
	height:max(100svh,calc(100vw * 9 / 16));
	max-width:none;
	object-fit:unset;
	transform:translate(-50%,-50%);
}

/* Cinematic bottom-heavy gradient */
.dte-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.08) 0%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 40%,rgba(0,0,0,.45) 70%,rgba(0,0,0,.78) 100%);pointer-events:none;}
@media(max-width:680px){.dte-slide::after{background:linear-gradient(to bottom,rgba(0,0,0,.1) 0%,rgba(0,0,0,.6) 60%,rgba(0,0,0,.85) 100%);}}

/* Content anchored to bottom, re-constrained to readable width */
.dte-slide-content{position:absolute;bottom:0;left:0;right:0;z-index:2;max-width:min(1120px,calc(100vw - 96px));margin:0 auto;padding:0 64px 64px;opacity:0;transform:translateY(22px);transition:opacity .6s ease .3s,transform .6s ease .3s;}
.dte-slide.is-active .dte-slide-content{opacity:1;transform:translateY(0);}
@media(max-width:680px){.dte-slide-content{padding:0 20px 123px;max-width:100%;}}

.dte-slide-eyebrow{display:none;}
.dte-slide-heading{font-family:var(--dte-font-heading);font-size:clamp(2.2rem,5vw,4.3rem);font-weight:900;color:#fff;line-height:1.04;margin:0 0 14px;max-width:760px;text-shadow:0 2px 12px rgba(0,0,0,.4);letter-spacing:-.5px;}
.dte-slide-subheading{font-family:var(--dte-font-body);font-size:clamp(.95rem,1.8vw,1.2rem);color:rgba(255,255,255,.9);margin:0 0 28px;line-height:1.6;font-weight:400;max-width:560px;text-shadow:0 1px 4px rgba(0,0,0,.3);}
.dte-slide-cta{display:inline-block;background:var(--dte-cta);color:#fff;font-family:var(--dte-font-body);font-size:1rem;font-weight:700;padding:14px 32px;border-radius:8px;text-decoration:none;letter-spacing:.3px;box-shadow:0 4px 24px rgba(0,0,0,.3);transition:transform .2s,box-shadow .2s,opacity .2s;}
.dte-slide-cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.dte-slide-cta--call{background:rgba(255,255,255,.14);color:#fff;border:2px solid rgba(255,255,255,.72);box-shadow:none;backdrop-filter:blur(4px)}
.dte-slide-cta--call:hover{background:rgba(255,255,255,.24);box-shadow:0 8px 28px rgba(0,0,0,.22)}
.dte-slide-cta:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.4);opacity:.92;}
.dte-slider-wrap a,.dte-pricing-cta,.dte-slide-cta{text-decoration:none!important;}

/* Arrows */
.dte-slider-prev,.dte-slider-next{display:none!important;}
.dte-slider-prev{left:24px;}.dte-slider-next{right:24px;}
.dte-slider-prev:hover,.dte-slider-next:hover{background:var(--dte-primary);border-color:var(--dte-primary);transform:translateY(-50%) scale(1.05);}
@media(max-width:480px){.dte-slider-prev{left:12px;}.dte-slider-next{right:12px;}.dte-slider-prev,.dte-slider-next{width:40px;height:40px;font-size:1.1rem;}}

/* Dots — pill style */
.dte-slider-dots{position:absolute;bottom:22px;right:32px;z-index:10;display:flex;gap:8px;align-items:center;}
@media(max-width:480px){.dte-slider-dots{right:50%;transform:translateX(50%);bottom:14px;}}
.dte-slider-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);border:none;cursor:pointer;padding:0;transition:background .25s,transform .25s,width .25s;}
.dte-slider-dot.is-active{background:#fff;width:24px;border-radius:4px;}

/* Progress bar */
.dte-slider-progress{position:absolute;bottom:0;left:0;height:3px;background:var(--dte-primary);z-index:10;width:0%;transition:width linear;}

/* Shared premium section helpers */
.dte-shared-section-title{font-family:var(--dte-font-heading);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--dte-primary);text-align:center;margin-bottom:8px;}
.dte-shared-section-sub{text-align:center;color:#666;margin-bottom:36px;font-size:1rem;}
.dte-section-wrap{margin-bottom:56px;}

.dte-hero-trust-panel{position:absolute;top:clamp(84px,12vh,120px);right:clamp(20px,4vw,48px);z-index:12;width:min(320px,calc(100vw - 40px));background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.65);border-radius:20px;padding:22px 20px;box-shadow:0 18px 50px rgba(0,0,0,.28);backdrop-filter:blur(8px)}
.dte-hero-trust-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.dte-hero-trust-list li{display:flex;align-items:flex-start;gap:10px;color:#0f172a;font-weight:700;font-size:.92rem;line-height:1.45}
.dte-hero-trust-icon{font-size:1rem;line-height:1.2;flex-shrink:0}
@media(max-width:900px){.dte-hero-trust-panel{display:none}}

a[class*="btn"],a[class*="cta"],.dte-submit-btn,.dte-slide-cta,.dte-pricing-cta{text-decoration:none!important}

.dte-booking-section {
	margin-top: 2rem;
}

.dte-booking-panel-card {
	max-width: 720px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid rgba(28, 20, 16, 0.08);
	border-radius: 18px;
	padding: 28px;
	box-shadow: 0 24px 60px rgba(28, 20, 16, 0.08);
}

.dte-booking-app {
	max-width: none;
	margin: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
}

.dte-booking-split-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
	gap: 40px;
	align-items: start;
}

.dte-booking-split-aside {
	padding-top: 0;
}

.dte-booking-aside-hero {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	min-height: 440px;
	box-shadow: 0 28px 70px rgba(28, 20, 16, 0.16);
}

.dte-booking-aside-hero img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 440px;
	object-fit: cover;
}

.dte-booking-aside-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 36px 32px;
	background: linear-gradient(
		to bottom,
		rgba(15, 12, 10, 0.88) 0%,
		rgba(15, 12, 10, 0.72) 35%,
		rgba(15, 12, 10, 0.28) 62%,
		rgba(15, 12, 10, 0.12) 100%
	);
}

.dte-booking-aside-overlay .dte-shared-section-title {
	color: var(--dte-on-primary-heading, var(--dte-accent, #f7f2ee)) !important;
	text-align: left;
	margin: 0 0 4px;
	font-size: clamp(1.75rem, 3vw, 2.35rem);
	line-height: 1.15;
}

.dte-booking-trust-list--overlay {
	margin: 22px 0 0;
}

.dte-booking-aside-overlay .dte-booking-trust-list li {
	color: var(--dte-on-primary-body, var(--dte-accent, #f7f2ee)) !important;
	font-weight: 600;
}

.dte-booking-aside-overlay .dte-booking-trust-list li::before {
	background: var(--dte-on-primary-heading, var(--dte-accent, #f7f2ee));
	box-shadow: inset 0 0 0 3px rgba(15, 12, 10, 0.35);
}

.dte-booking-aside-overlay .dte-booking-aside-phone {
	margin-top: 20px;
}

.dte-booking-aside-overlay .dte-booking-aside-phone a {
	color: var(--dte-on-primary-heading, var(--dte-accent, #f7f2ee)) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.dte-booking-form-step-title {
	margin: 0 0 18px;
	font-family: var(--dte-font-heading, inherit);
	font-size: clamp(1.2rem, 2.2vw, 1.45rem);
	font-weight: 800;
	color: var(--dte-secondary, #1c1410);
	line-height: 1.25;
}

.dte-booking-trust-list {
	list-style: none;
	margin: 28px 0 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.dte-booking-trust-list li {
	position: relative;
	padding-left: 28px;
	color: var(--dte-secondary, #1c1410);
	font-weight: 600;
	font-size: 0.95rem;
}

.dte-booking-trust-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.45em;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--dte-primary);
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.85);
}

.dte-booking-aside-phone {
	margin-top: 22px;
	font-size: 1.05rem;
	font-weight: 800;
}

.dte-booking-aside-phone a {
	color: var(--dte-primary);
	text-decoration: none;
}

.dte-booking-layout-split .dte-booking-panel-card {
	max-width: none;
	margin: 0;
}

/* Hero — full-bleed photo, edge-to-edge overlay, light heading text */
.dte-section-shell-staff_booking:has(.dte-booking-layout-hero.dte-booking-section--has-bg) {
	background: transparent !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.dte-section-shell-staff_booking:has(.dte-booking-layout-hero) .dte-section-shell-inner {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.dte-booking-layout-hero.dte-booking-section--has-bg {
	position: relative;
	isolation: isolate;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(48px, 8vw, 72px) 16px;
	min-height: clamp(420px, 72vh, 760px);
	display: flex;
	align-items: center;
	justify-content: center;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.dte-booking-layout-hero.dte-booking-section--has-bg::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		135deg,
		rgba(15, 12, 10, 0.88) 0%,
		rgba(28, 20, 16, 0.8) 45%,
		rgba(15, 12, 10, 0.88) 100%
	);
	z-index: 0;
	pointer-events: none;
}

.dte-booking-hero-overlay {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 720px;
	margin: 0 auto;
	background: transparent;
	padding: 0;
}

.dte-booking-hero-card {
	max-width: 640px;
	margin: 0 auto;
	text-align: center;
}

.dte-booking-layout-hero .dte-shared-section-title {
	color: var(--dte-on-primary-heading, #faf7f4) !important;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

.dte-booking-layout-hero .dte-shared-section-sub {
	color: var(--dte-on-primary-body, rgba(250, 247, 244, 0.9)) !important;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.28);
}

.dte-booking-layout-hero .dte-section-heading-accent {
	background: var(--dte-primary);
}

.dte-booking-section--has-bg:not(.dte-booking-layout-hero) {
	position: relative;
	background-size: cover;
	background-position: center;
	padding: 56px 0;
}

@media (max-width: 900px) {
	.dte-booking-split-grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.dte-booking-aside-hero {
		min-height: 320px;
	}

	.dte-booking-aside-hero img {
		min-height: 320px;
	}

	.dte-booking-aside-overlay {
		padding: 28px 24px;
	}
}

/* Site themes often force white text on all buttons — restore readable defaults */
.dte-booking-app button {
	color: #0f172a !important;
}

/* WordPress themes often paint buttons blue on hover/focus — keep brand styling */
.dte-booking-app button.dte-booking-card,
.dte-booking-app button.dte-booking-service,
.dte-booking-app button.dte-booking-slot,
.dte-booking-app button.dte-booking-tip {
	background: #fff !important;
	border-color: #e2e8f0;
}

.dte-booking-app button.dte-booking-card:hover,
.dte-booking-app button.dte-booking-card:focus,
.dte-booking-app button.dte-booking-card:focus-visible,
.dte-booking-app button.dte-booking-card.is-selected {
	background: #fff !important;
	border-color: var(--dte-primary, #be185d) !important;
	box-shadow: 0 4px 16px rgba(190, 24, 93, 0.12) !important;
	color: #0f172a !important;
}

.dte-booking-app button.dte-booking-card.is-selected strong {
	color: var(--dte-primary, #be185d) !important;
}

.dte-booking-app button.dte-booking-service:hover,
.dte-booking-app button.dte-booking-service:focus,
.dte-booking-app button.dte-booking-service:focus-visible {
	background: #fff !important;
	border-color: var(--dte-primary, #be185d) !important;
	color: #0f172a !important;
}

.dte-booking-app button.dte-booking-service.is-selected {
	background: var(--dte-primary-light, #fdf2f8) !important;
	border-color: var(--dte-primary, #be185d) !important;
	color: #0f172a !important;
}

.dte-booking-app button.dte-booking-slot:hover,
.dte-booking-app button.dte-booking-slot:focus,
.dte-booking-app button.dte-booking-slot:focus-visible {
	background: var(--dte-primary-light, #fdf2f8) !important;
	border-color: var(--dte-primary, #be185d) !important;
	color: #0f172a !important;
}

.dte-booking-app button.dte-booking-slot.is-selected {
	background: var(--dte-primary, #be185d) !important;
	border-color: var(--dte-primary, #be185d) !important;
	color: #fff !important;
}

.dte-booking-app button.dte-booking-tip:hover,
.dte-booking-app button.dte-booking-tip:focus,
.dte-booking-app button.dte-booking-tip:focus-visible,
.dte-booking-app button.dte-booking-tip.is-selected {
	background: var(--dte-primary-light, #fdf2f8) !important;
	border-color: var(--dte-primary, #be185d) !important;
	color: var(--dte-primary, #be185d) !important;
}

.dte-booking-app .dte-booking-step.is-active {
	border-color: var(--dte-primary, #be185d) !important;
	background: var(--dte-primary, #be185d) !important;
	color: #fff !important;
}

.dte-booking-app .dte-booking-next {
	color: #fff !important;
}

.dte-booking-app .dte-booking-card span,
.dte-booking-app .dte-booking-card small {
	color: #64748b !important;
}

.dte-booking-steps {
	display: flex;
	gap: 10px;
	margin-bottom: 20px;
}

.dte-booking-step {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 1px solid #cbd5e1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.85rem;
	font-weight: 700;
	color: #64748b;
	background: #fff;
}

.dte-booking-step.is-active {
	border-color: var(--dte-primary, #be185d);
	color: #fff;
	background: var(--dte-primary, #be185d);
}

.dte-booking-step.is-done {
	border-color: #10b981;
	color: #10b981;
}

.dte-booking-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 14px;
}

.dte-booking-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
	padding: 12px;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	background: #fff;
	cursor: pointer;
	text-align: center;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.dte-booking-card:hover,
.dte-booking-card.is-selected {
	border-color: var(--dte-primary, #be185d);
	box-shadow: 0 4px 16px rgba(190, 24, 93, 0.12);
}

.dte-booking-photo {
	width: 100%;
	height: 118px;
	border-radius: 20px;
	object-fit: cover;
	background: #f1f5f9;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
}

.dte-booking-photo--ph {
	line-height: 118px;
	height: 118px;
}

.dte-booking-card strong {
	font-size: 0.95rem;
	color: #0f172a;
}

.dte-booking-card--disabled {
	cursor: default;
	opacity: 0.65;
	border-style: dashed;
}
.dte-booking-card--disabled small {
	display: block;
	margin-top: 6px;
	color: #94a3b8;
	font-size: 0.75rem;
}

.dte-booking-test-badge,
.dte-booking-test-banner,
.dte-booking-demo-badge,
.dte-booking-demo-banner {
	font-size: 0.75rem;
	font-weight: 700;
	padding: 4px 8px;
	border-radius: 999px;
}

.dte-booking-test-badge,
.dte-booking-test-banner {
	background: #fef3c7;
	color: #92400e;
}

.dte-booking-demo-badge,
.dte-booking-demo-banner {
	background: var(--dte-primary-light, #fdf2f8) !important;
	color: var(--dte-secondary, var(--dte-primary, #be185d)) !important;
}

.dte-booking-test-badge,
.dte-booking-demo-badge {
	position: absolute;
	top: 8px;
	right: 8px;
}

.dte-booking-test-banner,
.dte-booking-demo-banner {
	margin-bottom: 12px;
	text-align: center;
}

.dte-booking-subtitle {
	margin: 0 0 14px;
	font-size: 1.05rem;
	color: #0f172a;
}

.dte-booking-list {
	display: grid;
	gap: 10px;
}

.dte-booking-service {
	text-align: left;
	padding: 14px 16px;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #fff;
	cursor: pointer;
}

.dte-booking-service.is-selected {
	border-color: var(--dte-primary, #be185d);
	background: #fdf2f8;
}

.dte-booking-service strong {
	display: block;
	color: #0f172a;
}

.dte-booking-service span {
	display: block;
	font-size: 0.85rem;
	color: #64748b;
	margin-top: 4px;
}

.dte-booking-service small {
	display: block;
	font-size: 0.8rem;
	color: #94a3b8;
	margin-top: 6px;
}

.dte-booking-field {
	display: block;
	margin-bottom: 12px;
}

.dte-booking-field span {
	display: block;
	font-size: 0.82rem;
	font-weight: 600;
	margin-bottom: 4px;
	color: #334155;
}

.dte-booking-field input {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	font-size: 0.95rem;
}

#dte-booking-card-element {
	padding: 12px;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	background: #fff;
}

.dte-booking-slot-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.dte-booking-slot {
	padding: 8px 12px;
	border: 1px solid #cbd5e1;
	border-radius: 999px;
	background: #fff;
	cursor: pointer;
	font-size: 0.85rem;
	color: #0f172a;
	font-weight: 600;
}

.dte-booking-slot:hover {
	border-color: var(--dte-primary, #be185d);
	background: #fdf2f8;
	color: #0f172a;
}

.dte-booking-slot.is-selected {
	border-color: var(--dte-primary, #be185d);
	background: var(--dte-primary, #be185d);
	color: #fff !important;
}

.dte-booking-tips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 12px 0 16px;
}

.dte-booking-tip {
	padding: 6px 12px;
	border: 1px solid #cbd5e1;
	border-radius: 999px;
	background: #fff;
	cursor: pointer;
	font-size: 0.82rem;
	color: #334155;
	font-weight: 600;
}

.dte-booking-tip:hover {
	border-color: var(--dte-primary, #be185d);
	background: #fdf2f8;
	color: #334155;
}

.dte-booking-tip.is-selected {
	border-color: var(--dte-primary, #be185d);
	background: #fdf2f8;
	color: #9d174d !important;
}

.dte-booking-summary {
	background: #f8fafc;
	border-radius: 12px;
	padding: 14px;
	margin-bottom: 16px;
	font-size: 0.9rem;
	color: #334155;
}

.dte-booking-summary-total {
	margin-top: 8px;
	font-size: 1rem;
}

.dte-booking-authorize-note {
	margin: 8px 0 0;
	font-size: 0.82rem;
	line-height: 1.45;
	color: #64748b;
}

.dte-booking-tz-note {
	margin: 0 0 12px;
	font-size: 0.82rem;
	color: #64748b;
}

.dte-booking-balance {
	margin-top: 6px;
	font-size: 0.85rem;
	color: #64748b;
}

.dte-booking-actions {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 20px;
}

.dte-booking-back,
.dte-booking-next {
	padding: 10px 18px;
	border-radius: 10px;
	font-weight: 600;
	cursor: pointer;
	border: 1px solid #cbd5e1;
	background: #fff;
	color: #0f172a;
}

.dte-booking-next {
	margin-left: auto;
	background: var(--dte-primary, #be185d);
	border-color: var(--dte-primary, #be185d);
	color: #fff;
}

.dte-booking-next:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.dte-booking-msg {
	margin-top: 12px;
	font-size: 0.88rem;
	min-height: 1.2em;
}

.dte-booking-msg.is-err { color: #dc2626; }
.dte-booking-msg.is-ok { color: #059669; }

.dte-booking-empty,
.dte-booking-loading {
	color: #64748b;
	text-align: center;
	padding: 24px 0;
}

.dte-booking-success {
	text-align: center;
	padding: 32px 16px;
	font-size: 1.1rem;
	color: #059669;
	font-weight: 600;
}

/* Owner dashboard booking tab */
.dte-booking-dash-grid {
	display: grid;
	gap: 16px;
}

.dte-booking-subtabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	border-bottom: 1px solid #e2e8f0;
	margin-bottom: 4px;
}

.dte-booking-subtab {
	padding: 8px 16px;
	border: none;
	background: transparent;
	font-weight: 600;
	font-size: 0.9rem;
	color: #64748b;
	cursor: pointer;
	border-bottom: 3px solid transparent;
	margin-bottom: -1px;
}

.dte-booking-subtab.is-active {
	color: #0f172a;
	border-bottom-color: #4ECDC4;
}

.dte-booking-subpane[hidden] {
	display: none !important;
}

.dte-booking-subpane .dte-od-intro {
	margin: 0 0 12px;
	color: #64748b;
	font-size: 0.92rem;
}

.dte-booking-dash-card {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 18px;
}

.dte-booking-dash-card h3 {
	margin: 0 0 12px;
	font-size: 1rem;
}

.dte-booking-dash-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 10px;
	margin-bottom: 10px;
}

.dte-booking-dash-row label {
	display: block;
	font-size: 0.82rem;
	font-weight: 600;
	margin-bottom: 4px;
}

.dte-booking-dash-row input,
.dte-booking-dash-row select,
.dte-booking-dash-row textarea {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
}

.dte-booking-dash-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.dte-booking-dash-btn {
	padding: 8px 14px;
	border: 1px solid #0f172a;
	border-radius: 8px;
	background: #fff;
	color: #0f172a;
	font-weight: 600;
	cursor: pointer;
	font-size: 0.85rem;
}

.dte-booking-dash-btn--primary {
	background: #0f172a;
	color: #fff;
}

.dte-booking-dash-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.85rem;
}

.dte-booking-dash-table th,
.dte-booking-dash-table td {
	padding: 8px 10px;
	border-bottom: 1px solid #e2e8f0;
	text-align: left;
}

.dte-booking-dash-table small {
	display: block;
	margin-top: 2px;
	font-size: 0.78rem;
	font-weight: 400;
	color: #64748b;
}

.dte-booking-appt-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	min-width: 180px;
}

.dte-booking-appt-actions .dte-booking-dash-btn {
	padding: 6px 10px;
	font-size: 0.78rem;
	white-space: nowrap;
}

.dte-booking-reschedule-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(15, 23, 42, 0.45);
}

.dte-booking-reschedule-modal[hidden] {
	display: none !important;
}

.dte-booking-reschedule-card {
	width: min(420px, 100%);
	background: #fff;
	border-radius: 14px;
	padding: 20px;
	box-shadow: 0 20px 50px rgba(15, 23, 42, 0.18);
}

.dte-booking-reschedule-card h4 {
	margin: 0 0 12px;
}

.dte-booking-reschedule-card label {
	display: block;
	font-size: 0.82rem;
	font-weight: 600;
	margin-bottom: 4px;
}

.dte-booking-reschedule-card input,
.dte-booking-reschedule-card select {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	margin-bottom: 12px;
}

.dte-booking-reschedule-actions {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
	margin-top: 8px;
}

.dte-booking-schedule-grid {
	display: grid;
	gap: 8px;
}

.dte-booking-schedule-row {
	display: grid;
	grid-template-columns: 100px 1fr 1fr auto;
	gap: 8px;
	align-items: center;
}

.dte-booking-service-checks {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.dte-booking-service-checks label {
	font-weight: 500;
	font-size: 0.85rem;
}

/* Real Estate Photography — rephoto template */
.dte-rephoto {
	--rp-gold: #d4af37;
	--rp-gold-soft: rgba(212, 175, 55, 0.14);
	--rp-ink: #111315;
	--rp-ink-2: #1a1d21;
	--rp-cream: #f6f1e7;
	--rp-paper: #fffdf8;
	--rp-muted: #6b6560;
	--rp-line: rgba(17, 19, 21, 0.12);
	--rp-dark-line: rgba(255, 255, 255, 0.12);
	--rp-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
	--rp-sans: "Avenir Next", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: var(--rp-ink);
	background: var(--rp-cream);
	font-family: var(--rp-sans);
	line-height: 1.55;
	overflow-x: hidden;
}
.dte-rephoto *,
.dte-rephoto *::before,
.dte-rephoto *::after { box-sizing: border-box; }
.dte-rephoto img { max-width: 100%; display: block; }
.dte-rephoto a { color: inherit; text-decoration: none; }
.dte-rephoto h1,
.dte-rephoto h2,
.dte-rephoto h3 {
	font-family: var(--rp-serif);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0;
}
.dte-rp-wrap {
	width: min(1120px, calc(100% - 2.5rem));
	margin: 0 auto;
}
.dte-rp-narrow { width: min(760px, calc(100% - 2.5rem)); }
.dte-rp-eyebrow {
	display: inline-block;
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--rp-gold);
	margin-bottom: 0.85rem;
}
.dte-rp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-height: 2.75rem;
	padding: 0.7rem 1.2rem;
	border: 1px solid currentColor;
	border-radius: 999px;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: 0.92rem;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.dte-rp-btn:hover { transform: translateY(-1px); }
.dte-rp-btn-dark {
	background: var(--rp-ink);
	border-color: var(--rp-ink);
	color: #fff;
}
.dte-rp-btn-dark:hover { background: #000; }
.dte-rp-btn-gold {
	background: var(--rp-gold);
	border-color: var(--rp-gold);
	color: #111;
}
.dte-rp-btn-gold:hover { filter: brightness(1.05); }

/* Nav */
.dte-rp-nav {
	position: absolute;
	inset: 0 0 auto;
	z-index: 20;
	padding: 1.1rem 0;
}
.dte-rp-nav-inner {
	width: min(1120px, calc(100% - 2.5rem));
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.dte-rp-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.02em;
}
.dte-rp-brand img {
	height: 42px;
	width: auto;
	object-fit: contain;
}
.dte-rp-nav-links {
	display: flex;
	align-items: center;
	gap: 1.25rem;
}
.dte-rp-nav-links > a,
.dte-rp-nav-item > a {
	color: rgba(255, 255, 255, 0.9);
	font-size: 0.92rem;
}
.dte-rp-nav-item { position: relative; }
.dte-rp-dropdown {
	position: absolute;
	top: calc(100% + 0.55rem);
	left: 0;
	min-width: 220px;
	padding: 0.55rem;
	background: #fff;
	border: 1px solid var(--rp-line);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: 0.18s ease;
	z-index: 30;
}
.dte-rp-dropdown-right { left: auto; right: 0; }
.dte-rp-dropdown a {
	display: block;
	padding: 0.65rem 0.75rem;
	color: var(--rp-ink);
	font-size: 0.9rem;
}
.dte-rp-dropdown a:hover { background: var(--rp-gold-soft); }
.dte-rp-nav-item:hover .dte-rp-dropdown,
.dte-rp-nav-item:focus-within .dte-rp-dropdown {
	opacity: 1;
	visibility: visible;
	transform: none;
}
.dte-rp-burger {
	display: none;
	width: 2.5rem;
	height: 2.5rem;
	border: 0;
	background: transparent;
	padding: 0;
	cursor: pointer;
}
.dte-rp-burger span {
	display: block;
	height: 2px;
	margin: 5px 0;
	background: #fff;
}
.dte-rp-mobile-menu {
	display: none;
	padding: 1rem 1.25rem 1.25rem;
	background: rgba(17, 19, 21, 0.96);
}
.dte-rp-mobile-menu a {
	display: block;
	padding: 0.75rem 0;
	color: #fff;
	border-bottom: 1px solid var(--rp-dark-line);
}
.dte-rp-mobile-menu .dte-rp-btn { margin-top: 1rem; width: 100%; }
.dte-rp-mobile-menu.is-open { display: block; }

/* Hero */
.dte-rp-hero {
	position: relative;
	min-height: 100vh;
	min-height: 100svh;
	display: grid;
	align-items: end;
	background: radial-gradient(circle at 20% 20%, #2a2f36, #0d0f12 55%);
	color: #fff;
	overflow: hidden;
}
.dte-rp-hero.dte-rp-hero-inner {
	min-height: 52vh;
	align-items: center;
}
.dte-rp-hero-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.dte-rp-hero-bg--empty {
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 20% 20%, #2a2f36, #0d0f12 55%);
}
.dte-rp-hero-overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(8, 9, 10, 0.35) 0%, rgba(8, 9, 10, 0.55) 45%, rgba(8, 9, 10, 0.82) 100%),
		radial-gradient(circle at 70% 30%, rgba(212, 175, 55, 0.18), transparent 40%);
}
.dte-rp-hero > .dte-rp-hero-inner {
	position: relative;
	z-index: 2;
	width: min(1120px, calc(100% - 2.5rem));
	margin: 0 auto 5.5rem;
	max-width: 38rem;
	animation: dte-rp-rise 0.9s ease both;
}
.dte-rp-hero.dte-rp-hero-inner > .dte-rp-hero-inner {
	margin: 5.5rem auto 3rem;
}
.dte-rp-hero h1 {
	font-size: clamp(2.6rem, 7vw, 4.8rem);
	max-width: 11ch;
}
.dte-rp-hero-sub {
	margin: 1rem 0 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 1.05rem;
	max-width: 34rem;
}
.dte-rp-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
}
.dte-rp-hero .dte-rp-btn { border-color: rgba(255, 255, 255, 0.35); color: #fff; }
.dte-rp-hero .dte-rp-btn-dark { background: #fff; color: #111; border-color: #fff; }
.dte-rp-scroll {
	position: absolute;
	left: 50%;
	bottom: 1.4rem;
	transform: translateX(-50%);
	z-index: 2;
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.8rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	animation: dte-rp-bob 2.4s ease-in-out infinite;
}

@keyframes dte-rp-rise {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: none; }
}
@keyframes dte-rp-bob {
	0%, 100% { transform: translate(-50%, 0); }
	50% { transform: translate(-50%, 6px); }
}

/* Sections */
.dte-rp-section { padding: 4.5rem 0; }
.dte-rp-section-head { margin-bottom: 1.75rem; }
.dte-rp-section-head h2 {
	font-size: clamp(2rem, 4vw, 3rem);
}
.dte-rp-band-gold { background: linear-gradient(180deg, #efe4c8, var(--rp-cream)); }
.dte-rp-band-dark {
	background: linear-gradient(180deg, #15181c, #0f1114);
	color: #fff;
}
.dte-rp-band-policy { background: #f3eee4; }

/* Featured work — modern dark media cards */
#work.dte-rp-section {
	background: #f7f4ee;
}
#work .dte-rp-section-head h2 {
	font-family: var(--rp-sans);
	font-weight: 800;
	letter-spacing: -0.03em;
	color: #111;
	font-size: clamp(2.2rem, 4.5vw, 3.4rem);
}
.dte-rp-pill {
	display: inline-flex;
	align-items: center;
	padding: 0.45rem 0.9rem;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.92);
	margin-bottom: 1.15rem;
}
.dte-rp-twilight {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.15fr);
	gap: 1.75rem;
	align-items: stretch;
	margin-bottom: 1.25rem;
	padding: 1.5rem;
	background: #121212;
	border-radius: 1.75rem;
	color: #fff;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);
}
.dte-rp-twilight-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 1.25rem 0.75rem 1.25rem 1rem;
	min-height: 100%;
}
.dte-rp-twilight-headline {
	font-family: var(--rp-sans) !important;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.12;
	color: var(--rp-gold);
	font-size: clamp(1.7rem, 3.2vw, 2.55rem);
	max-width: 14ch;
	margin: 0 0 1rem;
}
.dte-rp-twilight-body {
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.98rem;
	line-height: 1.55;
	max-width: 34rem;
}
.dte-rp-twilight-body p { margin: 0 0 0.85rem; }
.dte-rp-twilight-link {
	display: inline-block;
	margin-top: auto;
	padding-top: 1.5rem;
	font-weight: 700;
	font-size: 1.05rem;
	color: #fff;
}
.dte-rp-twilight-media {
	min-height: 280px;
}
.dte-rp-twilight-media .dte-rp-loom {
	height: 100%;
	min-height: 320px;
	aspect-ratio: auto;
	border-radius: 1.25rem;
	border: 1px solid rgba(255, 255, 255, 0.12);
}
.dte-rp-work-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
}
.dte-rp-work-card {
	background: #121212;
	border: 0;
	border-radius: 0;
	overflow: hidden;
	padding: 0;
	box-shadow: none;
	color: #fff;
}
.dte-rp-work-card:first-child {
	border-radius: 1.25rem 0 0 1.25rem;
}
.dte-rp-work-card:last-child {
	border-radius: 0 1.25rem 1.25rem 0;
}
.dte-rp-work-card:only-child {
	border-radius: 1.25rem;
}
.dte-rp-work-card .dte-rp-loom {
	border-radius: 0;
	aspect-ratio: 16 / 11;
	border: 0;
}
.dte-rp-work-meta {
	padding: 1.1rem 1rem 1rem;
}
.dte-rp-work-rule {
	display: block;
	width: 2.4rem;
	height: 2px;
	background: var(--rp-gold);
	margin-bottom: 0.85rem;
}
.dte-rp-work-meta h3 {
	font-family: var(--rp-sans) !important;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--rp-gold);
	font-size: clamp(1.15rem, 1.8vw, 1.4rem);
	margin: 0 0 0.55rem;
	line-height: 1.2;
}
.dte-rp-work-meta p {
	color: rgba(255, 255, 255, 0.78);
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.5;
}

.dte-rp-loom {
	position: relative;
	aspect-ratio: 16 / 10;
	background:
		linear-gradient(145deg, #2a2f36, #121417 55%),
		#1a1d21;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	overflow: hidden;
}
.dte-rp-loom.has-thumb {
	background-color: #111;
}
.dte-rp-loom iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.dte-rp-play {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.85rem;
	border: 0;
	background: rgba(8, 9, 10, 0.28);
	color: #fff;
	cursor: pointer;
	text-align: left;
	transition: background 0.2s ease;
}
.dte-rp-play:hover { background: rgba(8, 9, 10, 0.4); }
.dte-rp-play-icon {
	width: 3.35rem;
	height: 3.35rem;
	border-radius: 999px;
	display: grid;
	place-items: center;
	background: var(--rp-gold);
	color: #111;
	font-size: 0.95rem;
	flex-shrink: 0;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
	padding-left: 0.15rem;
}
.dte-rp-play-copy { display: grid; gap: 0.12rem; }
.dte-rp-play-copy strong {
	font-size: 1rem;
	font-weight: 700;
}
.dte-rp-play-copy small {
	opacity: 0.82;
	font-size: 0.82rem;
}
.dte-rp-play-static {
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	color: #fff;
}

.dte-rp-sample,
.dte-rp-tour { margin-top: 3.5rem; }
.dte-rp-sample-head { max-width: 40rem; margin-bottom: 1.5rem; }
.dte-rp-sample-label {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #b08d3a;
	margin-bottom: 0.65rem;
}
.dte-rp-sample-head h3 {
	font-family: var(--rp-sans) !important;
	font-weight: 800;
	letter-spacing: -0.03em;
	color: #111;
	font-size: clamp(1.9rem, 3.6vw, 2.75rem);
	margin-bottom: 0.45rem;
}
.dte-rp-checklist-preview h2 {
	font-size: clamp(1.7rem, 3vw, 2.4rem);
	margin-bottom: 0.5rem;
}
.dte-rp-sample-head p {
	color: #6b6560;
	margin: 0;
	font-size: 1.02rem;
}
.dte-rp-photo-gallery {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: 0.9rem;
	align-items: stretch;
	min-height: 520px;
}
.dte-rp-photo-side {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 0.9rem;
	min-height: 100%;
}
.dte-rp-photo-main,
.dte-rp-photo-small,
.dte-rp-photo-expand {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: 14px;
	background: #ddd7cb;
}
.dte-rp-photo-main {
	min-height: 520px;
}
.dte-rp-photo-main img,
.dte-rp-photo-small img,
.dte-rp-photo-expand img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.dte-rp-photo-small { min-height: 0; }
.dte-rp-view-more {
	position: absolute;
	right: 0.85rem;
	bottom: 0.85rem;
	z-index: 2;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: #111;
	font: inherit;
	font-size: 0.92rem;
	font-weight: 700;
	padding: 0.7rem 1.15rem;
	cursor: pointer;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.dte-rp-view-more:hover {
	transform: translateY(-1px);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.28);
}
.dte-rp-photo-gallery-more {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.9rem;
	margin-top: 0.9rem;
}
.dte-rp-photo-gallery-more[hidden] { display: none !important; }
.dte-rp-photo-expand {
	aspect-ratio: 4 / 3;
}
.dte-rp-sample.is-expanded .dte-rp-photo-more .dte-rp-view-more { display: none; }
.dte-rp-tour-frame,
.dte-rp-pdf-frame {
	aspect-ratio: 16 / 9;
	background: #111;
	border: 1px solid var(--rp-line);
	overflow: hidden;
	border-radius: 14px;
}
.dte-rp-tour-frame iframe,
.dte-rp-pdf-frame iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.dte-rp-details {
	border-top: 1px solid var(--rp-line);
	padding: 1rem 0;
}
.dte-rp-details:last-child { border-bottom: 1px solid var(--rp-line); }
.dte-rp-details summary {
	cursor: pointer;
	font-weight: 600;
	list-style: none;
}
.dte-rp-details summary::-webkit-details-marker { display: none; }
.dte-rp-details-body {
	padding-top: 0.75rem;
	color: var(--rp-muted);
}
.dte-rp-band-dark .dte-rp-details { border-color: var(--rp-dark-line); }
.dte-rp-band-dark .dte-rp-details-body { color: rgba(255, 255, 255, 0.72); }

.dte-rp-cta {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 1.5rem;
	padding: 2rem;
	background: linear-gradient(135deg, #171a1e, #2a2418);
	color: #fff;
}
.dte-rp-cta h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); }
.dte-rp-cta p { color: rgba(255, 255, 255, 0.75); }

/* Pricing */
.dte-rp-photo-card {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 1.25rem;
	padding: 1.5rem;
	background: var(--rp-paper);
	border: 1px solid var(--rp-line);
}
.dte-rp-tag {
	display: inline-block;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--rp-gold);
	margin-bottom: 0.55rem;
}
.dte-rp-starting {
	display: flex;
	align-items: baseline;
	gap: 0.55rem;
	margin: 1rem 0;
}
.dte-rp-starting strong { font-size: 2rem; font-family: var(--rp-serif); }
.dte-rp-check {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	cursor: pointer;
}
.dte-rp-rates-title {
	font-size: 0.8rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 0.75rem;
	opacity: 0.7;
}
.dte-rp-rate {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.7rem 0;
	border-bottom: 1px solid var(--rp-line);
}
.dte-rp-services {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.75rem;
}
.dte-rp-service {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 0.85rem;
	align-items: center;
	padding: 1rem 1.1rem;
	border: 1px solid var(--rp-dark-line);
	background: rgba(255, 255, 255, 0.03);
	cursor: pointer;
}
.dte-rp-service input { accent-color: var(--rp-gold); }
.dte-rp-service-num {
	font-family: var(--rp-serif);
	color: var(--rp-gold);
}
.dte-rp-service strong { display: block; }
.dte-rp-service em {
	grid-column: 2 / 4;
	font-style: normal;
	opacity: 0.7;
	font-size: 0.9rem;
}
.dte-rp-packages {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}
.dte-rp-package {
	padding: 1.35rem;
	background: var(--rp-paper);
	border: 1px solid var(--rp-line);
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.dte-rp-package.is-featured {
	border-color: var(--rp-gold);
	box-shadow: 0 0 0 1px var(--rp-gold);
}
.dte-rp-pkg-price {
	font-family: var(--rp-serif);
	font-size: 2rem;
}
.dte-rp-pkg-price span {
	font-size: 0.85rem;
	color: var(--rp-muted);
}
.dte-rp-pkg-list {
	display: grid;
	gap: 0.45rem;
	padding: 0.75rem 0;
	border-top: 1px solid var(--rp-line);
	border-bottom: 1px solid var(--rp-line);
}
.dte-rp-pkg-note { color: var(--rp-muted); margin: 0; flex: 1; }
.dte-rp-builder {
	display: grid;
	grid-template-columns: 1.3fr auto auto;
	gap: 1.25rem;
	align-items: center;
	padding: 1.35rem 1.5rem;
	background: #171a1e;
	color: #fff;
	position: sticky;
	bottom: 1rem;
	z-index: 15;
}
.dte-rp-builder-summary { margin: 0.35rem 0 0; color: rgba(255, 255, 255, 0.72); }
.dte-rp-builder-total {
	display: grid;
	justify-items: end;
}
.dte-rp-builder-total strong {
	font-family: var(--rp-serif);
	font-size: 2rem;
	color: var(--rp-gold);
}

.dte-rp-download {
	display: flex;
	justify-content: space-between;
	gap: 1.25rem;
	align-items: center;
	padding: 1.5rem;
	background: var(--rp-paper);
	border: 1px solid var(--rp-line);
	margin-bottom: 2rem;
}
.dte-rp-muted { color: var(--rp-muted); }
.dte-rp-checklist-preview { margin-top: 1rem; }

.dte-rp-footer {
	padding: 2.5rem 0 5.5rem;
	border-top: 1px solid var(--rp-line);
	background: #efe8d9;
}
.dte-rp-footer-areas { margin-bottom: 1.25rem; }
.dte-rp-footer-area-links { color: var(--rp-muted); margin-top: 0.35rem; }
.dte-rp-footer-row {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	color: var(--rp-muted);
	font-size: 0.92rem;
}
.dte-rp-callbar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 40;
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.85rem 1rem;
	background: #111315;
	color: #fff;
}
.dte-rp-callbar-copy { display: grid; gap: 0.1rem; }
.dte-rp-callbar-copy span { opacity: 0.75; font-size: 0.85rem; }
.dte-rp-callbar-btn {
	background: var(--rp-gold);
	color: #111;
	padding: 0.7rem 1rem;
	border-radius: 999px;
	font-weight: 600;
	white-space: nowrap;
}

@media (max-width: 960px) {
	.dte-rp-desktop { display: none !important; }
	.dte-rp-burger { display: block; }
	.dte-rp-twilight,
	.dte-rp-photo-card,
	.dte-rp-cta,
	.dte-rp-builder,
	.dte-rp-download { grid-template-columns: 1fr; }
	.dte-rp-twilight { padding: 1rem; gap: 1rem; }
	.dte-rp-twilight-copy { padding: 0.5rem 0.35rem 0.25rem; }
	.dte-rp-twilight-headline { max-width: none; }
	.dte-rp-twilight-media .dte-rp-loom { min-height: 220px; }
	.dte-rp-work-grid,
	.dte-rp-packages,
	.dte-rp-services,
	.dte-rp-photo-gallery,
	.dte-rp-photo-side,
	.dte-rp-photo-gallery-more { grid-template-columns: 1fr; }
	.dte-rp-work-card,
	.dte-rp-work-card:first-child,
	.dte-rp-work-card:last-child {
		border-radius: 1.25rem;
	}
	.dte-rp-work-grid {
		gap: 1rem;
	}
	.dte-rp-photo-gallery { min-height: 0; }
	.dte-rp-photo-main { min-height: 280px; }
	.dte-rp-photo-side { grid-template-columns: 1fr 1fr; }
	.dte-rp-photo-small { min-height: 140px; }
	.dte-rp-photo-gallery-more { grid-template-columns: 1fr; }
	.dte-rp-builder-total { justify-items: start; }
	.dte-rp-callbar { display: flex; }
	.dte-rephoto { padding-bottom: 4.5rem; }
}
:root{--dte-font-heading:'Inter',sans-serif;--dte-font-body:'Inter',sans-serif;}
:root{
  --dte-primary:#EC4899;
  --dte-secondary:#0F272A;
  --dte-accent:#F97316;
  --dte-cta:#EC4899;
  --dte-header-cta:#EC4899;
  --dte-lang-toggle:#EC4899;
  --dte-menu-toggle:#EC4899;
  --dte-sticky-cta:#EC4899;
  --dte-primary-dark:#6A103D;
  --dte-on-primary-heading:#F97316;
  --dte-on-primary-body:#FEE0CC;
  --dte-primary-light:#EC489922;
  --dte-secondary-light:#0F272A22;
  --dte-accent-light:#F9731633;
}
#dte-xfer-contact{font-family:var(--dte-font-body);color:#111827;max-width:920px;margin:0 auto;padding:0 16px 54px;line-height:1.7}
	#dte-xfer-contact *{box-sizing:border-box}
	#dte-xfer-contact .dte-seo-hero{padding:56px 0 28px}
	#dte-xfer-contact .dte-seo-kicker{display:inline-flex;border:1px solid rgba(15,23,42,.12);border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--dte-primary);background:#fff}
	#dte-xfer-contact h1{font-family:var(--dte-font-heading);font-size:clamp(2.1rem,4.6vw,3.4rem);line-height:1.08;margin:14px 0 12px;color:#0f172a;max-width:18ch}
	#dte-xfer-contact .dte-seo-intro{font-size:1.08rem;color:#475569;max-width:760px;margin:0 0 18px}
	#dte-xfer-contact .dte-seo-intro a,#dte-xfer-contact .dte-seo-block a.dte-seo-inline-link{color:var(--dte-primary);font-weight:800;text-decoration:underline;text-underline-offset:2px}
	#dte-xfer-contact .dte-seo-meta{margin:0 0 22px;color:#64748b;font-size:.95rem}
	#dte-xfer-contact .dte-seo-actions{display:flex;flex-wrap:wrap;gap:12px}
	#dte-xfer-contact .dte-seo-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 20px;font-weight:900;text-decoration:none}
	#dte-xfer-contact .dte-seo-btn-primary{background:var(--dte-primary);color:#fff}
	#dte-xfer-contact .dte-seo-btn-secondary{background:#fff;color:#0f172a;border:1px solid rgba(15,23,42,.14)}
	#dte-xfer-contact .dte-seo-sections{display:grid;gap:18px;margin:28px 0 36px}
	#dte-xfer-contact .dte-seo-block{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:26px 28px}
	#dte-xfer-contact .dte-seo-block h2{font-family:var(--dte-font-heading);font-size:clamp(1.35rem,2.8vw,1.9rem);line-height:1.15;margin:8px 0 12px;color:#0f172a}
	#dte-xfer-contact .dte-seo-block p{color:#475569;margin:0 0 16px}
	#dte-xfer-contact .dte-seo-block ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
	#dte-xfer-contact .dte-seo-block li{padding:0;border-radius:0;background:transparent;color:#334155;font-weight:700}
	#dte-xfer-contact .dte-seo-block li .dte-seo-chip-link,#dte-xfer-contact .dte-seo-block li span.dte-seo-chip{display:block;padding:12px 14px;border-radius:14px;background:#f8fafc;color:#0f172a;text-decoration:none;font-weight:800}
	#dte-xfer-contact .dte-seo-block li .dte-seo-chip-link:hover{background:var(--dte-primary);color:#fff}
	#dte-xfer-contact .dte-seo-contact{background:#0f172a;color:#fff;border-radius:22px;padding:34px;margin-top:8px}
	#dte-xfer-contact .dte-seo-contact h2{font-family:var(--dte-font-heading);font-size:clamp(1.5rem,3vw,2.1rem);margin:0 0 10px}
	#dte-xfer-contact .dte-seo-contact p{color:rgba(255,255,255,.78);margin:0 0 20px}
	#dte-xfer-contact .dte-seo-link-section{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:28px;margin:0 0 28px}
	#dte-xfer-contact .dte-seo-link-section h2{font-family:var(--dte-font-heading);font-size:clamp(1.35rem,2.8vw,1.85rem);margin:0 0 8px;color:#0f172a}
	#dte-xfer-contact .dte-seo-link-section p{color:#64748b;margin:0 0 18px}
	#dte-xfer-contact .dte-seo-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
	#dte-xfer-contact .dte-seo-link-grid a{display:block;padding:12px 14px;border-radius:14px;background:#f8fafc;color:#0f172a;text-decoration:none;font-weight:800}
	#dte-xfer-contact .dte-seo-link-grid a:hover{background:var(--dte-primary);color:#fff}
	@media(max-width:780px){
		#dte-xfer-contact .dte-seo-hero{padding-top:28px}
		#dte-xfer-contact h1{max-width:none;font-size:clamp(1.85rem,8vw,2.6rem)}
		#dte-xfer-contact .dte-seo-intro{font-size:1rem}
	}
body .entry-header .entry-title,
	body h1.entry-title {
		display: none !important;
	}
	body.ast-plain-container.ast-no-sidebar #primary,
	body.ast-plain-container.ast-no-sidebar #content,
	body.ast-plain-container.ast-no-sidebar .site-content,
	body.ast-plain-container.ast-no-sidebar .entry-content,
	body.ast-plain-container.ast-no-sidebar article {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}
	@media (min-width: 1200px) {
		body.ast-plain-container.ast-no-sidebar #primary {
			margin-top: -25px;
			margin-bottom: 0;
		}
	}
			#dte-xfer-contact .dte-site-header-spacer {
		display: none;
		pointer-events: none;
	}
	@media (max-width: 780px) {
		#dte-xfer-contact .dte-site-header-spacer {
			display: block;
			height: 72px;
		}
	}
		#dte-xfer-contact .dte-site-header {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 1000;
		width: 100%;
		margin-left: 0;
		margin-right: 0;
		background: rgba(255,255,255,.94);
		backdrop-filter: blur(14px);
		box-shadow: 0 6px 28px rgba(0,0,0,.08);
	}
	#dte-xfer-contact .dte-site-header-inner {
		max-width: 920px;
		margin: 0 auto;
		padding: 12px 16px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 20px;
	}
	#dte-xfer-contact .dte-site-brand {
		display: inline-flex;
		align-items: center;
		gap: 12px;
		color: #1d2327;
		text-decoration: none;
		font-weight: 800;
		font-family: var(--dte-font-heading);
	}
	#dte-xfer-contact .dte-site-brand img {
		width: 46px;
		height: 46px;
		border-radius: 12px;
		object-fit: cover;
		box-shadow: 0 3px 12px rgba(0,0,0,.12);
	}
	#dte-xfer-contact .dte-site-brand-mark {
		width: 46px;
		height: 46px;
		border-radius: 12px;
		display: grid;
		place-items: center;
		background: linear-gradient(135deg,var(--dte-primary),var(--dte-secondary));
		color: #fff;
		font-size: 1.45rem;
	}
	#dte-xfer-contact .dte-site-menu {
		display: flex;
		align-items: center;
		gap: 18px;
	}
	#dte-xfer-contact .dte-site-menu a {
		color: #333;
		text-decoration: none !important;
		font-weight: 700;
		font-size: .92rem;
		transition: color .18s ease;
	}
	#dte-xfer-contact .dte-site-menu a:hover { color: var(--dte-primary); }
	#dte-xfer-contact .dte-site-menu-item {
		position: relative;
	}
	#dte-xfer-contact .dte-site-menu-item.has-children > a {
		display: inline-flex;
		align-items: center;
		gap: 6px;
	}
	#dte-xfer-contact .dte-site-menu-item.has-children > a::after {
		content: '';
		width: 0;
		height: 0;
		border-left: 4px solid transparent;
		border-right: 4px solid transparent;
		border-top: 5px solid currentColor;
		transform: translateY(1px);
		opacity: .7;
	}
	#dte-xfer-contact .dte-site-submenu {
		display: none;
		position: absolute;
		top: calc(100% + 8px);
		left: 50%;
		transform: translateX(-50%);
		min-width: 210px;
		margin: 0;
		padding: 8px;
		list-style: none;
		background: #fff;
		border-radius: 16px;
		box-shadow: 0 16px 40px rgba(15, 23, 42, .16);
		z-index: 30;
	}
	#dte-xfer-contact .dte-site-submenu::before {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		top: -10px;
		height: 10px;
	}
	#dte-xfer-contact .dte-site-menu-item.has-children:hover > .dte-site-submenu,
	#dte-xfer-contact .dte-site-menu-item.has-children:focus-within > .dte-site-submenu {
		display: block;
	}
	#dte-xfer-contact .dte-site-submenu a {
		display: block;
		padding: 10px 12px;
		border-radius: 10px;
		white-space: nowrap;
		font-size: .88rem;
	}
	#dte-xfer-contact .dte-site-submenu a:hover {
		background: rgba(0, 0, 0, .05);
	}
	#dte-xfer-contact .dte-site-header-cta {
		background: var(--dte-header-cta, var(--dte-cta));
		color: #fff !important;
		text-decoration: none !important;
		padding: 10px 18px;
		border-radius: 999px;
		box-shadow: 0 4px 16px rgba(0,0,0,.12);
		font-weight: 800;
		white-space: nowrap;
	}
	#dte-xfer-contact .dte-site-header-phone {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		color: var(--dte-secondary);
		text-decoration: none !important;
		font-weight: 800;
		font-size: .95rem;
		white-space: nowrap;
		padding: 10px 14px;
		border-radius: 999px;
		border: 2px solid rgba(0,0,0,.08);
		background: rgba(255,255,255,.72);
		transition: border-color .18s ease, color .18s ease;
	}
	#dte-xfer-contact .dte-site-header-phone:hover {
		color: var(--dte-primary);
		border-color: var(--dte-primary);
	}
	#dte-xfer-contact .dte-site-header-phone svg {
		width: 16px;
		height: 16px;
		flex: 0 0 16px;
	}
	#dte-xfer-contact .dte-site-header-actions {
		display: inline-flex;
		align-items: center;
		gap: 12px;
		margin-left: auto;
	}
	#dte-xfer-contact .dte-site-header-conversion .dte-site-header-inner {
		justify-content: flex-start;
	}
	#dte-xfer-contact .dte-site-header-conversion .dte-site-brand {
		margin-right: auto;
	}
	#dte-xfer-contact a[class*="btn"],
	#dte-xfer-contact a[class*="cta"],
	#dte-xfer-contact .dte-site-header a {
		text-decoration: none !important;
	}
	#dte-xfer-contact .dte-site-menu-toggle {
		display: none;
		width: 44px;
		height: 44px;
		border: 0;
		border-radius: 12px;
		background: var(--dte-menu-toggle, var(--dte-primary));
		color: #fff;
		cursor: pointer;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		gap: 4px;
		padding: 0;
	}
	#dte-xfer-contact .dte-site-menu-toggle span {
		display: block;
		width: 20px;
		height: 2px;
		background: currentColor;
		margin: 0;
		border-radius: 2px;
	}
	@media (max-width: 760px) {
		#dte-xfer-contact .dte-site-menu-toggle { display: inline-flex; }
		#dte-xfer-contact .dte-site-header-actions {
			gap: 8px;
		}
		#dte-xfer-contact .dte-site-header-phone {
			font-size: .82rem;
			padding: 8px 10px;
		}
		#dte-xfer-contact .dte-site-header-cta {
			padding: 8px 14px;
			font-size: .82rem;
		}
		#dte-xfer-contact .dte-site-menu {
			position: absolute;
			top: 100%;
			left: 16px;
			right: 16px;
			display: none;
			flex-direction: column;
			align-items: stretch;
			gap: 0;
			padding: 10px;
			background: #fff;
			border-radius: 18px;
			box-shadow: 0 16px 48px rgba(0,0,0,.16);
		}
		#dte-xfer-contact .dte-site-menu.is-open { display: flex; }
		#dte-xfer-contact .dte-site-menu a { padding: 13px 14px; border-radius: 12px; }
		#dte-xfer-contact .dte-site-menu-item.has-children > a::after { display: none; }
		#dte-xfer-contact .dte-site-submenu {
			display: flex;
			flex-direction: column;
			position: static;
			transform: none;
			min-width: 0;
			padding: 0 0 6px 12px;
			box-shadow: none;
			background: transparent;
		}
		#dte-xfer-contact .dte-site-submenu a {
			padding: 10px 14px;
			font-weight: 600;
			color: #4b5563;
		}
		#dte-xfer-contact .dte-site-header-cta { text-align: center; margin-top: 4px; }
	}
#dte-xfer-contact .dte-site-footer{margin-top:46px;margin-bottom:0;background:var(--dte-secondary,#0f172a);color:#e5e7eb;border-radius:0;padding:34px clamp(18px,4vw,42px) 28px;font-size:.94rem;width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}
	#dte-xfer-contact .dte-site-footer a{color:#fff;text-decoration:none;font-weight:800}
	#dte-xfer-contact .dte-site-footer a:hover{text-decoration:underline}
	#dte-xfer-contact .dte-site-footer-grid{display:grid;grid-template-columns:1.3fr repeat(2,minmax(180px,.8fr));gap:28px;align-items:start}
	#dte-xfer-contact .dte-site-footer-logo{display:flex;align-items:center;gap:12px;margin-bottom:12px}
	#dte-xfer-contact .dte-site-footer-logo img{width:48px;height:48px;object-fit:cover;border-radius:12px;background:#fff}
	#dte-xfer-contact .dte-site-footer-logo strong{display:block;color:#fff;font-family:var(--dte-font-heading);font-size:1.25rem}
	#dte-xfer-contact .dte-site-footer-nap{display:grid;gap:7px;color:#cbd5e1}
	#dte-xfer-contact .dte-site-footer h3{color:#fff;font-family:var(--dte-font-heading);font-size:1rem;margin:0 0 12px}
	#dte-xfer-contact .dte-site-footer-links{display:grid;gap:8px;margin:0;padding:0;list-style:none}
	#dte-xfer-contact .dte-site-footer-areas{display:flex;flex-wrap:wrap;gap:8px}
	#dte-xfer-contact .dte-site-footer-areas li{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:5px 10px;color:#dbeafe;font-weight:700}
	#dte-xfer-contact .dte-site-footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:18px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#94a3b8;font-size:.82rem}
	#dte-xfer-contact .dte-site-footer .dte-social-icons{justify-content:flex-start;margin-top:14px}
	@media(max-width:760px){#dte-xfer-contact .dte-site-footer-grid{grid-template-columns:1fr}}
	body:has(.dte-site-footer) footer.site-footer,
	body:has(.dte-site-footer) #colophon{display:none!important;margin:0!important;padding:0!important}
	body:has(.dte-site-footer) #primary,
	body:has(.dte-site-footer) #content,
	body:has(.dte-site-footer) .site-content,
	body:has(.dte-site-footer) .entry-content,
	body:has(.dte-site-footer) article{margin-bottom:0!important;padding-bottom:0!important}