.desiole-product-development-page {
	--pd-forest: #102c22;
	--pd-forest-deep: #071b15;
	--pd-orange: #e86f16;
	--pd-sand: #eadcc9;
	--pd-cream: #f6f3ed;
	--pd-rule: #d9d0c3;
	background: var(--pd-cream);
}
.desiole-product-development-page .desiole-site-header { position: relative; }
.desiole-product-development-page .desiole-header-main { background: #06130f; }
.desiole-product-development-page .desiole-site-header.is-sticky .desiole-header-main {
	position: relative !important;
	top: auto !important;
	animation: none;
	box-shadow: none;
}
.desiole-product-development-page .desiole-header-main__inner { min-height: 58px; }
.desiole-product-development-page .desiole-utility__inner { min-height: 30px; }
.desiole-product-development-page .desiole-site-main { overflow: clip; }
.desiole-product-development-page .desiole-floating-actions,
.desiole-product-development-page #ast-scroll-top { display: none !important; }
html:has(body.desiole-product-development-page.admin-bar) { margin-top: 0 !important; }
body.desiole-product-development-page.admin-bar #wpadminbar { display: none !important; }
.pdv3 { color: #14241e; background: var(--pd-cream); font-size: 14px; line-height: 1.45; }
.pdv3 h1, .pdv3 h2, .pdv3 h3 { letter-spacing: -.035em; }
.pdv3-shell { width: min(calc(100% - 80px), 1210px); margin-inline: auto; }
.pdv3-button {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	gap: .8rem;
	border: 0;
	border-radius: 4px;
	background: var(--pd-orange);
	color: #fff;
	padding: .8rem 1.25rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	transition: background .2s ease, transform .2s ease;
}
.pdv3-button:hover { background: #c95c0d; color: #fff; transform: translateY(-2px); }
.pdv3-button .desiole-home-icon { width: 18px; height: 18px; filter: brightness(0) invert(1); }

.pdv3-hero { display: grid; min-height: 430px; grid-template-columns: 36% 64%; background: var(--pd-forest-deep); color: #fff; }
.pdv3-hero__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 3.5rem clamp(2rem, 4vw, 4.5rem); }
.pdv3-hero h1 { max-width: 480px; margin-bottom: 1.15rem; color: #fff; font-size: clamp(3.15rem, 4.4vw, 4.2rem); }
.pdv3-hero h1 span { display: block; white-space: nowrap; }
.pdv3-hero__copy p { max-width: 430px; margin-bottom: 1.6rem; color: #eef2ef; font-size: 1.1rem; }
.pdv3-hero__gallery { display: grid; min-width: 0; grid-template-columns: repeat(3, 1fr); }
.pdv3-hero__gallery figure { position: relative; min-width: 0; height: 430px; margin: 0; overflow: hidden; border-left: 2px solid #fff; transform: skewX(-12deg); transform-origin: bottom; }
.pdv3-hero__gallery img { width: 135%; max-width: none; height: 100%; object-fit: cover; transform: skewX(12deg) translateX(-12%); }
.pdv3-hero__gallery figcaption {
	position: absolute;
	z-index: 2;
	top: 1.25rem;
	left: 50%;
	border: 1px solid rgba(255,255,255,.65);
	border-radius: 3px;
	background: rgba(8,31,24,.78);
	color: #fff;
	padding: .38rem .75rem;
	font-size: .78rem;
	font-weight: 700;
	white-space: nowrap;
	transform: skewX(12deg) translateX(-50%);
}

.pdv3-directions { padding: 1.6rem 0 1.25rem; background: var(--pd-cream); }
.pdv3-heading { margin-bottom: 1.5rem; text-align: center; }
.pdv3-heading h2, .pdv3-comparison > .pdv3-shell > h2 { margin-bottom: .4rem; color: var(--pd-forest); font-size: clamp(2rem, 3.1vw, 3rem); }
.pdv3-heading p { margin: 0; color: #67716b; }
.pdv3-direction-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.pdv3-direction { min-width: 0; padding: 0 1.65rem; border-right: 1px solid var(--pd-rule); }
.pdv3-direction:first-child { padding-left: 0; }
.pdv3-direction:last-child { padding-right: 0; border-right: 0; }
.pdv3-direction__title { display: grid; min-height: 70px; grid-template-columns: 30px 1fr; gap: .75rem; }
.pdv3-direction__title > span { width: 24px; height: 3px; margin-top: .65rem; background: var(--pd-orange); }
.pdv3-direction h3 { margin-bottom: .45rem; color: var(--pd-forest); font-size: 1.28rem; }
.pdv3-direction p { margin-bottom: 0; color: #505a55; font-size: .86rem; line-height: 1.45; }
.pdv3-direction > img { width: 100%; aspect-ratio: 1.78; margin: .6rem 0; border-radius: 6px; object-fit: cover; }
.pdv3-direction ul, .pdv3-stage ul { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.pdv3-direction li, .pdv3-stage li { display: flex; align-items: center; gap: .5rem; font-size: .82rem; }
.pdv3-direction li .desiole-home-icon, .pdv3-stage li .desiole-home-icon { width: 14px; height: 14px; filter: invert(50%) sepia(95%) saturate(1900%) hue-rotate(356deg) brightness(95%); }

.pdv3-journey { padding: 1.4rem 0 1.8rem; background: var(--pd-forest-deep); color: #fff; }
.pdv3-journey__heading { margin-bottom: .7rem; text-align: center; }
.pdv3-journey__heading h2 { margin-bottom: .15rem; color: #fff; font-size: clamp(1.8rem, 3vw, 2.75rem); }
.pdv3-journey__heading p { margin: 0; color: #d1ded7; font-size: .84rem; }
.pdv3-stages { position: relative; max-width: 1080px; margin-inline: auto; }
.pdv3-stages::after { position: absolute; z-index: 0; inset: 9% 17% 5% 42%; border-right: 3px solid var(--pd-orange); border-bottom: 3px solid var(--pd-orange); border-radius: 0 0 28px 0; content: ""; pointer-events: none; }
.pdv3-stage {
	position: relative;
	z-index: 1;
	display: grid;
	min-height: 142px;
	grid-template-columns: 70px 275px 1fr 170px;
	align-items: center;
	gap: 1.25rem;
	padding: .55rem 0;
}
.pdv3-stage--left { grid-template-columns: 70px 1fr 275px 170px; }
.pdv3-stage--left .pdv3-stage__copy { grid-column: 3; }
.pdv3-stage--left .pdv3-stage__image { grid-column: 2; grid-row: 1; }
.pdv3-stage__number { align-self: start; color: var(--pd-sand); font-size: 2.5rem; font-weight: 800; line-height: 1; }
.pdv3-stage__copy h3 { margin-bottom: .35rem; color: #fff; font-size: 1.22rem; }
.pdv3-stage__copy > p { margin-bottom: .65rem; color: #d7e0db; font-size: .78rem; }
.pdv3-stage__image { width: 100%; height: 118px; border: 1px solid rgba(232,111,22,.65); border-radius: 8px; object-fit: cover; }
.pdv3-stage__prompt { display: grid; gap: .25rem; border: 1px solid rgba(255,255,255,.65); border-radius: 5px; padding: .8rem; font-size: .72rem; }
.pdv3-stage__prompt strong { color: var(--pd-sand); }
.pdv3-stage__prompt span { color: #fff; }

.pdv3-comparison { padding: 1.1rem 0 0; background: var(--pd-cream); }
.pdv3-comparison > .pdv3-shell > h2 { margin-bottom: .75rem; text-align: center; }
.pdv3-table-wrap { overflow-x: auto; border: 1px solid var(--pd-rule); border-radius: 5px; }
.pdv3 table { width: 100%; min-width: 780px; border-collapse: collapse; background: #f8f6f1; font-size: .77rem; }
.pdv3 th, .pdv3 td { border-right: 1px solid var(--pd-rule); border-bottom: 1px solid var(--pd-rule); padding: .5rem .7rem; text-align: center; }
.pdv3 th:first-child { text-align: left; }
.pdv3 thead { background: #e1d3c0; }
.pdv3 tbody th { font-weight: 500; }
.pdv3 tr:last-child > * { border-bottom: 0; }
.pdv3 tr > *:last-child { border-right: 0; }

.pdv3-brief { display: grid; grid-template-columns: 1.15fr .9fr .9fr; gap: 2rem; margin-top: 1.2rem; border: 1px solid var(--pd-rule); border-radius: 6px; padding: 1.35rem 1.6rem; background: #f7f5f0; }
.pdv3-brief h2 { margin-bottom: .25rem; color: var(--pd-forest); font-size: 1.45rem; }
.pdv3-brief h3 { margin-bottom: .35rem; color: var(--pd-forest); font-size: 1.2rem; }
.pdv3-brief p { margin-bottom: .75rem; color: #505a55; font-size: .8rem; }
.pdv3-upload { display: flex; min-height: 72px; align-items: center; justify-content: center; gap: .8rem; border: 1px dashed #bcb3a7; border-radius: 4px; color: #24332c; text-align: left; text-decoration: none; }
.pdv3-upload > .desiole-home-icon { width: 28px; height: 28px; }
.pdv3-upload span { display: grid; }
.pdv3-upload small { color: #6d746f; }
.pdv3-brief > ul { display: grid; align-content: center; gap: .7rem; margin: 0; padding: 0 2rem; border-inline: 1px solid var(--pd-rule); list-style: none; }
.pdv3-brief > ul li { display: flex; align-items: center; gap: .65rem; font-size: .78rem; }
.pdv3-brief > ul .desiole-home-icon { width: 18px; height: 18px; }
.pdv3-brief__cta { align-self: center; }
.pdv3-brief__cta .pdv3-button { min-height: 42px; font-size: .78rem; }

.pdv3-faq { padding: 1rem 0 .7rem; }
.pdv3-faq h2 { margin-bottom: .4rem; color: var(--pd-forest); font-size: 1.45rem; }
.pdv3-faq > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 1.4rem; }
.pdv3-faq details { border-top: 1px solid var(--pd-rule); }
.pdv3-faq details:last-child { border-bottom: 1px solid var(--pd-rule); }
.pdv3-faq summary { display: flex; min-height: 38px; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; font-size: .8rem; font-weight: 650; list-style: none; }
.pdv3-faq summary::-webkit-details-marker { display: none; }
.pdv3-faq summary .desiole-home-icon { width: 15px; height: 15px; transition: transform .2s ease; }
.pdv3-faq details[open] summary .desiole-home-icon { transform: rotate(90deg); }
.pdv3-faq details p { margin: 0 0 .8rem; color: #59635e; font-size: .77rem; }

.pdv3-inquiry { display: grid; min-height: 360px; grid-template-columns: 1fr 1.12fr; background: var(--pd-forest-deep); color: #fff; }
.pdv3-inquiry__intro { position: relative; min-height: 360px; isolation: isolate; overflow: hidden; }
.pdv3-inquiry__intro::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(6,24,18,.85), rgba(6,24,18,.2)); content: ""; }
.pdv3-inquiry__intro > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pdv3-inquiry__intro > div { display: flex; height: 100%; max-width: 520px; flex-direction: column; justify-content: center; padding: 3rem clamp(2rem, 5vw, 5rem); }
.pdv3-inquiry h2 { margin-bottom: .65rem; color: #fff; font-size: clamp(2.3rem, 3.6vw, 3.45rem); }
.pdv3-inquiry__intro p { margin: 0; color: #eef3f0; font-size: 1rem; }
.pdv3-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: center; gap: .4rem 1.2rem; padding: 1.15rem clamp(2rem, 4vw, 4.5rem) 1rem 2.6rem; }
.pdv3-form label { display: grid; align-self: start; align-content: start; grid-template-columns: max-content 1fr; gap: .12rem .2rem; color: #fff; font-size: .67rem; font-weight: 600; }
.pdv3-form label > input,
.pdv3-form label > select,
.pdv3-form label > textarea { grid-column: 1 / -1; }
.pdv3-form label > span, .pdv3-form label > span a { color: var(--pd-orange); }
.pdv3-form input:not([type="checkbox"]):not([type="file"]), .pdv3-form select, .pdv3-form textarea {
	width: 100%;
	min-height: 28px;
	margin: 0;
	border: 0;
	border-bottom: 1px solid #9b8a69;
	border-radius: 0;
	background: transparent;
	color: #fff;
	padding: .35rem 0;
}
.pdv3-form select option { color: #1b2822; }
.pdv3-form textarea { min-height: 58px; border: 1px solid #9b8a69; border-radius: 3px; padding: .45rem; resize: vertical; }
.pdv3-form__message { grid-column: 1 / -1; }
.pdv3-form__file { position: relative; display: flex !important; min-height: 36px; grid-template-columns: none !important; flex-direction: row; align-items: center; justify-content: center; gap: .5rem !important; border: 1px solid rgba(255,255,255,.75); border-radius: 3px; cursor: pointer; }
.pdv3-form__file .desiole-home-icon { width: 18px; height: 18px; filter: brightness(0) invert(1); }
.pdv3-form__file input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.pdv3-form__consent { display: flex !important; grid-column: 1 / -1; flex-direction: row; align-items: flex-start; gap: .55rem !important; color: #d9e0dc !important; font-weight: 400 !important; }
.pdv3-form__consent input { flex: 0 0 auto; margin-top: .15rem; }
.pdv3-form__consent span, .pdv3-form__consent a { color: #d9e0dc !important; }
.pdv3-form__submit { grid-column: 2; grid-row: 5; }
.pdv3-form .pdv3-form__submit { min-height: 36px; padding-block: .5rem; }

@media (max-width: 1100px) {
	.pdv3-shell { width: min(calc(100% - 48px), 960px); }
	.pdv3-hero { grid-template-columns: 42% 58%; }
	.pdv3-stage, .pdv3-stage--left { grid-template-columns: 52px 1fr 150px; }
	.pdv3-stage__number { grid-column: 1; }
	.pdv3-stage__copy, .pdv3-stage--left .pdv3-stage__copy { grid-column: 2; }
	.pdv3-stage__image, .pdv3-stage--left .pdv3-stage__image { grid-column: 3; grid-row: 1; }
	.pdv3-stage__prompt { display: none; }
	.pdv3-stages::after { display: none; }
	.pdv3-brief { grid-template-columns: 1fr 1fr; }
	.pdv3-brief__cta { grid-column: 1 / -1; }
	.pdv3-brief > ul { padding-right: 0; border-right: 0; }
}

@media (max-width: 760px) {
	.desiole-product-development-page .desiole-header-main__inner { min-height: var(--header-height); }
	.pdv3-shell { width: min(calc(100% - 32px), 640px); }
	.pdv3 { font-size: 15px; }
	.pdv3-hero { grid-template-columns: 1fr; }
	.pdv3-hero__copy { min-height: 380px; padding: 3rem 1.5rem; }
	.pdv3-hero h1 { font-size: clamp(2.25rem, 9.4vw, 3.5rem); }
	.pdv3-hero__gallery { height: 280px; }
	.pdv3-hero__gallery figure { height: 280px; }
	.pdv3-hero__gallery figcaption { top: .75rem; padding: .3rem .5rem; font-size: .62rem; }
	.pdv3-direction-grid { grid-template-columns: 1fr; gap: 2rem; }
	.pdv3-direction, .pdv3-direction:first-child, .pdv3-direction:last-child { padding: 0; border-right: 0; }
	.pdv3-direction__title { min-height: 0; }
	.pdv3-stage, .pdv3-stage--left { grid-template-columns: 50px 1fr; gap: .7rem 1rem; padding: 1.3rem 0; border-bottom: 1px solid rgba(255,255,255,.12); }
	.pdv3-stage__number { grid-column: 1; grid-row: 1; }
	.pdv3-stage__copy, .pdv3-stage--left .pdv3-stage__copy { grid-column: 2; grid-row: 1; }
	.pdv3-stage__image, .pdv3-stage--left .pdv3-stage__image { grid-column: 1 / -1; grid-row: 2; height: 180px; }
	.pdv3-table-wrap { margin-inline: -16px; border-radius: 0; }
	.pdv3-brief { grid-template-columns: 1fr; padding: 1.25rem; }
	.pdv3-brief > ul { padding: 1rem 0; border: 0; border-block: 1px solid var(--pd-rule); }
	.pdv3-brief__cta { grid-column: auto; }
	.pdv3-faq > div { grid-template-columns: 1fr; }
	.pdv3-inquiry { grid-template-columns: 1fr; }
	.pdv3-inquiry__intro { min-height: 330px; }
	.pdv3-form { padding: 2rem 1.25rem; }
	.pdv3-form__submit { grid-row: auto; }
}

@media (max-width: 460px) {
	.pdv3-hero__gallery { grid-template-columns: repeat(3, 1fr); height: 250px; }
	.pdv3-hero__gallery figure { height: 250px; }
	.pdv3-form { grid-template-columns: 1fr; }
	.pdv3-form__message, .pdv3-form__consent, .pdv3-form__submit { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.pdv3-button, .pdv3-faq summary .desiole-home-icon { transition: none; }
}
