:root {
	--site-page: #f4f6f8;
	--site-surface: #ffffff;
	--site-text: #18212b;
	--site-muted: #627080;
	--site-border: #d8dee6;
	--site-accent: #245f8f;
	--site-accent-contrast: #ffffff;
	--site-max: 1280px;
	--site-radius: 16px;
	--site-shadow: 0 18px 55px rgba(30, 50, 70, .09);
}

.dpv-site button { border: 0; font: inherit; cursor: pointer; }
.dpv-index-header {
	position: relative;
	z-index: 20;
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 66px;
	padding: 0 clamp(16px, 3vw, 38px);
	border-bottom: 1px solid color-mix(in srgb, var(--site-border) 75%, transparent);
	background: color-mix(in srgb, var(--site-surface) 92%, transparent);
	backdrop-filter: blur(15px);
}
.dpv-menu-button { display: none; width: 38px; height: 38px; padding: 10px; border-radius: 10px; background: transparent; }
.dpv-menu-button span { display: block; height: 1px; margin: 4px 0; background: var(--site-text); }
.dpv-site-brand { padding: 8px 0; background: transparent; color: var(--site-text); font-size: 1.04rem; font-weight: 780; letter-spacing: .01em; }
.dpv-top-menu { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.dpv-top-menu button, .dpv-index-footer button { padding: 9px 11px; border-radius: 8px; background: transparent; color: var(--site-muted); font-size: .82rem; }
.dpv-top-menu button:hover, .dpv-index-footer button:hover { background: color-mix(in srgb, var(--site-accent) 8%, transparent); color: var(--site-text); }
.dpv-account-button { margin-left: 4px; padding: 9px 14px; border-radius: 999px; background: var(--site-accent); color: var(--site-accent-contrast); font-size: .78rem; font-weight: 720; }
[data-member-label] { display: none; }
.dpv-app[data-auth='member'] [data-public-label] { display: none; }
.dpv-app[data-auth='member'] [data-member-label] { display: inline; }
.dpv-app:not([data-auth='member']) [data-member-only] { display: none !important; }
.dpv-index-body { display: grid; grid-template-columns: 220px minmax(0, 1fr); min-height: 610px; }
.dpv-ic-menu { padding: 26px 15px; border-right: 1px solid var(--site-border); background: color-mix(in srgb, var(--site-surface) 70%, var(--site-page)); }
.dpv-menu-label { margin: 0 0 12px; color: var(--site-muted); font-size: .64rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.dpv-ic-menu button { display: block; width: 100%; margin: 3px 0; padding: 10px 12px; border-radius: 9px; background: transparent; color: var(--site-text); text-align: left; font-size: .82rem; }
.dpv-ic-menu button:hover { background: var(--site-surface); }
.dpv-ic { min-width: 0; }
.dpv-pg { width: min(100%, var(--site-max)); min-height: 610px; margin: 0 auto; padding: clamp(26px, 5vw, 74px); }
.dpv-pg[hidden] { display: none; }
.dpv-pg h1, .dpv-pg h2, .dpv-pg p { margin-top: 0; }
.dpv-pg h1 { max-width: 850px; margin-bottom: 18px; font-size: clamp(2.15rem, 5.5vw, 5.4rem); font-weight: 670; letter-spacing: -.055em; line-height: .98; }
.dpv-pg h2 { font-size: clamp(1.1rem, 2vw, 1.65rem); letter-spacing: -.025em; }
.dpv-pg p { color: var(--site-muted); line-height: 1.72; }
.dpv-eyebrow { color: var(--site-accent) !important; font-size: .68rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.dpv-hero { display: grid; align-content: center; min-height: 420px; padding: clamp(12px, 4vw, 54px) 0; }
.dpv-hero > p:not(.dpv-eyebrow) { max-width: 700px; font-size: clamp(1rem, 1.8vw, 1.28rem); }
.dpv-action-row { display: flex; gap: 10px; margin-top: 16px; }
.dpv-action-row button, .dpv-primary { padding: 12px 18px; border-radius: 10px; background: var(--site-accent); color: var(--site-accent-contrast); font-weight: 740; }
.dpv-action-row button.secondary { border: 1px solid var(--site-border); background: var(--site-surface); color: var(--site-text); }
.dpv-feature-grid, .dpv-dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.dpv-card { position: relative; min-width: 0; padding: clamp(20px, 3vw, 34px); border: 1px solid var(--site-border); border-radius: var(--site-radius); background: var(--site-surface); box-shadow: var(--site-shadow); overflow: hidden; }
.dpv-card > span:not(.dpv-stat) { display: inline-block; margin-bottom: 34px; color: var(--site-accent); font-size: .7rem; font-weight: 800; }
.dpv-pg-header { margin-bottom: clamp(28px, 5vw, 64px); }
.dpv-pg-header > p { max-width: 760px; font-size: 1.06rem; }
.dpv-byline { color: var(--site-muted); font-size: .75rem; }
.dpv-editorial-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 310px); gap: clamp(24px, 5vw, 70px); align-items: start; }
.dpv-article { max-width: 760px; font-family: Georgia, 'Times New Roman', serif; }
.dpv-article p { color: color-mix(in srgb, var(--site-text) 82%, var(--site-muted)); font-size: 1.05rem; }
.dpv-article .dpv-lede { color: var(--site-text); font-size: 1.28rem; }
.dpv-article h2 { margin: 46px 0 14px; font-family: 'DPV Site Font', Arial, sans-serif; }
.dpv-article blockquote { margin: 40px 0; padding: 8px 0 8px 26px; border-left: 3px solid var(--site-accent); color: var(--site-text); font-size: 1.36rem; line-height: 1.5; }
.dpv-evidence { position: sticky; top: 20px; padding: 24px; border-top: 3px solid var(--site-accent); background: color-mix(in srgb, var(--site-surface) 78%, var(--site-page)); }
.dpv-evidence ul { margin: 0; padding-left: 18px; color: var(--site-muted); line-height: 1.55; }
.dpv-evidence li + li { margin-top: 12px; }
.dpv-list-detail { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: 22px; align-items: start; }
.dpv-list-panel { display: grid; gap: 8px; }
.dpv-list-panel button { display: grid; gap: 5px; padding: 15px; border: 1px solid var(--site-border); border-radius: 11px; background: var(--site-surface); color: var(--site-text); text-align: left; }
.dpv-list-panel button.active { border-color: var(--site-accent); box-shadow: inset 3px 0 0 var(--site-accent); }
.dpv-list-panel span { color: var(--site-muted); font-size: .74rem; line-height: 1.4; }
.dpv-detail-panel { min-height: 360px; }
.dpv-card-actions { position: absolute; top: 12px; right: 12px; display: flex; gap: 5px; opacity: 0; transform: translateY(-5px); pointer-events: none; transition: opacity .18s ease, transform .18s ease; }
.dpv-app[data-hover='on'] .dpv-card:hover .dpv-card-actions, .dpv-app[data-hover='on'] .dpv-card:focus-within .dpv-card-actions { opacity: 1; transform: translateY(0); pointer-events: auto; }
.dpv-card-actions button, .dpv-cover-trigger { padding: 7px 10px; border-radius: 8px; background: color-mix(in srgb, var(--site-accent) 12%, var(--site-surface)); color: var(--site-accent); font-size: .72rem; font-weight: 740; }
.dpv-cover-trigger { display: none; margin: 0 0 34px; }
.dpv-app[data-cover='on'] .dpv-cover-trigger { display: inline-block; }
.dpv-cover { position: absolute; inset: 0; z-index: 8; padding: 18px; background: color-mix(in srgb, var(--site-text) 38%, transparent); backdrop-filter: blur(5px); }
.dpv-cover > div { display: grid; align-content: center; gap: 8px; width: 100%; height: 100%; padding: 28px; border-radius: 12px; background: var(--site-surface); }
.dpv-cover button { padding: 10px; border-radius: 8px; background: color-mix(in srgb, var(--site-accent) 9%, var(--site-page)); color: var(--site-text); text-align: left; }
.dpv-stat { display: block; margin-bottom: 28px; color: var(--site-accent); font-size: 2.5rem; font-weight: 760; letter-spacing: -.06em; }
.dpv-index-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px clamp(16px, 3vw, 38px); border-top: 1px solid var(--site-border); background: var(--site-surface); color: var(--site-muted); font-size: .72rem; }
.dpv-index-footer nav { display: flex; }
.dpv-login-layer { position: absolute; inset: 0; z-index: 50; display: grid; place-items: center; padding: 24px; background: rgba(12, 22, 31, .58); backdrop-filter: blur(12px); }
.dpv-login-layer[hidden] { display: none; }
.dpv-login-card { position: relative; width: min(100%, 390px); padding: 34px; border: 1px solid var(--site-border); border-radius: 20px; background: var(--site-surface); box-shadow: 0 30px 100px rgba(0,0,0,.25); }
.dpv-login-card h2 { margin: 0 0 8px; font-size: 2rem; }
.dpv-close { position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; border-radius: 50%; background: color-mix(in srgb, var(--site-text) 7%, transparent); color: var(--site-text); font-size: 1.3rem; }
.dpv-fake-field { display: grid; gap: 4px; margin: 12px 0; padding: 11px 13px; border: 1px solid var(--site-border); border-radius: 9px; }
.dpv-fake-field span { color: var(--site-muted); font-size: .68rem; }
.dpv-fake-field strong { font-size: .83rem; font-weight: 560; }
.dpv-primary { width: 100%; margin-top: 10px; }

.dpv-app[data-layout='stacked_sections'] .dpv-feature-grid,
.dpv-app[data-layout='stacked_sections'] .dpv-dashboard-grid { grid-template-columns: 1fr; }
.dpv-app[data-layout='stacked_sections'] .dpv-card { border-radius: 0; box-shadow: none; }
.dpv-app[data-layout='feature_grid'] .dpv-feature-grid,
.dpv-app[data-layout='feature_grid'] .dpv-dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dpv-app[data-layout='editorial_grid'] .dpv-feature-grid { grid-template-columns: 1.35fr .85fr; }
.dpv-app[data-layout='editorial_grid'] .dpv-feature-grid .dpv-card:first-child { grid-row: span 2; min-height: 300px; }
.dpv-app[data-layout='editorial_grid'] .dpv-list-detail { grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); }

.dpv-site.dpv-animation-running[data-animation='fade'] .dpv-animate-item { animation: dpv-fade .42s both; }
.dpv-site.dpv-animation-running[data-animation='slide_up'] .dpv-animate-item { animation: dpv-slide .48s cubic-bezier(.2,.8,.2,1) both; }
.dpv-site.dpv-animation-running[data-animation='reveal'] .dpv-animate-item { animation: dpv-reveal .58s cubic-bezier(.2,.8,.2,1) both; }
.dpv-site.dpv-animation-running .dpv-animate-item:nth-child(2) { animation-delay: .06s; }
.dpv-site.dpv-animation-running .dpv-animate-item:nth-child(3) { animation-delay: .12s; }
@keyframes dpv-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes dpv-slide { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
@keyframes dpv-reveal { from { opacity: 0; clip-path: inset(0 100% 0 0); } to { opacity: 1; clip-path: inset(0 0 0 0); } }

.dpv-app[data-viewport='tablet'] .dpv-index-body,
.dpv-app[data-viewport='mobile'] .dpv-index-body { grid-template-columns: 1fr; }
.dpv-app[data-viewport='tablet'] .dpv-ic-menu,
.dpv-app[data-viewport='mobile'] .dpv-ic-menu { display: none; }
.dpv-app[data-viewport='tablet'] .dpv-menu-button,
.dpv-app[data-viewport='mobile'] .dpv-menu-button { display: block; }
.dpv-app[data-viewport='tablet'] .dpv-top-menu,
.dpv-app[data-viewport='mobile'] .dpv-top-menu { display: none; }
.dpv-app[data-viewport='tablet'] .dpv-editorial-grid,
.dpv-app[data-viewport='mobile'] .dpv-editorial-grid,
.dpv-app[data-viewport='mobile'] .dpv-list-detail { grid-template-columns: 1fr; }
.dpv-app[data-viewport='mobile'] .dpv-pg { padding: 28px 18px; }
.dpv-app[data-viewport='mobile'] .dpv-pg h1 { font-size: clamp(2rem, 11vw, 3.4rem); }
.dpv-app[data-viewport='mobile'] .dpv-feature-grid,
.dpv-app[data-viewport='mobile'] .dpv-dashboard-grid { grid-template-columns: 1fr; }
.dpv-app[data-viewport='mobile'] .dpv-index-footer { align-items: flex-start; flex-direction: column; }
.dpv-app[data-viewport='mobile'] .dpv-editorial-grid { gap: 30px; }
.dpv-app[data-viewport='mobile'] .dpv-evidence { position: static; }
.dpv-app[data-menu-open='true'] .dpv-ic-menu { display: block; position: absolute; top: 66px; bottom: 0; left: 0; z-index: 19; width: 230px; box-shadow: 18px 0 45px rgba(20,35,50,.18); }

@media (prefers-reduced-motion: reduce) {
	.dpv-site.dpv-animation-running .dpv-animate-item { animation: none !important; }
}
