.dp-scope {
	--dp-accent: #2E6E5E;
	--dp-accent-08: #EEF3F2;
	--dp-accent-16: #DEE8E5;
	--dp-accent-30: #C0D4CF;
	--dp-accent-55: #8CAFA6;
	--dp-accent-deep: #25584B;
	--dp-ink: #17313B;
	--dp-ink-2: #4B6570;
	--dp-ink-3: #7C929B;
	--dp-paper: #F4F7F6;
	--dp-card: #FFFFFF;
	--dp-line: #D8E2DE;
	--dp-line-2: #E8EFEC;
	--dp-alert: #A5482F;
	--dp-serif: "Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif;
	--dp-sans: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--dp-top: 0px;
	--dp-nav: 58px;
	--dp-shadow: none;
	color: var(--dp-ink);
	font-family: var(--dp-sans);
	font-size: 16px;
	line-height: 1.55;
	background: #fff;
	-webkit-font-smoothing: antialiased;
}

@supports (color: color-mix(in srgb, red 50%, white)) {
	.dp-scope {
		--dp-accent-08: color-mix(in srgb, var(--dp-accent) 8%, #fff);
		--dp-accent-16: color-mix(in srgb, var(--dp-accent) 16%, #fff);
		--dp-accent-30: color-mix(in srgb, var(--dp-accent) 30%, #fff);
		--dp-accent-55: color-mix(in srgb, var(--dp-accent) 55%, #fff);
		--dp-accent-deep: color-mix(in srgb, var(--dp-accent) 80%, #000);
	}
}

@media (prefers-reduced-motion: no-preference) {
	html:has(.dp-tabs) {
		scroll-behavior: smooth;
	}
}

body.admin-bar .dp-scope {
	--dp-top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar .dp-scope {
		--dp-top: 46px;
	}
}

@media (max-width: 600px) {
	body.admin-bar .dp-scope {
		--dp-top: 0px;
	}
}

.dp-scope *,
.dp-scope *::before,
.dp-scope *::after {
	box-sizing: border-box;
}

.dp-scope a {
	color: var(--dp-accent-deep);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.dp-scope a:hover {
	color: var(--dp-ink);
}

.dp-scope :focus-visible {
	outline: 3px solid var(--dp-accent-55);
	outline-offset: 2px;
	border-radius: 6px;
}

.dp-scope h1,
.dp-scope h2,
.dp-scope h3,
.dp-scope p,
.dp-scope ul,
.dp-scope ol,
.dp-scope dl,
.dp-scope dd,
.dp-scope figure,
.dp-scope blockquote,
.dp-scope address,
.dp-scope fieldset {
	margin: 0;
	padding: 0;
}

.dp-scope fieldset {
	border: 0;
	min-width: 0;
}

.dp-scope ul,
.dp-scope ol {
	list-style: none;
}

.dp-scope li {
	margin: 0;
}

.dp-scope img {
	max-width: 100%;
	height: auto;
	display: block;
}

.dp-scope [hidden] {
	display: none !important;
}

.dp-scope .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.dp-ico {
	width: 1.15em;
	height: 1.15em;
	flex: none;
	vertical-align: -0.2em;
}

.dp-wrap {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

.dp-muted {
	color: var(--dp-ink-2);
}

.dp-fine {
	font-size: 13px;
	line-height: 1.5;
	color: var(--dp-ink-3);
}

.dp-scope .dp-h2 {
	font-family: var(--dp-serif);
	font-weight: 600;
	font-size: 30px;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--dp-ink);
	margin: 0 0 22px;
}

.dp-scope .dp-h3 {
	font-family: var(--dp-serif);
	font-weight: 600;
	font-size: 19px;
	line-height: 1.3;
	color: var(--dp-ink);
	margin: 0;
}

.dp-lede {
	font-size: 17px;
	color: var(--dp-ink-2);
	margin-bottom: 18px !important;
}

.dp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 20px;
	border-radius: 12px;
	border: 1px solid transparent;
	font: 600 15px/1.2 var(--dp-sans);
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
	-webkit-appearance: none;
	appearance: none;
}

.dp-scope .dp-btn--solid,
.dp-scope a.dp-btn--solid {
	background: var(--dp-accent-deep);
	color: #fff;
	text-decoration: none;
}

.dp-scope .dp-btn--solid:hover {
	background: var(--dp-ink);
	color: #fff;
}

.dp-scope .dp-btn--ghost,
.dp-scope a.dp-btn--ghost {
	background: #fff;
	color: var(--dp-ink);
	border-color: var(--dp-line);
	text-decoration: none;
}

.dp-scope .dp-btn--ghost:hover {
	border-color: var(--dp-accent);
	color: var(--dp-accent-deep);
}

.dp-btn--full {
	width: 100%;
}

.dp-btn[disabled] {
	opacity: 0.6;
	cursor: progress;
}

.dp-link {
	background: none;
	border: 0;
	padding: 0;
	font: inherit;
	font-weight: 600;
	color: var(--dp-accent-deep);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.dp-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 40px;
	padding: 0 14px;
	border-radius: 999px;
	border: 1px solid var(--dp-line);
	background: #fff;
	color: var(--dp-ink);
	font: 500 14px/1 var(--dp-sans);
	cursor: pointer;
	text-decoration: none;
}

.dp-scope a.dp-chip {
	color: var(--dp-ink);
	text-decoration: none;
}

.dp-chip:hover {
	border-color: var(--dp-accent);
}

.dp-chip[aria-pressed="true"] {
	border-color: var(--dp-alert);
	color: var(--dp-alert);
}

.dp-chip[aria-pressed="true"] .dp-ico--heart {
	fill: currentColor;
}

.dp-stars {
	--dp-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.8l2.8 5.9 6.4.8-4.7 4.4 1.2 6.4L12 17.2l-5.7 3.1 1.2-6.4L2.8 9.5l6.4-.8z'/%3E%3C/svg%3E");
	display: inline-block;
	width: 5.6em;
	height: 1.1em;
	font-size: 15px;
	vertical-align: -0.15em;
	background: linear-gradient(90deg, #C98A1B var(--dp-fill, 0%), var(--dp-line) var(--dp-fill, 0%));
	-webkit-mask: var(--dp-star) 0 0 / 1.12em 1.1em repeat-x;
	mask: var(--dp-star) 0 0 / 1.12em 1.1em repeat-x;
}

.dp-crumbs {
	padding: 18px 0 8px;
	font-size: 14px;
	color: var(--dp-ink-3);
}

.dp-crumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.dp-crumbs li + li::before {
	content: "/";
	margin-right: 6px;
	color: var(--dp-line);
}

.dp-scope .dp-crumbs a {
	color: var(--dp-ink-2);
	text-decoration: none;
}

.dp-scope .dp-crumbs a:hover {
	text-decoration: underline;
}

.dp-profile-page {
	padding-bottom: 96px;
}

.dp-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 56px;
	align-items: end;
	padding: 28px 0 40px;
}

.dp-status {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 15px;
	font-weight: 600;
	color: var(--dp-accent-deep);
	margin-bottom: 14px !important;
}

.dp-status.is-closed {
	color: var(--dp-ink-2);
}

.dp-status-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--dp-accent);
	box-shadow: none;
}

.dp-status.is-closed .dp-status-dot {
	background: var(--dp-ink-3);
	box-shadow: none;
}

.dp-scope .dp-name {
	font-family: var(--dp-serif);
	font-weight: 600;
	font-size: clamp(2.2rem, 1.4rem + 2.8vw, 3.6rem);
	line-height: 1.04;
	letter-spacing: -0.02em;
	color: var(--dp-ink);
	margin: 0;
	text-wrap: balance;
}

.dp-cred {
	font-weight: 500;
	color: var(--dp-ink-3);
	letter-spacing: 0;
}

.dp-spec-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	margin-top: 14px;
}

.dp-specs {
	font-size: 19px;
	font-weight: 600;
}

.dp-scope .dp-specs a {
	color: var(--dp-ink);
	text-decoration: none;
	border-bottom: 1px solid var(--dp-line);
}

.dp-scope .dp-specs a:hover {
	border-color: var(--dp-accent);
}

.dp-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 4px 14px 4px 4px;
	border-radius: 999px;
	border: 1.5px solid var(--dp-accent-55);
	font-size: 14px;
	font-weight: 600;
	color: var(--dp-accent-deep);
	background: var(--dp-accent-08);
}

.dp-badge-ico {
	display: inline-grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--dp-accent);
	color: #fff;
}

.dp-badge-ico .dp-ico {
	width: 15px;
	height: 15px;
	vertical-align: 0;
}

.dp-badge--sm {
	font-size: 12.5px;
	padding: 2px 10px 2px 2px;
}

.dp-badge--sm .dp-badge-ico {
	width: 20px;
	height: 20px;
}

.dp-badge--sm .dp-badge-ico .dp-ico {
	width: 12px;
	height: 12px;
}

.dp-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 0;
	margin: 28px 0 22px !important;
}

.dp-fact {
	padding: 2px 26px;
	border-left: 1px solid var(--dp-line);
}

.dp-fact:first-child {
	padding-left: 0;
	border-left: 0;
}

.dp-fact dt {
	font-size: 13px;
	font-weight: 400;
	color: var(--dp-ink-3);
	margin-bottom: 4px;
}

.dp-fact dd {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.dp-scope .dp-fact-num {
	font-family: var(--dp-serif);
	font-size: 23px;
	font-weight: 600;
	line-height: 1.1;
	color: var(--dp-ink);
	text-decoration: none;
}

.dp-scope a.dp-fact-num:hover {
	color: var(--dp-accent-deep);
}

.dp-scope .dp-fact--next .dp-fact-num {
	color: var(--dp-accent-deep);
}

.dp-hero-address {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 16px;
	color: var(--dp-ink-2);
	margin-bottom: 24px !important;
}

.dp-hero-address .dp-ico {
	color: var(--dp-accent);
	margin-top: 2px;
}

.dp-scope .dp-hero-address a {
	color: var(--dp-ink-2);
	text-decoration: none;
}

.dp-scope .dp-hero-address a:hover {
	text-decoration: underline;
}

.dp-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.dp-portrait {
	position: relative;
	aspect-ratio: 4 / 5;
	border-radius: 26px 26px 26px 6px;
	overflow: hidden;
	background: var(--dp-accent-08);
}

.dp-portrait img,
.dp-portrait .dp-photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dp-monogram {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	font-family: var(--dp-serif);
	font-weight: 600;
	font-size: 88px;
	letter-spacing: -0.03em;
	color: var(--dp-accent);
	background: radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.9), transparent 55%), var(--dp-accent-16);
}

.dp-tabs {
	position: sticky;
	top: var(--dp-top);
	z-index: 20;
	background: #fff;
	border-bottom: 1px solid var(--dp-line);
	margin: 0 -24px;
	padding: 0 24px;
}

.dp-tabs ul {
	display: flex;
	gap: 30px;
	overflow-x: auto;
	scrollbar-width: none;
}

.dp-tabs ul::-webkit-scrollbar {
	display: none;
}

.dp-tabs li {
	flex: none;
}

.dp-scope .dp-tabs a {
	display: block;
	padding: 18px 0 16px;
	font-size: 15px;
	font-weight: 500;
	color: var(--dp-ink-2);
	text-decoration: none;
	white-space: nowrap;
	border-bottom: 3px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.dp-scope .dp-tabs a:hover {
	color: var(--dp-ink);
}

.dp-scope .dp-tabs a[aria-current="true"] {
	color: var(--dp-ink);
	font-weight: 600;
	border-bottom-color: var(--dp-accent);
}

.dp-tabs-book {
	margin-left: auto;
}

.dp-scope .dp-tabs-book a {
	color: var(--dp-accent-deep);
	font-weight: 600;
}

.dp-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 390px;
	gap: 64px;
	align-items: start;
	padding-top: 12px;
}

.dp-sections {
	min-width: 0;
}

.dp-section {
	padding: 44px 0;
	border-top: 1px solid var(--dp-line);
	scroll-margin-top: calc(var(--dp-top) + var(--dp-nav) + 12px);
}

.dp-section:first-child {
	border-top: 0;
}

.dp-aside {
	position: sticky;
	top: calc(var(--dp-top) + var(--dp-nav) + 20px);
	padding-top: 32px;
}

.dp-nudge {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-top: 30px !important;
	padding: 12px 16px !important;
	border-radius: 12px;
	background: var(--dp-accent-08);
	font-size: 14px;
	color: var(--dp-ink-2);
}

.dp-nudge .dp-ico {
	color: var(--dp-accent);
}

.dp-nudge strong {
	color: var(--dp-ink);
	font-weight: 600;
}

.dp-nudge a {
	margin-left: auto;
	font-weight: 600;
}

.dp-prose {
	font-family: var(--dp-serif);
	font-size: 18px;
	line-height: 1.7;
	max-width: 68ch;
	color: var(--dp-ink);
}

.dp-prose p + p,
.dp-prose ul,
.dp-prose ol {
	margin-top: 1em;
}

.dp-scope .dp-prose ul {
	list-style: disc;
	padding-left: 1.2em;
}

.dp-scope .dp-prose ol {
	list-style: decimal;
	padding-left: 1.2em;
}

.dp-prose h2,
.dp-prose h3 {
	font-family: var(--dp-serif);
	margin: 1.4em 0 0.4em;
}

.dp-kv {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 18px 28px;
	margin-top: 30px !important;
	padding-top: 26px !important;
	border-top: 1px dashed var(--dp-line);
}

.dp-kv dt {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 13px;
	font-weight: 400;
	color: var(--dp-ink-3);
	margin-bottom: 3px;
}

.dp-kv dt .dp-ico {
	color: var(--dp-accent);
}

.dp-kv dd {
	font-weight: 500;
	overflow-wrap: anywhere;
}

.dp-award {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 16px;
	padding: 18px 0;
	border-top: 1px solid var(--dp-line-2);
}

.dp-award:first-child {
	border-top: 0;
	padding-top: 4px;
}

.dp-award-mark {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--dp-accent-08);
	color: var(--dp-accent-deep);
}

.dp-award-mark .dp-ico {
	width: 22px;
	height: 22px;
}

.dp-award-body p {
	margin-top: 4px;
}

.dp-score {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr);
	gap: 40px;
	align-items: center;
	padding: 26px 28px;
	border-radius: 20px;
	background: var(--dp-paper);
}

.dp-score.is-single {
	grid-template-columns: minmax(0, 1fr);
}

.dp-score-num {
	font-family: var(--dp-serif);
	font-weight: 600;
	font-size: 60px;
	line-height: 1;
	letter-spacing: -0.03em;
	margin-bottom: 8px !important;
}

.dp-score-num span {
	font-family: var(--dp-sans);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	color: var(--dp-ink-3);
	margin-left: 8px;
}

.dp-score-main .dp-muted {
	margin-top: 8px;
	font-size: 14px;
}

.dp-bars {
	display: grid;
	gap: 14px;
}

.dp-bar {
	display: grid;
	grid-template-columns: 130px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	font-size: 14px;
}

.dp-bar dt {
	font-weight: 400;
	color: var(--dp-ink-2);
}

.dp-bar dd {
	display: flex;
	align-items: center;
	gap: 12px;
}

.dp-bar-track {
	flex: 1;
	height: 8px;
	border-radius: 8px;
	background: var(--dp-line);
	overflow: hidden;
}

.dp-bar-fill {
	display: block;
	height: 100%;
	width: var(--v, 0%);
	border-radius: 8px;
	background: var(--dp-accent);
}

.dp-bar-val {
	font-weight: 600;
	min-width: 2.2em;
	text-align: right;
}

.dp-scope .dp-reviews-title {
	margin: 34px 0 6px;
}

.dp-review {
	padding: 22px 0;
	border-bottom: 1px solid var(--dp-line-2);
}

.dp-scope .dp-review-text {
	margin: 10px 0 12px;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--dp-serif);
	font-size: 17px;
	font-style: normal;
	line-height: 1.65;
	max-width: 66ch;
	quotes: none;
}

.dp-scope .dp-review-text::before,
.dp-scope .dp-review-text::after {
	content: none;
}

.dp-review-by {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	font-size: 13px;
	color: var(--dp-ink-3);
}

.dp-review-by span:first-child {
	font-weight: 600;
	color: var(--dp-ink-2);
}

.dp-verified {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: var(--dp-accent-deep);
}

.dp-reviews + .dp-btn {
	margin-top: 22px;
}

.dp-block + .dp-block,
.dp-block + .dp-cols {
	margin-top: 28px;
}

.dp-block .dp-h3 {
	margin-bottom: 12px !important;
}

.dp-cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 28px 40px;
}

.dp-cols .dp-block + .dp-block {
	margin-top: 0;
}

.dp-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.dp-tags li,
.dp-tags a {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 14px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 500;
}

.dp-tags li {
	border: 1px solid var(--dp-line);
}

.dp-tags li.dp-tag-link {
	padding: 0;
	border: 0;
}

.dp-scope .dp-tags a {
	border: 1px solid var(--dp-accent-55);
	color: var(--dp-accent-deep);
	text-decoration: none;
}

.dp-scope .dp-tags a:hover {
	background: var(--dp-accent-08);
}

.dp-tags--soft li {
	border-color: transparent;
	background: var(--dp-accent-08);
	color: var(--dp-accent-deep);
}

.dp-checklist {
	display: grid;
	gap: 9px;
}

.dp-checklist li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

.dp-checklist .dp-ico {
	color: var(--dp-accent);
	margin-top: 3px;
}

.dp-search-inline {
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: 420px;
	margin-bottom: 18px;
	padding: 0 14px;
	border: 1px solid var(--dp-line);
	border-radius: 12px;
	background: var(--dp-card);
	color: var(--dp-ink-3);
}

.dp-scope .dp-search-inline input {
	flex: 1;
	min-width: 0;
	height: 46px;
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	box-shadow: none;
	background: #fff;
	font: 16px var(--dp-sans);
	color: var(--dp-ink);
}

.dp-search-inline:focus-within {
	border-color: var(--dp-accent);
}

.dp-ins {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 12px 26px;
}

.dp-ins li {
	display: flex;
	gap: 10px;
	align-items: center;
}

.dp-ins .dp-ico {
	color: var(--dp-accent);
}

.dp-scope .dp-ins a {
	color: var(--dp-ink);
	text-decoration: none;
}

.dp-scope .dp-ins a:hover {
	color: var(--dp-accent-deep);
	text-decoration: underline;
}

.dp-ins-empty {
	margin-top: 10px !important;
}

.dp-note {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin-top: 20px !important;
	font-weight: 500;
}

.dp-note .dp-ico {
	color: var(--dp-accent);
	margin-top: 3px;
}

.dp-section .dp-fine {
	margin-top: 18px;
}

.dp-locs {
	display: grid;
	gap: 26px;
}

.dp-loc {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	padding-bottom: 26px;
	border-bottom: 1px solid var(--dp-line-2);
}

.dp-loc:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.dp-loc.is-primary {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
	align-items: start;
}

.dp-loc-text address {
	font-style: normal;
	margin: 8px 0 14px;
	font-size: 17px;
	line-height: 1.5;
}

.dp-loc-meta {
	display: grid;
	gap: 8px;
	margin-bottom: 18px !important;
	font-size: 15px;
	color: var(--dp-ink-2);
}

.dp-loc-meta li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

.dp-loc-meta .dp-ico {
	color: var(--dp-accent);
	margin-top: 2px;
}

.dp-map {
	border-radius: 18px;
	overflow: hidden;
	background: var(--dp-paper);
	aspect-ratio: 4 / 3;
}

.dp-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.dp-hosp li {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	padding: 16px 0;
	border-top: 1px solid var(--dp-line-2);
}

.dp-hosp li:first-child {
	border-top: 0;
	padding-top: 0;
}

.dp-hosp-mark {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--dp-paper);
	color: var(--dp-accent-deep);
}

.dp-hosp .dp-muted {
	font-size: 14px;
	margin-top: 2px;
}

.dp-scope .dp-hosp a {
	color: var(--dp-ink);
}

.dp-timeline {
	position: relative;
	display: grid;
}

.dp-timeline::before {
	content: "";
	position: absolute;
	left: 19px;
	top: 20px;
	bottom: 20px;
	width: 2px;
	background: var(--dp-line);
}

.dp-tl-item {
	position: relative;
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 18px;
	padding: 0 0 26px;
}

.dp-tl-item:last-child {
	padding-bottom: 0;
}

.dp-tl-mark {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid var(--dp-accent-55);
	color: var(--dp-accent-deep);
}

.dp-tl-item--board .dp-tl-mark {
	background: var(--dp-accent);
	border-color: var(--dp-accent);
	color: #fff;
}

.dp-tl-body {
	padding-top: 2px;
}

.dp-tl-type {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 12px;
	font-size: 14px;
	font-weight: 600;
	color: var(--dp-accent-deep);
	margin-bottom: 4px !important;
}

.dp-tl-years {
	font-weight: 500;
	color: var(--dp-ink-3);
}

.dp-tl-body .dp-muted {
	margin-top: 2px;
}

.dp-book {
	padding: 26px 24px 22px;
	border-radius: 22px;
	border: 1px solid var(--dp-line);
	background: var(--dp-card);
	box-shadow: none;
	scroll-margin-top: calc(var(--dp-top) + var(--dp-nav) + 12px);
}

.dp-scope .dp-book-title {
	font-family: var(--dp-serif);
	font-weight: 600;
	font-size: 25px;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--dp-ink);
	margin: 0;
}

.dp-book-sub {
	margin-top: 6px !important;
	font-size: 14px;
	color: var(--dp-ink-2);
}

.dp-book-note {
	margin-top: 16px !important;
	padding: 10px 14px !important;
	border-left: 3px solid var(--dp-accent);
	background: var(--dp-accent-08);
	border-radius: 0 10px 10px 0;
	font-size: 14px;
}

.dp-book-opts {
	display: grid;
	gap: 12px;
	margin-top: 20px;
}

.dp-select,
.dp-input {
	display: grid;
	gap: 6px;
	margin: 0;
}

.dp-select > span,
.dp-input > span {
	font-size: 13px;
	font-weight: 600;
	color: var(--dp-ink-2);
}

.dp-scope .dp-select select,
.dp-scope .dp-input input,
.dp-scope .dp-input textarea,
.dp-scope .dp-filters select,
.dp-scope .dp-filters input[type="search"] {
	width: 100%;
	max-width: none;
	min-height: 46px;
	height: auto;
	margin: 0;
	padding: 10px 14px;
	border: 1px solid var(--dp-line);
	border-radius: 12px;
	background-color: #fff;
	color: var(--dp-ink);
	font: 15px/1.4 var(--dp-sans);
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.dp-scope .dp-select select,
.dp-scope .dp-filters select {
	padding-right: 40px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B6570' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 16px;
	cursor: pointer;
}

.dp-scope .dp-select select:focus,
.dp-scope .dp-input input:focus,
.dp-scope .dp-input textarea:focus,
.dp-scope .dp-filters select:focus,
.dp-scope .dp-filters input[type="search"]:focus {
	border-color: var(--dp-accent);
	outline: 3px solid var(--dp-accent-16);
	outline-offset: 0;
}

.dp-scope .dp-seg {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin: 4px 0 0;
	padding: 4px;
	border: 1px solid var(--dp-line);
	border-radius: 14px;
}

.dp-seg label {
	position: relative;
	cursor: pointer;
	margin: 0;
}

.dp-seg input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.dp-seg span {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 42px;
	padding: 0 10px;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 600;
	color: var(--dp-ink-2);
	text-align: center;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.dp-seg .dp-ico--check {
	display: none;
}

.dp-seg input:checked + span {
	background: var(--dp-ink);
	color: #fff;
}

.dp-seg input:checked + span .dp-ico--check {
	display: inline-block;
}

.dp-seg input:focus-visible + span {
	outline: 3px solid var(--dp-accent-55);
	outline-offset: 1px;
}

.dp-seg input:disabled + span {
	color: var(--dp-ink-3);
	text-decoration: line-through;
	cursor: not-allowed;
}

.dp-cal {
	margin-top: 22px;
}

.dp-cal-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.dp-cal-range {
	font-size: 15px;
	font-weight: 600;
}

.dp-cal-nav {
	display: flex;
	gap: 6px;
}

.dp-scope .dp-icon-btn {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	min-height: 0;
	padding: 0;
	border: 1px solid var(--dp-line);
	border-radius: 50%;
	background: #fff;
	color: var(--dp-ink);
	cursor: pointer;
}

.dp-scope .dp-icon-btn:hover:not([disabled]) {
	border-color: var(--dp-accent);
	color: var(--dp-accent-deep);
}

.dp-icon-btn[disabled] {
	opacity: 0.35;
	cursor: default;
}

.dp-cal-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 6px;
	transition: opacity 0.15s ease;
}

.dp-book.is-loading .dp-cal-grid {
	opacity: 0.5;
}

.dp-scope .dp-day {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	min-height: 80px;
	margin: 0;
	padding: 8px 7px 14px;
	border: 1px solid transparent;
	border-radius: 11px;
	background: var(--dp-accent-08);
	color: var(--dp-ink);
	font: inherit;
	text-align: left;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.dp-day::after {
	content: "";
	position: absolute;
	left: 7px;
	right: 7px;
	bottom: 7px;
	height: 3px;
	border-radius: 3px;
	background: var(--dp-accent);
	transform: scaleX(var(--f, 0));
	transform-origin: left center;
	transition: transform 0.35s ease;
}

.dp-scope .dp-day.lvl-1 {
	background: var(--dp-accent-08);
}

.dp-scope .dp-day.lvl-2 {
	background: var(--dp-accent-16);
}

.dp-scope .dp-day.lvl-3 {
	background: var(--dp-accent-30);
}

.dp-scope .dp-day:hover:not([disabled]) {
	border-color: var(--dp-accent);
}

.dp-scope .dp-day[disabled] {
	background: #fff;
	border: 1px dashed var(--dp-line);
	color: var(--dp-ink-3);
	cursor: default;
}

.dp-scope .dp-day[aria-pressed="true"] {
	background: var(--dp-ink);
	border-color: var(--dp-ink);
	color: #fff;
}

.dp-day[aria-pressed="true"]::after {
	background: #fff;
}

.dp-scope .dp-day.is-skeleton {
	background: var(--dp-line-2);
	cursor: default;
}

.dp-day-dow {
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
}

.dp-day-date {
	font-size: 12px;
	line-height: 1.3;
	white-space: nowrap;
	opacity: 0.85;
}

.dp-day-count {
	margin-top: auto;
	font-family: var(--dp-serif);
	font-size: 19px;
	font-weight: 600;
	line-height: 1.1;
}

.dp-day[disabled] .dp-day-count {
	font-weight: 400;
	opacity: 0.6;
}

.dp-cal-empty {
	margin-top: 12px !important;
	padding: 12px 14px !important;
	border-radius: 12px;
	background: var(--dp-paper);
	font-size: 14px;
	color: var(--dp-ink-2);
}

.dp-cal-legend {
	display: flex;
	gap: 18px;
	margin-top: 10px !important;
	font-size: 12px;
	color: var(--dp-ink-3);
}

.dp-cal-legend span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.dp-leg {
	display: inline-block;
	width: 14px;
	height: 10px;
	border-radius: 3px;
}

.dp-leg.lvl-1 {
	background: var(--dp-accent-16);
}

.dp-leg.lvl-3 {
	background: var(--dp-accent-55);
}

.dp-times {
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid var(--dp-line-2);
}

.dp-scope .dp-times-title {
	font-family: var(--dp-sans);
	font-size: 15px;
	font-weight: 600;
	margin: 0 0 12px;
	color: var(--dp-ink);
}

.dp-time-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
	gap: 8px;
	max-height: 280px;
	overflow-y: auto;
	padding: 2px;
}

.dp-scope .dp-time {
	min-height: 42px;
	margin: 0;
	padding: 0 8px;
	border: 1px solid var(--dp-accent-30);
	border-radius: 10px;
	background: #fff;
	color: var(--dp-accent-deep);
	font: 600 14px/1 var(--dp-sans);
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.dp-scope .dp-time:hover {
	background: var(--dp-accent-08);
	border-color: var(--dp-accent);
}

.dp-scope .dp-time[aria-pressed="true"] {
	background: var(--dp-accent-deep);
	border-color: var(--dp-accent-deep);
	color: #fff;
}

.dp-form {
	display: grid;
	gap: 14px;
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid var(--dp-line-2);
}

.dp-picked {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	padding: 12px 14px;
	border-radius: 14px;
	background: var(--dp-accent-08);
}

.dp-picked > .dp-ico {
	width: 24px;
	height: 24px;
	color: var(--dp-accent-deep);
}

.dp-picked-when {
	font-weight: 600;
	line-height: 1.35;
}

.dp-picked-with {
	font-size: 13px;
	color: var(--dp-ink-2);
}

.dp-scope .dp-form-title {
	font-family: var(--dp-serif);
	font-size: 19px;
	font-weight: 600;
	margin: 6px 0 0;
}

.dp-scope .dp-input textarea {
	min-height: 84px;
	resize: vertical;
}

.dp-hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.dp-consent {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	font-size: 13px;
	line-height: 1.5;
	color: var(--dp-ink-2);
	cursor: pointer;
}

.dp-consent input {
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	accent-color: var(--dp-accent-deep);
}

.dp-form-error {
	padding: 10px 14px !important;
	border-radius: 10px;
	background: #FBEFEB;
	color: var(--dp-alert);
	font-size: 14px;
	font-weight: 500;
}

.dp-done {
	margin-top: 20px;
	padding: 22px 20px;
	border-radius: 16px;
	background: var(--dp-accent-08);
	outline: none;
}

.dp-done-ico {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--dp-accent);
	color: #fff;
	margin-bottom: 14px;
	animation: dp-pop 0.4s ease-out both;
}

.dp-done-ico .dp-ico {
	width: 24px;
	height: 24px;
}

.dp-scope .dp-done h3 {
	font-family: var(--dp-serif);
	font-size: 23px;
	font-weight: 600;
	margin: 0 0 6px;
}

.dp-done p {
	font-size: 15px;
	color: var(--dp-ink-2);
}

.dp-scope .dp-done .dp-done-when {
	font-weight: 600;
	color: var(--dp-ink);
	margin: 10px 0 6px;
}

@keyframes dp-pop {
	from {
		transform: scale(0.6);
		opacity: 0;
	}
	to {
		transform: scale(1);
		opacity: 1;
	}
}

.dp-emergency {
	margin-top: 16px !important;
	padding-top: 14px !important;
	border-top: 1px solid var(--dp-line-2);
}

.dp-contact .dp-btn {
	margin-top: 20px;
}

.dp-contact-address {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin-top: 16px !important;
	font-size: 15px;
	color: var(--dp-ink-2);
}

.dp-contact-address .dp-ico {
	color: var(--dp-accent);
	margin-top: 2px;
}

.dp-mobilebar {
	display: none;
}

.dp-directory-page {
	padding-bottom: 96px;
}

.dp-dir-head {
	padding: 26px 0;
	max-width: 760px;
}

.dp-scope .dp-dir-title {
	font-family: var(--dp-serif);
	font-weight: 600;
	font-size: clamp(2.1rem, 1.5rem + 2.2vw, 3.2rem);
	line-height: 1.06;
	letter-spacing: -0.02em;
	color: var(--dp-ink);
	margin: 0;
}

.dp-dir-desc {
	margin-top: 12px !important;
	font-size: 18px;
	color: var(--dp-ink-2);
}

.dp-dir-desc p + p {
	margin-top: 0.8em;
}

.dp-filters {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr));
	gap: 14px;
	align-items: end;
	padding: 20px;
	border-radius: 20px;
	background: var(--dp-paper);
}

.dp-filter {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.dp-filter > label {
	font-size: 13px;
	font-weight: 600;
	color: var(--dp-ink-2);
}

.dp-filter-search {
	position: relative;
	display: block;
}

.dp-filter-search .dp-ico {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--dp-ink-3);
	pointer-events: none;
}

.dp-scope .dp-filter-search input[type="search"] {
	padding-left: 42px;
}

.dp-filter-row {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 22px;
	padding-top: 4px;
}

.dp-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	margin: 0;
}

.dp-toggle input {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--dp-accent-deep);
}

.dp-filter-inline {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 500;
	color: var(--dp-ink-2);
	margin: 0;
}

.dp-scope .dp-filter-inline select {
	width: auto;
	min-height: 38px;
	padding-top: 6px;
	padding-bottom: 6px;
	border-radius: 10px;
}

.dp-filter-actions {
	display: inline-flex;
	align-items: center;
	gap: 18px;
	margin-left: auto;
}

.dp-results {
	margin-top: 28px;
}

.dp-count {
	font-size: 14px;
	font-weight: 600;
	color: var(--dp-ink-2);
	padding-bottom: 6px !important;
}

.dp-list {
	display: grid;
}

.dp-card {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr) 300px;
	gap: 26px;
	align-items: start;
	padding: 26px 0;
	border-top: 1px solid var(--dp-line);
}

.dp-embed .dp-list > .dp-card:first-child {
	border-top: 0;
}

.dp-card-photo {
	display: block;
	aspect-ratio: 4 / 5;
	border-radius: 18px 18px 18px 4px;
	overflow: hidden;
	background: var(--dp-accent-08);
}

.dp-card-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dp-card-photo .dp-monogram {
	font-size: 34px;
}

.dp-scope .dp-card-name {
	font-family: var(--dp-serif);
	font-weight: 600;
	font-size: 24px;
	line-height: 1.2;
	letter-spacing: -0.01em;
	margin: 0;
}

.dp-scope .dp-card-name a {
	color: var(--dp-ink);
	text-decoration: none;
}

.dp-scope .dp-card-name a:hover {
	text-decoration: underline;
	text-decoration-color: var(--dp-accent);
}

.dp-card-spec {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-top: 6px !important;
	font-weight: 600;
	color: var(--dp-ink-2);
}

.dp-card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 14px 0 12px !important;
	font-size: 14px;
	color: var(--dp-ink-2);
}

.dp-card-meta li {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.dp-card-meta .dp-ico {
	color: var(--dp-accent);
}

.dp-card-rating strong {
	color: var(--dp-ink);
}

.dp-card-rating .dp-stars {
	font-size: 13px;
}

.dp-status--sm {
	font-size: 13px;
	margin: 0 !important;
}

.dp-status--sm .dp-status-dot {
	width: 7px;
	height: 7px;
	box-shadow: none;
}

.dp-card-book {
	display: grid;
	gap: 12px;
	padding: 16px;
	border-radius: 16px;
	background: var(--dp-paper);
}

.dp-mini {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 6px;
	align-items: end;
}

.dp-mini li {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 6px;
}

.dp-mini-bar {
	display: block;
	height: calc(5px + var(--f, 0) * 28px);
	border-radius: 5px;
	background: var(--dp-accent);
}

.dp-mini .no-times .dp-mini-bar {
	height: 5px;
	background: #fff;
	border: 1px dashed var(--dp-line);
}

.dp-mini-dow {
	font-size: 12px;
	font-weight: 600;
	text-align: center;
	color: var(--dp-ink-2);
}

.dp-mini .no-times .dp-mini-dow {
	color: var(--dp-ink-3);
	font-weight: 400;
}

.dp-next {
	font-size: 14px;
	color: var(--dp-ink-2);
}

.dp-next strong {
	color: var(--dp-ink);
}

.dp-card-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.dp-card-actions .dp-btn {
	min-height: 42px;
	padding: 0 12px;
	font-size: 14px;
}

.dp-card-actions .dp-btn:only-child {
	grid-column: 1 / -1;
}

.dp-scope .dp-card-actions .dp-btn--ghost {
	background: #fff;
}

.dp-pages {
	margin-top: 30px;
}

.dp-pages ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.dp-scope .dp-pages .page-numbers {
	display: grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	padding: 0 10px;
	border: 1px solid var(--dp-line);
	border-radius: 12px;
	font-weight: 600;
	color: var(--dp-ink);
	text-decoration: none;
}

.dp-scope .dp-pages a.page-numbers:hover {
	border-color: var(--dp-accent);
}

.dp-scope .dp-pages .page-numbers.current {
	background: var(--dp-ink);
	border-color: var(--dp-ink);
	color: #fff;
}

.dp-scope .dp-pages .page-numbers.dots {
	border: 0;
}

.dp-empty {
	padding: 48px 28px;
	border-radius: 20px;
	border: 1px dashed var(--dp-line);
	text-align: center;
}

.dp-scope .dp-empty h2 {
	font-family: var(--dp-serif);
	font-size: 26px;
	font-weight: 600;
	margin: 0 0 8px;
}

.dp-empty p {
	color: var(--dp-ink-2);
	margin-bottom: 20px !important;
}

@media (max-width: 1080px) {
	.dp-layout {
		grid-template-columns: minmax(0, 1fr) 350px;
		gap: 40px;
	}

	.dp-card {
		grid-template-columns: 96px minmax(0, 1fr);
	}

	.dp-card-book {
		grid-column: 2;
	}

	.dp-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dp-filter--q {
		grid-column: 1 / -1;
	}
}

@media (max-width: 960px) {
	.dp-hero {
		grid-template-columns: minmax(0, 1fr) 180px;
		gap: 28px;
	}

	.dp-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.dp-aside {
		position: static;
		padding-top: 8px;
	}

	.dp-mobilebar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 40;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 14px;
		padding: 12px 18px calc(12px + env(safe-area-inset-bottom, 0px));
		background: #fff;
		border-top: 1px solid var(--dp-line);
		box-shadow: none;
		transition: transform 0.25s ease;
	}

	.dp-mobilebar.is-away {
		transform: translateY(110%);
	}

	.dp-mobilebar-text {
		display: grid;
		min-width: 0;
		font-size: 13px;
		color: var(--dp-ink-2);
	}

	.dp-mobilebar-text strong {
		font-family: var(--dp-serif);
		font-size: 16px;
		color: var(--dp-ink);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.dp-mobilebar .dp-btn {
		flex: none;
	}
}

@media (max-width: 720px) {
	.dp-wrap {
		padding: 0 18px;
	}

	.dp-tabs {
		margin: 0 -18px;
		padding: 0 18px;
	}

	.dp-tabs-book {
		margin-left: 0;
	}

	.dp-hero {
		grid-template-columns: minmax(0, 1fr);
		padding-top: 16px;
		gap: 22px;
	}

	.dp-portrait {
		order: -1;
		width: 132px;
		border-radius: 20px 20px 20px 5px;
	}

	.dp-monogram {
		font-size: 44px;
	}

	.dp-fact {
		padding: 2px 16px;
	}

	.dp-scope .dp-fact-num {
		font-size: 19px;
	}

	.dp-scope .dp-h2 {
		font-size: 25px;
	}

	.dp-section {
		padding: 34px 0;
	}

	.dp-score {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
		padding: 22px 20px;
	}

	.dp-bar {
		grid-template-columns: 110px minmax(0, 1fr);
	}

	.dp-loc.is-primary {
		grid-template-columns: minmax(0, 1fr);
	}

	.dp-book {
		padding: 22px 16px 18px;
	}

	.dp-cal-grid {
		gap: 4px;
	}

	.dp-scope .dp-day {
		min-height: 74px;
		padding: 7px 5px 13px;
	}

	.dp-day-date {
		font-size: 11px;
	}

	.dp-card {
		grid-template-columns: 76px minmax(0, 1fr);
		gap: 16px;
	}

	.dp-card-book {
		grid-column: 1 / -1;
	}

	.dp-scope .dp-card-name {
		font-size: 21px;
	}

	.dp-filters {
		grid-template-columns: minmax(0, 1fr);
		padding: 16px;
	}

	.dp-filter-actions {
		width: 100%;
		margin-left: 0;
		justify-content: space-between;
	}

	.dp-filter-actions .dp-btn {
		flex: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dp-scope *,
	.dp-scope *::before,
	.dp-scope *::after {
		transition: none !important;
		animation: none !important;
	}
}

@media print {
	.dp-tabs,
	.dp-aside,
	.dp-mobilebar,
	.dp-nudge,
	.dp-actions {
		display: none !important;
	}

	.dp-layout {
		display: block;
	}
}

/* ==========================================================================
   Version 2 design layer
   Verified seal, specialty icons, credential bar, icon section headings,
   card sections, FAQ, trust block, related doctors, specialties hub.
   ========================================================================== */

.dp-scope {
	--dp-verify: #1E6BD6;
	--dp-verify-08: #EAF2FD;
	--dp-chip: var(--dp-accent);
	--dp-radius: 22px;
	--dp-card-pad: 34px;
}

.dp-scope .dp-ico {
	stroke-width: 1.75;
}

/* ---------- Verified seal ---------- */

.dp-seal {
	position: relative;
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 1.25em;
	height: 1.25em;
	margin-left: 0.18em;
	vertical-align: -0.12em;
	cursor: help;
	outline: none;
}

.dp-seal-svg {
	width: 100%;
	height: 100%;
	display: block;
}

.dp-seal-fill {
	fill: var(--dp-verify);
}

.dp-seal-check {
	stroke: #fff;
}

.dp-seal--lg {
	width: 0.62em;
	height: 0.62em;
	margin-left: 0.2em;
	vertical-align: 0.06em;
}

.dp-seal--sm {
	width: 18px;
	height: 18px;
	margin-left: 6px;
	vertical-align: -3px;
}

.dp-seal[data-tip]::after {
	content: attr(data-tip);
	position: absolute;
	left: 50%;
	top: calc(100% + 10px);
	z-index: 30;
	width: max-content;
	max-width: 260px;
	padding: 9px 12px;
	border-radius: 10px;
	background: var(--dp-ink);
	color: #fff;
	font: 500 13px/1.45 var(--dp-sans);
	letter-spacing: 0;
	text-align: left;
	white-space: normal;
	box-shadow: none;
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, 4px);
	transition: opacity 0.15s ease, transform 0.15s ease;
}

.dp-seal:hover::after,
.dp-seal:focus-visible::after {
	opacity: 1;
	transform: translate(-50%, 0);
}

.dp-seal:focus-visible {
	outline: 3px solid var(--dp-verify-08);
	border-radius: 50%;
}

/* ---------- Specialty chip ---------- */

.dp-scope .dp-spec-chip {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 40px;
	padding: 4px 16px 4px 4px;
	border-radius: 999px;
	border: 1px solid var(--dp-line);
	background: #fff;
	color: var(--dp-ink);
	font: 600 15px/1.2 var(--dp-sans);
	text-decoration: none;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.dp-scope a.dp-spec-chip:hover {
	border-color: var(--dp-chip);
	color: var(--dp-ink);
	background: #fff;
}

.dp-spec-ico {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--dp-chip);
	color: #fff;
}

.dp-spec-ico .dp-ico {
	width: 18px;
	height: 18px;
	vertical-align: 0;
}

.dp-scope .dp-spec-chip.is-primary {
	border-color: transparent;
	background: var(--dp-accent-08);
	font-size: 17px;
	min-height: 46px;
	padding-right: 20px;
}

.dp-spec-chip.is-primary .dp-spec-ico {
	width: 38px;
	height: 38px;
}

.dp-spec-chip.is-primary .dp-spec-ico .dp-ico {
	width: 21px;
	height: 21px;
}

.dp-scope .dp-spec-chip--sm {
	min-height: 30px;
	padding: 2px 12px 2px 2px;
	gap: 7px;
	font-size: 14px;
	border-color: transparent;
	background: var(--dp-accent-08);
}

.dp-spec-chip--sm .dp-spec-ico {
	width: 26px;
	height: 26px;
}

.dp-spec-chip--sm .dp-spec-ico .dp-ico {
	width: 15px;
	height: 15px;
}

.dp-spec-chip--all .dp-spec-ico {
	background: var(--dp-ink);
}

/* ---------- Profile hero ---------- */

.dp-profile-page {
	padding-bottom: 110px;
}

/* The breadcrumb and hero share one soft band that runs the full screen width. */
.dp-profile > .dp-crumbs {
	position: relative;
	z-index: 1;
	background: var(--dp-paper);
	box-shadow: 0 0 0 100vmax var(--dp-paper);
	clip-path: inset(0 -100vmax);
}

.dp-hero {
	position: relative;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 28px 56px;
	align-items: start;
	padding: 34px 0 36px;
	background: var(--dp-paper);
	box-shadow: 0 0 0 100vmax var(--dp-paper);
	clip-path: inset(0 -100vmax);
}

.dp-profile .dp-crumbs + .dp-hero {
	margin-top: 0;
}

.dp-hero-text {
	min-width: 0;
	padding-top: 6px;
}

.dp-name-row {
	display: block;
	max-width: 760px;
	text-wrap: balance;
}

.dp-scope .dp-name {
	display: inline;
	font-size: clamp(2.5rem, 1.35rem + 3.7vw, 4.4rem);
	line-height: 1.02;
	letter-spacing: -0.025em;
	font-weight: 600;
}

.dp-name .dp-cred {
	font-weight: 500;
	color: var(--dp-ink-3);
	letter-spacing: -0.01em;
	font-size: 0.62em;
	white-space: nowrap;
}

.dp-name-row .dp-seal--lg {
	font-size: clamp(2.5rem, 1.35rem + 3.7vw, 4.4rem);
}

.dp-spec-row {
	gap: 10px;
	margin-top: 20px;
}

.dp-scope .dp-facts {
	margin: 26px 0 20px !important;
}

.dp-fact dt {
	display: flex;
	align-items: center;
	gap: 6px;
}

.dp-fact dt .dp-ico {
	width: 15px;
	height: 15px;
	color: var(--dp-accent);
	vertical-align: 0;
}

.dp-fact-text {
	font-weight: 600;
	font-size: 16px;
	line-height: 1.35;
	color: var(--dp-ink);
}

.dp-btn--lg {
	min-height: 52px;
	padding: 0 24px;
	font-size: 16px;
}

.dp-scope .dp-chip {
	background: #fff;
}

.dp-portrait {
	border-radius: 28px 28px 28px 8px;
	box-shadow: none;
}

.dp-portrait.is-verified {
	outline: 3px solid #fff;
}

.dp-portrait-tag {
	position: absolute;
	left: 12px;
	bottom: 12px;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	max-width: calc(100% - 24px);
	padding: 7px 12px 7px 9px;
	border-radius: 999px;
	background: #fff;
	color: var(--dp-ink);
	font: 600 13px/1.2 var(--dp-sans);
}

.dp-portrait-tag .dp-ico {
	color: var(--dp-accent);
	width: 17px;
	height: 17px;
	vertical-align: 0;
}

.dp-portrait-tag span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Credential bar: the trust line under the hero */

.dp-credbar {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	border: 1px solid var(--dp-line);
	border-radius: 18px;
	background: #fff;
	overflow: hidden;
}

.dp-credbar-item {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	padding: 16px 20px;
	border-left: 1px solid var(--dp-line-2);
}

.dp-credbar-item:first-child {
	border-left: 0;
}

.dp-credbar-ico {
	display: grid;
	place-items: center;
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: var(--dp-accent-08);
	color: var(--dp-accent-deep);
}

.dp-credbar-ico .dp-ico {
	width: 21px;
	height: 21px;
	vertical-align: 0;
}

.dp-credbar-item--verified .dp-credbar-ico {
	background: var(--dp-verify-08);
	color: var(--dp-verify);
}

.dp-credbar-text {
	display: grid;
	min-width: 0;
	font-size: 13px;
	line-height: 1.35;
	color: var(--dp-ink-2);
}

.dp-credbar-text strong {
	font-size: 14.5px;
	color: var(--dp-ink);
}

.dp-credbar-text span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* ---------- Tabs ---------- */

.dp-scope .dp-tabs-book a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

/* ---------- Section cards with icon headings ---------- */

.dp-layout {
	padding-top: 28px;
	gap: 40px;
}

.dp-sections {
	display: grid;
	gap: 20px;
}

.dp-section {
	padding: var(--dp-card-pad);
	border: 1px solid var(--dp-line);
	border-top: 1px solid var(--dp-line);
	border-radius: var(--dp-radius);
	background: var(--dp-card);
}

.dp-section:first-child {
	border-top: 1px solid var(--dp-line);
}

.dp-scope .dp-h2 {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 28px;
	margin-bottom: 24px;
}

.dp-h2-ico {
	display: grid;
	place-items: center;
	flex: none;
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background: var(--dp-accent-08);
	color: var(--dp-accent-deep);
}

.dp-h2-ico .dp-ico {
	width: 24px;
	height: 24px;
	vertical-align: 0;
}

.dp-scope .dp-h3--ico {
	display: flex;
	align-items: center;
	gap: 9px;
}

.dp-h3--ico .dp-ico {
	color: var(--dp-accent);
	width: 20px;
	height: 20px;
	vertical-align: 0;
}

.dp-aside {
	padding-top: 0;
}

.dp-section--trust {
	background: var(--dp-paper);
	border-color: transparent;
}

/* ---------- Credentials ---------- */

.dp-creds {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 14px;
}

.dp-cred-card {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	padding: 18px;
	border: 1px solid var(--dp-line-2);
	border-radius: 16px;
	background: var(--dp-paper);
}

.dp-cred-ico {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: #fff;
	color: var(--dp-accent-deep);
}

.dp-cred-ico .dp-ico {
	width: 21px;
	height: 21px;
	vertical-align: 0;
}

.dp-cred-kind {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 10px;
	font-size: 13px;
	font-weight: 600;
	color: var(--dp-accent-deep);
	margin-bottom: 4px !important;
}

.dp-cred-kind span {
	font-weight: 500;
	color: var(--dp-ink-3);
}

.dp-cred-card .dp-muted {
	margin-top: 3px;
	font-size: 14px;
}

.dp-cred-card .dp-muted a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.dp-cred-card .dp-ico--external {
	width: 14px;
	height: 14px;
}

.dp-creds + .dp-block {
	margin-top: 28px;
}

.dp-pubs {
	display: grid;
	gap: 12px;
	counter-reset: dp-pub;
}

.dp-pubs li {
	position: relative;
	display: grid;
	gap: 2px;
	padding-left: 34px;
	counter-increment: dp-pub;
}

.dp-pubs li::before {
	content: counter(dp-pub);
	position: absolute;
	left: 0;
	top: 1px;
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--dp-accent-08);
	color: var(--dp-accent-deep);
	font-size: 12px;
	font-weight: 700;
}

.dp-pubs .dp-muted {
	font-size: 14px;
}

.dp-pub-title {
	font-weight: 500;
}

.dp-elsewhere {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.dp-scope .dp-elsewhere a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 14px;
	border: 1px solid var(--dp-line);
	border-radius: 12px;
	color: var(--dp-ink);
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
}

.dp-scope .dp-elsewhere a:hover {
	border-color: var(--dp-accent);
}

.dp-elsewhere .dp-ico--globe {
	color: var(--dp-accent);
}

.dp-elsewhere .dp-ico--external {
	width: 14px;
	height: 14px;
	color: var(--dp-ink-3);
}

/* ---------- Fees ---------- */

.dp-fee {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 4px 16px;
	align-items: center;
	margin-bottom: 26px;
	padding: 18px 20px;
	border-radius: 16px;
	background: var(--dp-paper);
}

.dp-fee-ico {
	grid-row: span 2;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: #fff;
	color: var(--dp-accent-deep);
}

.dp-fee-ico .dp-ico {
	width: 24px;
	height: 24px;
	vertical-align: 0;
}

.dp-fee-label {
	font-size: 13px;
	font-weight: 600;
	color: var(--dp-ink-2);
}

.dp-scope .dp-fee-val {
	font-family: var(--dp-serif);
	font-size: 26px;
	font-weight: 600;
	line-height: 1.1;
	color: var(--dp-ink);
}

.dp-fee .dp-fine {
	grid-column: 2;
	margin: 4px 0 0 !important;
}

/* ---------- Map facade ---------- */

.dp-map {
	position: relative;
	background-color: #E7EEEB;
	background-image:
		linear-gradient(90deg, rgba(255, 255, 255, 0.85) 2px, transparent 2px),
		linear-gradient(rgba(255, 255, 255, 0.85) 2px, transparent 2px),
		linear-gradient(28deg, transparent 46%, rgba(255, 255, 255, 0.95) 46%, rgba(255, 255, 255, 0.95) 51%, transparent 51%),
		radial-gradient(circle at 72% 28%, var(--dp-accent-16) 0 18%, transparent 19%);
	background-size: 46px 46px, 46px 46px, 100% 100%, 100% 100%;
}

.dp-scope .dp-map-load {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	align-content: center;
	gap: 10px;
	width: 100%;
	border: 0;
	background: #fff;
	color: var(--dp-ink);
	font: inherit;
	cursor: pointer;
}

.dp-map-pin {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 50% 50% 50% 8px;
	transform: rotate(-45deg);
	background: var(--dp-accent-deep);
	color: #fff;
	box-shadow: none;
}

.dp-map-pin .dp-ico {
	width: 26px;
	height: 26px;
	transform: rotate(45deg);
	vertical-align: 0;
}

.dp-map-text {
	display: grid;
	gap: 2px;
	padding: 8px 14px;
	border-radius: 12px;
	background: #fff;
	font-size: 13px;
	text-align: center;
	color: var(--dp-ink-2);
}

.dp-map-text strong {
	font-size: 15px;
	color: var(--dp-ink);
}

.dp-map-load:hover .dp-map-pin {
	background: var(--dp-ink);
}

/* ---------- FAQ ---------- */

.dp-faq {
	display: grid;
	gap: 10px;
}

.dp-faq-item {
	border: 1px solid var(--dp-line);
	border-radius: 16px;
	background: #fff;
	transition: border-color 0.15s ease;
}

.dp-faq-item[open] {
	border-color: var(--dp-accent-30);
	background: var(--dp-accent-08);
}

.dp-faq-item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 20px;
	cursor: pointer;
	list-style: none;
}

.dp-faq-item summary::-webkit-details-marker {
	display: none;
}

.dp-scope .dp-faq-q {
	margin: 0;
	font: 600 16.5px/1.4 var(--dp-sans);
	color: var(--dp-ink);
}

.dp-faq-toggle {
	position: relative;
	flex: none;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--dp-accent-08);
}

.dp-faq-item[open] .dp-faq-toggle {
	background: #fff;
}

.dp-faq-toggle::before,
.dp-faq-toggle::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 12px;
	height: 2px;
	margin: -1px 0 0 -6px;
	border-radius: 2px;
	background: var(--dp-accent-deep);
	transition: transform 0.2s ease;
}

.dp-faq-toggle::after {
	transform: rotate(90deg);
}

.dp-faq-item[open] .dp-faq-toggle::after {
	transform: rotate(0deg);
}

.dp-faq-a {
	padding: 0 20px 18px;
	color: var(--dp-ink-2);
	line-height: 1.65;
	max-width: 70ch;
}

/* ---------- Trust block ---------- */

.dp-trust-list {
	display: grid;
	gap: 16px;
}

.dp-trust-list li {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
}

.dp-trust-ico {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: #fff;
	color: var(--dp-accent-deep);
}

.dp-trust-ico.is-ok {
	color: var(--dp-verify);
}

.dp-trust-ico .dp-ico {
	width: 21px;
	height: 21px;
	vertical-align: 0;
}

.dp-trust-list strong {
	display: block;
	font-size: 15px;
	color: var(--dp-ink);
}

.dp-trust-list p {
	font-size: 15px;
	color: var(--dp-ink-2);
}

.dp-sources {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px dashed var(--dp-line);
}

.dp-sources .dp-h3 {
	margin-bottom: 10px;
}

.dp-scope .dp-sources ol {
	list-style: decimal;
	padding-left: 1.3em;
	display: grid;
	gap: 6px;
	font-size: 15px;
}

.dp-sources a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.dp-sources .dp-ico {
	width: 14px;
	height: 14px;
}

.dp-scope .dp-disclaimer {
	display: flex;
	gap: 9px;
	align-items: flex-start;
	margin-top: 22px !important;
	padding-top: 18px;
	border-top: 1px dashed var(--dp-line);
}

.dp-disclaimer .dp-ico {
	flex: none;
	margin-top: 2px;
}

/* ---------- Related doctors ---------- */

.dp-related {
	margin-top: 56px;
	padding-top: 44px;
	border-top: 1px solid var(--dp-line);
}

.dp-related-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 24px;
	margin-bottom: 22px;
}

.dp-related-head .dp-h2 {
	margin: 0;
}

.dp-related-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	font-weight: 600;
	font-size: 15px;
}

.dp-related-links a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.dp-mini-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 16px;
}

.dp-mini-card {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	padding: 16px;
	border: 1px solid var(--dp-line);
	border-radius: 18px;
	background: #fff;
	transition: border-color 0.15s ease;
}

.dp-mini-card:hover {
	border-color: var(--dp-accent-55);
}

.dp-mini-photo {
	display: block;
	aspect-ratio: 1;
	border-radius: 14px;
	overflow: hidden;
	background: var(--dp-accent-08);
}

.dp-mini-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dp-mini-photo .dp-monogram {
	font-size: 24px;
}

.dp-scope .dp-mini-name {
	margin: 0;
	font: 600 17px/1.3 var(--dp-serif);
}

.dp-scope .dp-mini-name a {
	color: var(--dp-ink);
	text-decoration: none;
}

.dp-scope .dp-mini-name a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.dp-mini-card {
	position: relative;
}

.dp-mini-name .dp-seal {
	position: relative;
	z-index: 1;
}

.dp-mini-spec {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 5px !important;
	font-size: 14px;
	font-weight: 600;
	color: var(--dp-accent-deep);
}

.dp-mini-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 14px;
	margin-top: 6px !important;
	font-size: 13px;
	color: var(--dp-ink-2);
}

.dp-mini-meta span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.dp-mini-meta .dp-ico {
	color: var(--dp-ink-3);
	width: 14px;
	height: 14px;
}

/* ---------- Cards in the directory ---------- */

.dp-scope .dp-card-name {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.dp-card-name .dp-cred {
	font-weight: 500;
	color: var(--dp-ink-3);
	font-size: 0.8em;
}

/* ---------- Directory header and quick links ---------- */

.dp-dir-head {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 20px;
	align-items: start;
	max-width: 900px;
}

.dp-dir-ico {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 20px;
	background: var(--dp-chip);
	color: #fff;
}

.dp-dir-ico .dp-ico {
	width: 32px;
	height: 32px;
	vertical-align: 0;
}

.dp-scope .dp-dir-title {
	font-size: clamp(2.3rem, 1.5rem + 2.8vw, 3.6rem);
}

.dp-dir-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	margin-top: 14px !important;
	font-size: 15px;
	font-weight: 600;
	color: var(--dp-ink-2);
}

.dp-dir-stats span,
.dp-dir-stats a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.dp-dir-stats .dp-ico {
	color: var(--dp-accent);
}

.dp-quick {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	margin-bottom: 22px;
}

.dp-quick-label {
	font-size: 14px;
	font-weight: 600;
	color: var(--dp-ink-2);
}

.dp-quick ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.dp-quick .dp-spec-chip {
	min-height: 38px;
	font-size: 14px;
}

.dp-quick .dp-spec-ico {
	width: 30px;
	height: 30px;
}

/* ---------- Specialties hub ---------- */

.dp-hub-page {
	padding-bottom: 96px;
}

.dp-spec-search {
	max-width: 520px;
	margin-bottom: 24px;
}

.dp-specgrid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 16px;
}

.dp-spec-tile {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--dp-line);
	border-radius: 20px;
	background: #fff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.dp-spec-tile:hover {
	border-color: var(--dp-chip);
	box-shadow: none;
}

.dp-scope .dp-spec-tile-link {
	display: grid;
	gap: 6px;
	padding: 22px 22px 20px;
	color: var(--dp-ink);
	text-decoration: none;
	flex: 1;
}

.dp-spec-tile-ico {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin-bottom: 10px;
	border-radius: 16px;
	background: var(--dp-accent-08);
	color: var(--dp-chip);
}

@supports (color: color-mix(in srgb, red 50%, white)) {
	.dp-spec-tile-ico {
		background: color-mix(in srgb, var(--dp-chip) 11%, #fff);
	}
}

.dp-spec-tile-ico .dp-ico {
	width: 28px;
	height: 28px;
	vertical-align: 0;
}

.dp-scope .dp-spec-tile-name {
	margin: 0;
	font: 600 20px/1.2 var(--dp-serif);
	color: var(--dp-ink);
}

.dp-spec-tile-count {
	font-size: 14px;
	font-weight: 600;
	color: var(--dp-accent-deep);
}

.dp-spec-tile-desc {
	font-size: 14px;
	line-height: 1.5;
	color: var(--dp-ink-2);
}

.dp-spec-kids {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 0 22px 20px !important;
}

.dp-scope .dp-spec-kids a {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--dp-paper);
	color: var(--dp-ink-2);
	font-size: 13px;
	text-decoration: none;
}

.dp-scope .dp-spec-kids a:hover {
	color: var(--dp-ink);
	background: var(--dp-accent-08);
}

.dp-spec-none {
	margin-top: 18px !important;
}

/* ---------- Responsive ---------- */

@media (max-width: 1080px) {
	.dp-hero {
		grid-template-columns: minmax(0, 1fr) 240px;
		gap: 24px 36px;
	}
}

@media (max-width: 960px) {
	.dp-layout {
		gap: 20px;
	}

	.dp-hero {
		grid-template-columns: minmax(0, 1fr) 200px;
	}
}

@media (max-width: 720px) {
	.dp-scope {
		--dp-card-pad: 22px;
		--dp-radius: 18px;
	}

	.dp-hero {
		grid-template-columns: 104px minmax(0, 1fr);
		gap: 18px 16px;
		padding: 18px 0 24px;
	}

	.dp-hero-text {
		display: contents;
	}

	.dp-portrait {
		grid-column: 1;
		grid-row: 1;
		order: 0;
		width: 104px;
		border-radius: 20px 20px 20px 6px;
		box-shadow: none;
	}

	.dp-portrait-tag {
		display: none;
	}

	.dp-hero .dp-status {
		grid-column: 2;
		grid-row: 1;
		align-self: start;
		margin: 2px 0 0 !important;
		font-size: 14px;
	}

	.dp-name-row {
		grid-column: 2;
		grid-row: 1;
		align-self: end;
		max-width: none;
	}

	.dp-hero .dp-status + .dp-name-row {
		padding-top: 30px;
	}

	.dp-scope .dp-name,
	.dp-name-row .dp-seal--lg {
		font-size: clamp(1.75rem, 1.2rem + 3.4vw, 2.3rem);
	}

	.dp-spec-row,
	.dp-hero .dp-facts,
	.dp-hero-address,
	.dp-actions,
	.dp-credbar {
		grid-column: 1 / -1;
	}

	.dp-spec-row {
		margin-top: 2px;
	}

	.dp-scope .dp-hero .dp-facts {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0;
		margin: 0 !important;
		border: 1px solid var(--dp-line);
		border-radius: 16px;
		background: #fff;
		overflow: hidden;
	}

	.dp-hero .dp-fact,
	.dp-hero .dp-fact:first-child {
		padding: 12px 14px;
		border-left: 0;
		border-top: 1px solid var(--dp-line-2);
	}

	.dp-hero .dp-fact:nth-child(-n+2) {
		border-top: 0;
	}

	.dp-hero .dp-fact:nth-child(even) {
		border-left: 1px solid var(--dp-line-2);
	}

	.dp-hero .dp-fact:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.dp-hero-address {
		margin: 0 !important;
		font-size: 15px;
	}

	.dp-actions .dp-btn--lg {
		width: 100%;
	}

	.dp-actions .dp-chip {
		flex: 1 1 auto;
		justify-content: center;
	}

	.dp-credbar {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dp-credbar-item {
		padding: 12px;
		gap: 10px;
		border-left: 0;
		border-top: 1px solid var(--dp-line-2);
	}

	.dp-credbar-item:nth-child(-n+2) {
		border-top: 0;
	}

	.dp-credbar-item:nth-child(even) {
		border-left: 1px solid var(--dp-line-2);
	}

	.dp-credbar-item:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.dp-credbar-ico {
		width: 34px;
		height: 34px;
		border-radius: 10px;
	}

	.dp-credbar-ico .dp-ico {
		width: 18px;
		height: 18px;
	}

	.dp-credbar-text strong {
		font-size: 13.5px;
	}

	.dp-credbar-text span {
		white-space: normal;
	}

	.dp-layout {
		padding-top: 18px;
	}

	.dp-sections {
		gap: 14px;
	}

	.dp-scope .dp-h2 {
		font-size: 23px;
		gap: 12px;
		margin-bottom: 18px;
	}

	.dp-h2-ico {
		width: 40px;
		height: 40px;
		border-radius: 12px;
	}

	.dp-h2-ico .dp-ico {
		width: 21px;
		height: 21px;
	}

	.dp-faq-item summary {
		padding: 15px 16px;
	}

	.dp-faq-a {
		padding: 0 16px 16px;
	}

	.dp-scope .dp-faq-q {
		font-size: 15.5px;
	}

	.dp-fee {
		grid-template-columns: 42px minmax(0, 1fr);
		padding: 16px;
	}

	.dp-fee-ico {
		width: 42px;
		height: 42px;
	}

	.dp-related {
		margin-top: 36px;
		padding-top: 30px;
	}

	.dp-mini-cards {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	.dp-mini-card {
		grid-template-columns: 60px minmax(0, 1fr);
		padding: 12px;
	}

	.dp-dir-head {
		grid-template-columns: 48px minmax(0, 1fr);
		gap: 14px;
	}

	.dp-dir-ico {
		width: 48px;
		height: 48px;
		border-radius: 14px;
	}

	.dp-dir-ico .dp-ico {
		width: 24px;
		height: 24px;
	}

	.dp-scope .dp-dir-title {
		font-size: clamp(1.8rem, 1.3rem + 3vw, 2.4rem);
	}

	.dp-quick {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin: 0 -18px 18px;
		padding: 0 18px 4px;
		scrollbar-width: none;
	}

	.dp-quick::-webkit-scrollbar {
		display: none;
	}

	.dp-quick-label {
		display: none;
	}

	.dp-quick ul {
		flex-wrap: nowrap;
	}

	.dp-quick li {
		flex: none;
	}

	.dp-specgrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.dp-scope .dp-spec-tile-link {
		padding: 16px 14px 14px;
	}

	.dp-spec-tile-ico {
		width: 44px;
		height: 44px;
		border-radius: 13px;
		margin-bottom: 6px;
	}

	.dp-spec-tile-ico .dp-ico {
		width: 23px;
		height: 23px;
	}

	.dp-scope .dp-spec-tile-name {
		font-size: 17px;
	}

	.dp-spec-tile-desc {
		display: none;
	}

	.dp-spec-kids {
		padding: 0 14px 14px !important;
	}

	.dp-seal[data-tip]::after {
		left: auto;
		right: -8px;
		max-width: min(260px, 80vw);
		transform: translate(0, 4px);
	}

	.dp-seal:hover::after,
	.dp-seal:focus-visible::after {
		transform: translate(0, 0);
	}
}

@media (max-width: 380px) {
	.dp-specgrid {
		grid-template-columns: minmax(0, 1fr);
	}

	.dp-hero {
		grid-template-columns: 84px minmax(0, 1fr);
	}

	.dp-portrait {
		width: 84px;
	}
}

@media print {
	.dp-credbar,
	.dp-related,
	.dp-map {
		display: none !important;
	}

	.dp-section {
		border: 0;
		padding: 16px 0;
	}
}

.dp-fee:last-child {
	margin-bottom: 0;
}


/* v2.0.1: solid surfaces, no drop shadows, theme-proof portrait tag */
.dp-scope .dp-portrait,
.dp-scope .dp-portrait.is-verified,
.dp-scope .dp-card,
.dp-scope .dp-spec-tile,
.dp-scope .dp-spec-tile:hover,
.dp-scope .dp-btn,
.dp-scope .dp-mobilebar,
.dp-scope .dp-map-pin,
.dp-scope .dp-seal[data-tip]::after,
.dp-scope .dp-status-dot {
	box-shadow: none;
	filter: none;
}
.dp-scope .dp-portrait-tag {
	background: #fff;
	border: 1px solid var(--dp-line);
}
.dp-scope .dp-portrait-tag::before,
.dp-scope .dp-portrait-tag::after {
	content: none;
	display: none;
}


/* v2.0.2: no background colours and no shadows; the plugin sits on the site's own background */
.dp-scope.dp-scope {
	--dp-paper: transparent !important;
	--dp-accent-08: transparent !important;
	--dp-shadow: none !important;
	background: transparent !important;
}
.dp-scope *,
.dp-scope *::before,
.dp-scope *::after {
	box-shadow: none !important;
	text-shadow: none !important;
}
.dp-scope .dp-hero,
.dp-scope .dp-profile > .dp-crumbs,
.dp-profile > .dp-crumbs {
	background: transparent !important;
	clip-path: none !important;
}
.dp-scope .dp-portrait,
.dp-scope .dp-portrait.is-verified {
	background: transparent !important;
	outline: 0 !important;
	border: 1px solid var(--dp-line);
	filter: none !important;
}
.dp-scope .dp-spec-chip,
.dp-scope .dp-spec-chip.is-primary,
.dp-scope .dp-chip,
.dp-scope .dp-credbar,
.dp-scope .dp-card,
.dp-scope .dp-mobilebar {
	background: transparent !important;
}
.dp-scope .dp-spec-chip.is-primary {
	border: 1px solid var(--dp-line);
}
.dp-scope .dp-portrait-tag {
	background: #fff !important;
	border: 1px solid var(--dp-line);
}
.dp-scope .dp-mobilebar {
	background: #fff !important;
	border-top: 1px solid var(--dp-line);
}
.dp-scope .dp-portrait-tag::before,
.dp-scope .dp-portrait-tag::after {
	content: none !important;
	display: none !important;
}
.dp-scope img.dp-photo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/* v2.0.3: black text and accents, icons drawn with a border only, info pills beside Save and Share */
.dp-scope.dp-scope {
	--dp-accent: #000000 !important;
	--dp-accent-deep: #000000 !important;
	--dp-accent-16: #E6E6E6 !important;
	--dp-accent-30: #CCCCCC !important;
	--dp-accent-55: #8C8C8C !important;
	--dp-ink: #000000 !important;
	--dp-ink-2: #2B2B2B !important;
	--dp-ink-3: #666666 !important;
	--dp-line: #D9D9D9 !important;
	--dp-line-2: #ECECEC !important;
	--dp-chip: #000000 !important;
}
.dp-scope .dp-tabs a,
.dp-scope .dp-tabs a:hover,
.dp-scope .dp-tabs a[aria-current="true"],
.dp-scope .dp-h2,
.dp-scope .dp-h2 span,
.dp-scope .dp-h3 {
	color: #000 !important;
}
.dp-scope .dp-tabs a[aria-current="true"] {
	border-bottom-color: #000 !important;
}
.dp-scope .dp-h2-ico,
.dp-scope .dp-spec-ico,
.dp-scope .dp-spec-chip.is-primary .dp-spec-ico,
.dp-scope .dp-spec-chip--sm .dp-spec-ico,
.dp-scope .dp-spec-chip--all .dp-spec-ico,
.dp-scope .dp-credbar-ico,
.dp-scope .dp-credbar-item--verified .dp-credbar-ico,
.dp-scope .dp-badge-ico,
.dp-scope .dp-done-ico,
.dp-scope .dp-award-mark,
.dp-scope .dp-icon-btn {
	background: transparent !important;
	border: 1px solid #CFCFCF !important;
	color: #000 !important;
}
.dp-scope .dp-h2-ico .dp-ico,
.dp-scope .dp-spec-ico .dp-ico,
.dp-scope .dp-spec-chip.is-primary .dp-spec-ico .dp-ico,
.dp-scope .dp-credbar-ico .dp-ico,
.dp-scope .dp-badge-ico .dp-ico,
.dp-scope .dp-done-ico .dp-ico,
.dp-scope .dp-award-mark .dp-ico,
.dp-scope .dp-portrait-tag .dp-ico,
.dp-scope .dp-hero-address .dp-ico,
.dp-scope .dp-kv dt .dp-ico,
.dp-scope .dp-fact dt .dp-ico,
.dp-scope .dp-checklist .dp-ico,
.dp-scope .dp-loc-meta .dp-ico,
.dp-scope .dp-card-meta .dp-ico {
	color: #000 !important;
}
.dp-scope .dp-spec-chip,
.dp-scope a.dp-spec-chip:hover {
	color: #000 !important;
	border-color: #CFCFCF !important;
}
.dp-scope .dp-chip--info {
	cursor: default;
	color: #000;
}
.dp-scope .dp-chip--info em {
	font-style: normal;
	font-weight: 400;
	color: var(--dp-ink-3);
	margin-left: 4px;
}
.dp-scope .dp-chip--verified .dp-ico {
	color: #2563EB;
}
