/**
 * 董伟平律师 · 东方雅集·高定法务卷宗设计系统 (site.css v5.0.0 · Hallmark Edition)
 * ----------------------------------------------------------------------------
 * 1. 严格遵循 Hallmark 2+1 字体门禁：
 *    - Display/Serif: 汇文明朝体 (Huiwen-mincho) + 思源屏显臻宋 (禁用伪粗体合成)
 *    - Sans: 苹方 / 思源黑体
 *    - Mono/En: Cormorant Garamond
 * 2. 多层次玄墨与暖铜金渐变基底，零霓虹发光球、零旋转印章、零虚假百分比进度条
 * 3. 版式节奏变化：卷首时区水牌 → 左纲右目卷宗名录 → 三线对照卷 → 横贯时间轴 → 案情手稿台 → 单层金线碑铭公示
 */




/* Hallmark · pre-emit critique: P4 H4 E4 S4 R4 V4 — subject to browser verification. */
:root {
 --bg-paper:#F4EFE6; --bg-paper-alt:#EBE4D6; --bg-card:#FAF7F1;
 --bg-obsidian:#161513; --ink-900:#171614; --ink-700:#3A3732; --ink-500:#69635A;
 --cinnabar:#8C2318; --bronze:#8A6B3F; --bronze-lt:#C8B08A;
 --line-hair:rgba(23,22,20,.14); --line-strong:rgba(23,22,20,.32);
 --bg-deep:var(--bg-paper); --bg-ink:var(--bg-card); --bg-lacquer:var(--bg-paper-alt);
 --bg-elevated:var(--bg-card); --bg-tint:var(--bg-paper-alt);
 --ivory-100:var(--ink-900); --ivory-200:var(--ink-700); --ivory-300:var(--ink-500); --ivory-400:var(--ink-500);
 --gold:var(--bronze); --gold-bright:var(--cinnabar); --gold-deep:var(--bronze);
 --gold-line:var(--line-hair); --gold-line-strong:var(--line-strong); --line-subtle:var(--line-hair);
 --font-serif:"Huiwen-mincho","Source Han Serif CN for Display","Noto Serif SC","Songti SC",serif;
 --font-sans:"Noto Serif SC","Songti SC","Source Han Serif CN for Display",serif;
 --font-en:"Cormorant Garamond",Georgia,serif;
 --r-xs:2px; --r-sm:2px; --r-md:2px; --wrap-w:1240px; --header-h:76px;
}


/* 基础重置 */
*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	scroll-behavior: smooth;
	font-size: 16px;
	background-color: var(--bg-deep);
	color: var(--ivory-100);
}

body {
	font-family: var(--font-sans);
	color: var(--ivory-100);
	background-color: var(--bg-deep);
	background-image:none;
	background-attachment: fixed;
	line-height: 1.72;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

/* 汇文明朝体防伪粗体保护 */
h1, h2, h3, h4,
.dl-brand__text strong,
.dl-nav a,
.dl-btn,
.dl-sec-index,
.dl-pillar__num,
.dl-practice-card__no,
.dl-step__no,
.dl-prep-preview__body {
	font-family: var(--font-serif);
	font-weight: 400;
	font-synthesis: none;
}

a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

ul {
	list-style: none;
}

img {
	max-width: 100%;
	display: block;
}

.dl-wrap {
	max-width: var(--wrap-w);
	margin: 0 auto;
	padding: 0 36px;
}

/* 无障碍跳链 & 顶部阅读细金线 */
.dl-skip {
	position: absolute;
	left: -9999px;
	top: 8px;
	z-index: 999;
	background: var(--gold);
	color: var(--bg-deep);
	padding: 8px 16px;
	font-size: 14px;
}
.dl-skip:focus {
	left: 16px;
}

.dl-scroll-bar {
	position: fixed;
	top: 0;
	left: 0;
	height: 2px;
	width: 0;
	background:var(--bg-paper-alt);
	z-index: 200;
	transition: width 0.1s linear;
}

/* ==========================================================================
   顶部高定书院碑刻式导航栏 (.dl-header)
   ========================================================================== */
.dl-header {
	position: sticky;
	top: 0;
	z-index: 120;
	height: var(--header-h);
	background:var(--bg-card);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--gold-line);
}

.dl-header__inner {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.dl-brand {
	display: inline-flex;
	align-items: center;
	gap: 14px;
}

.dl-logo {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.dl-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.55));
}

.dl-brand__text {
	display: flex;
	flex-direction: column;
	line-height: 1.15;
}

.dl-brand__text strong {
	font-size: 22px;
	letter-spacing: 0.08em;
	color: var(--ivory-100);
}

.dl-brand__text i {
	display: none;
}

.dl-brand__text em {
	font-family: var(--font-en);
	font-style: normal;
	font-size: 11px;
	letter-spacing: 0.24em;
	color: var(--gold);
	margin-top: 3px;
}

.dl-nav {
	display: flex;
	align-items: center;
	gap: 30px;
}

.dl-nav a {
	font-size: 16px;
	letter-spacing: 0.06em;
	color: var(--ivory-200);
	padding: 6px 0;
	border-bottom: 1px solid transparent;
}

.dl-nav a:hover,
.dl-nav a.is-active {
	color: var(--gold-bright);
	border-bottom-color: var(--gold);
}

.dl-header__actions {
	display: flex;
	align-items: center;
	gap: 12px;
}

/* 按钮体系（碑帖微倒角） */
.dl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 11px 24px;
	font-size: 15px;
	letter-spacing: 0.08em;
	border-radius: var(--r-sm);
	border: 1px solid transparent;
	cursor: pointer;
	transition: transform 0.18s ease, filter 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.dl-btn--sm {
	padding: 8px 18px;
	font-size: 14px;
}

.dl-btn--full {
	width: 100%;
}

.dl-btn--gold {
	background:var(--bg-paper-alt);
	color: var(--bg-deep);
}

.dl-btn--gold:hover {
	filter: brightness(1.06);
	transform: translateY(-1px);
}

.dl-btn--ghost,
.dl-btn--outline {
	background: rgba(198, 171, 125, 0.05);
	color: var(--ivory-100);
	border-color: var(--gold-line);
}

.dl-btn--ghost:hover,
.dl-btn--outline:hover {
	border-color: var(--gold);
	background: rgba(198, 171, 125, 0.12);
}

/* 汉堡按钮与移动端抽屉 */
.dl-burger {
	display: none;
	width: 40px;
	height: 40px;
	background: transparent;
	border: 1px solid var(--gold-line);
	border-radius: var(--r-sm);
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	cursor: pointer;
}

.dl-burger span {
	width: 18px;
	height: 1.5px;
	background: var(--ivory-100);
}

.dl-drawer {
	position: fixed;
	inset: 0;
	background:var(--bg-card);
	backdrop-filter: blur(8px);
	z-index: 180;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
}

.dl-drawer.is-open {
	opacity: 1;
	pointer-events: auto;
}

.dl-drawer__panel {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: min(340px, 86vw);
	background: var(--bg-ink);
	border-left: 1px solid var(--gold-line);
	padding: 28px 24px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.dl-drawer__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--line-subtle);
	font-family: var(--font-serif);
	color: var(--gold);
	letter-spacing: 0.12em;
	font-size: 14px;
}

.dl-drawer__close {
	background: none;
	border: none;
	color: var(--ivory-100);
	font-size: 18px;
	cursor: pointer;
}

.dl-drawer__nav {
	display: grid;
	gap: 6px;
	margin: 24px 0 auto;
}

.dl-drawer__nav a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 8px;
	border-bottom: 1px solid var(--line-subtle);
	font-family: var(--font-serif);
	font-size: 17px;
	color: var(--ivory-100);
}

.dl-drawer__nav a em {
	font-style: normal;
	color: var(--gold);
	font-size: 14px;
}

.dl-drawer__foot {
	font-size: 12.5px;
	color: var(--ivory-300);
	border-top: 1px solid var(--line-subtle);
	padding-top: 16px;
	line-height: 1.8;
}

/* ==========================================================================
   00 · HERO 首屏（卷首时区与管辖水牌 + 左文右像 + 底部四信条）
   ========================================================================== */
.dl-hero {
	padding: 44px 0 84px;
	border-bottom: 1px solid var(--line-subtle);
}

/* 卷首时区水牌（国内站单行横贯式） */
.dl-horology-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	padding-bottom: 20px;
	margin-bottom: 44px;
	border-bottom: 1px solid var(--gold-line);
	font-size: 13.5px;
	color: var(--ivory-200);
}

.dl-horology-bar__left,
.dl-horology-bar__right {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
}

.dl-horology-bar__tag {
	font-family: var(--font-serif);
	color: var(--gold-bright);
	letter-spacing: 0.08em;
}

.dl-horology-bar__sep {
	width: 1px;
	height: 13px;
	background: var(--gold-line);
}

.dl-horology-bar__jurisdiction em {
	font-style: normal;
	color: var(--ivory-300);
}

.dl-horology-bar__jurisdiction strong {
	font-weight: 500;
	color: var(--ivory-100);
	transition: opacity 0.25s ease;
}

.dl-telemetry__clock {
	font-family: var(--font-en);
	font-size: 15px;
	letter-spacing: 0.06em;
	color: var(--gold);
}

.dl-hero__inner {
	display: grid;
	grid-template-columns: 1.24fr 0.76fr;
	gap: 64px;
	align-items: start;
}

.dl-hero__kicker {
	font-family: var(--font-serif);
	font-size: 14px;
	letter-spacing: 0.18em;
	color: var(--gold);
	margin-bottom: 16px;
}

.dl-hero__title {
	font-size: clamp(36px, 4.4vw, 56px);
	line-height: 1.22;
	letter-spacing: 0.03em;
	color: var(--ivory-100);
	margin-bottom: 24px;
}

.dl-hero__title span {
	color: var(--gold-bright);
	border-bottom: 1px solid var(--gold-line);
	padding-bottom: 2px;
}

.dl-hero__lead {
	font-size: 16px;
	color: var(--ivory-200);
	max-width: 58ch;
	margin-bottom: 32px;
	line-height: 1.8;
}

.dl-hero__lead strong {
	color: var(--ivory-100);
	font-weight: 500;
}

.dl-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 40px;
}

/* 国际站保留并雅集化：两地时间小组件 (.dl-dual-clock) */
.dl-dual-clock {
	border-top: 2px solid var(--gold);
	border-bottom: 1px solid var(--gold-line);
	background:var(--bg-paper-alt);
	padding: 20px 24px;
	margin-bottom: 36px;
}

.dl-dual-clock__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--line-subtle);
}

.dl-dual-clock__title {
	display: flex;
	align-items: baseline;
	gap: 12px;
}

.dl-dual-clock__title strong {
	font-family: var(--font-serif);
	font-size: 17px;
	color: var(--ivory-100);
	letter-spacing: 0.06em;
}

.dl-dual-clock__title em {
	font-family: var(--font-en);
	font-style: normal;
	font-size: 12px;
	letter-spacing: 0.16em;
	color: var(--gold);
}

.dl-dual-clock__badges {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 12.5px;
}

.dl-dual-clock__diff {
	color: var(--gold-bright);
	font-family: var(--font-serif);
}

.dl-telemetry__sla {
	padding: 2px 8px;
	border: 1px solid var(--gold-line);
	color: var(--ivory-200);
	font-size: 12px;
	border-radius: var(--r-xs);
}

.dls-route {
	width: 100%;
	height: 68px;
	margin: 10px 0 6px;
}

.dls-route .r-globe {
	fill: none;
	stroke: rgba(198, 171, 125, 0.14);
	stroke-width: 1;
}

.dls-route .r-path {
	fill: none;
	stroke: var(--gold);
	stroke-width: 1.4;
	stroke-dasharray: 4 4;
}

.dls-route .r-dot {
	fill: var(--gold-bright);
}

.dls-route .r-pulse {
	fill: none;
	stroke: var(--gold);
	stroke-width: 1;
	opacity: 0.45;
}

.dls-route .r-plane {
	fill: var(--gold-bright);
}

.dls-route text {
	fill: var(--ivory-300);
	font-family: var(--font-en);
	font-size: 9.5px;
	letter-spacing: 0.16em;
}

.dl-dual-clock__row {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 20px;
	align-items: center;
	padding: 12px 0;
	border-top: 1px solid var(--line-subtle);
	border-bottom: 1px solid var(--line-subtle);
}

.dl-dual-clock__cell {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.dl-dual-clock__cell--home {
	text-align: right;
}

.dl-dual-clock__label {
	font-size: 12.5px;
	color: var(--ivory-300);
}

.dl-dual-clock__label b {
	color: var(--ivory-100);
	font-weight: 500;
}

.dl-dual-clock__time {
	font-family: var(--font-serif);
	font-size: 26px;
	color: var(--gold-bright);
	letter-spacing: 0.04em;
	line-height: 1.2;
}

.dl-dual-clock__time small {
	font-size: 13px;
	color: var(--ivory-200);
	margin-left: 6px;
}

.dl-dual-clock__date {
	font-size: 12px;
	color: var(--ivory-300);
}

.dl-dual-clock__mid {
	display: flex;
	flex-direction: column;
	align-items: center;
	color: var(--gold);
	font-size: 14px;
}

.dl-dual-clock__mid small {
	font-size: 12px;
	color: var(--ivory-300);
}

.dl-dual-clock__foot {
	padding-top: 12px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 12.5px;
}

.dl-telemetry__label {
	color: var(--gold);
	font-family: var(--font-serif);
	letter-spacing: 0.08em;
}

.dl-telemetry__court {
	color: var(--ivory-200);
	font-weight: 400;
	transition: opacity 0.25s ease;
}

/* 卷首四信条（无框细线格栅） */
.dl-pillars {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 22px 32px;
	padding-top: 28px;
	border-top: 1px solid var(--gold-line);
}

.dl-pillar__num {
	display: block;
	font-size: 17px;
	color: var(--gold-bright);
	letter-spacing: 0.06em;
	margin-bottom: 4px;
}

.dl-pillar p {
	font-size: 13.5px;
	color: var(--ivory-300);
	line-height: 1.65;
}

/* 馆藏画框级律师肖像（严格限制 max-width 400px，根治平板端拉伸 Bug） */
.dl-portrait-stage {
	max-width: 400px;
	width: 100%;
	margin-left: auto;
}

.dl-portrait-card {
	background: var(--bg-lacquer);
	border: 1px solid var(--gold-line-strong);
	border-radius: var(--r-sm);
	padding: 16px;
	box-shadow:none;
}

.dl-portrait-card__frame {
	position: relative;
	aspect-ratio: 4 / 4.85;
	overflow: hidden;
	background:var(--bg-paper-alt);
}

.dl-portrait-card__frame img.dl-portrait {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.dl-portrait-card__caption {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--gold-line);
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.dl-portrait-card__name-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.dl-portrait-card__name-row strong {
	font-family: var(--font-serif);
	font-synthesis: none;
	font-weight: 400;
	font-size: 21px;
	letter-spacing: 0.08em;
	color: var(--ivory-100);
}

.dl-portrait-card__name-row em {
	font-family: var(--font-en);
	font-style: normal;
	font-size: 12px;
	letter-spacing: 0.18em;
	color: var(--gold);
}

.dl-portrait-card__firm {
	display: block;
	font-size: 13px;
	color: var(--ivory-200);
	margin-top: 2px;
}

.dl-portrait-card__license {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	padding-top: 10px;
	border-top: 1px solid var(--line-subtle);
	font-size: 12.5px;
}

.dl-portrait-card__license-label {
	color: var(--ivory-300);
	letter-spacing: 0.06em;
}

.dl-portrait-card__license code {
	font-family: var(--font-en);
	font-size: 14.5px;
	letter-spacing: 0.06em;
	color: var(--gold-bright);
}

/* ==========================================================================
   通用章节骨架与标题
   ========================================================================== */
.dl-section {
	padding: 92px 0;
	border-bottom: 1px solid var(--line-subtle);
}

.dl-section--ivory {
	background:var(--bg-paper-alt);
}

.dl-section--dark {
	background:var(--bg-paper-alt);
}

.dl-section--warm {
	background:var(--bg-paper-alt);
}

.dl-sec-index {
	font-size: 14px;
	letter-spacing: 0.18em;
	color: var(--gold);
	margin-bottom: 14px;
}

.dl-sec-head {
	max-width: 760px;
	margin-bottom: 52px;
}

.dl-sec-head h2,
.dl-ledger-head h2,
.dl-faq-head h2,
.dl-contact__main h2 {
	font-size: clamp(28px, 3.2vw, 38px);
	line-height: 1.3;
	letter-spacing: 0.03em;
	color: var(--ivory-100);
	margin-bottom: 16px;
}

.dl-sec-head p,
.dl-ledger-head p,
.dl-faq-head p {
	font-size: 15px;
	color: var(--ivory-200);
	line-height: 1.75;
}

/* ==========================================================================
   01 · PRACTICE AREAS（左纲右目 · 卷宗目录式双栏名录）
   ========================================================================== */
.dl-ledger-layout {
	display: grid;
	grid-template-columns: 340px 1fr;
	gap: 60px;
	align-items: start;
}

.dl-ledger-head {
	position: sticky;
	top: 108px;
}

.dl-manifesto {
	margin-top: 32px;
	padding: 20px 0;
	border-top: 1px solid var(--gold-line);
	border-bottom: 1px solid var(--gold-line);
}

.dl-manifesto__zh {
	font-family: var(--font-serif);
	font-size: 15.5px;
	color: var(--ivory-100);
	line-height: 1.8;
	margin-bottom: 10px;
}

.dl-manifesto__sign {
	font-family: var(--font-serif);
	font-size: 13.5px;
	color: var(--gold);
	text-align: right;
}

.dl-practice-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	border-top: 2px solid var(--gold);
	border-left: 1px solid var(--line-subtle);
}

.dl-practice-card {
	padding: 32px 28px;
	border-right: 1px solid var(--line-subtle);
	border-bottom: 1px solid var(--line-subtle);
	background:var(--bg-card);
	display: flex;
	flex-direction: column;
	transition: background-color 0.2s ease;
}

.dl-practice-card:hover {
	background: var(--bg-tint);
}

.dl-practice-card__top {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 14px;
}

.dl-practice-card__no {
	font-size: 17px;
	color: var(--gold-bright);
	letter-spacing: 0.08em;
}

.dl-practice-card__en {
	font-family: var(--font-en);
	font-size: 11.5px;
	letter-spacing: 0.14em;
	color: var(--ivory-400);
}

.dl-practice-card h3 {
	font-size: 22px;
	color: var(--ivory-100);
	margin-bottom: 10px;
	letter-spacing: 0.04em;
}

.dl-practice-card p {
	font-size: 14px;
	color: var(--ivory-200);
	margin-bottom: 18px;
}

.dl-practice-card ul {
	margin-bottom: 22px;
	flex: 1;
	display: grid;
	gap: 8px;
}

.dl-practice-card ul li {
	font-size: 13.5px;
	color: var(--ivory-300);
	padding-left: 14px;
	position: relative;
}

.dl-practice-card ul li::before {
	content: "·";
	position: absolute;
	left: 0;
	color: var(--gold);
	font-weight: 700;
}

.dl-practice-card__link {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 14px;
	border-top: 1px solid var(--line-subtle);
	font-family: var(--font-serif);
	font-size: 14px;
	color: var(--gold);
	letter-spacing: 0.06em;
}

.dl-practice-card__link:hover {
	color: var(--gold-bright);
}

/* ==========================================================================
   02 · PRINCIPLES 办案原则（无框三线对照表 + 四阶段真实交付物核验台）
   ========================================================================== */
.dl-diff-list {
	border-top: 2px solid var(--gold);
	margin-bottom: 56px;
}

.dl-diff-item {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 40px;
	padding: 32px 0;
	border-bottom: 1px solid var(--line-subtle);
	align-items: start;
}

.dl-diff-item__num,
.dl-diff-item__tag {
	display: inline-block;
	font-family: var(--font-serif);
	font-size: 13px;
	letter-spacing: 0.12em;
	color: var(--gold);
	margin-bottom: 8px;
}

.dl-diff-item__pain h3 {
	font-size: 21px;
	color: var(--ivory-100);
	margin-bottom: 8px;
}

.dl-diff-item__pain p {
	font-size: 14px;
	color: var(--ivory-300);
}

.dl-diff-item__solve {
	padding-left: 32px;
	border-left: 1px solid var(--gold-line);
}

.dl-diff-item__solve h4 {
	font-size: 20px;
	color: var(--gold-bright);
	margin-bottom: 8px;
}

.dl-diff-item__solve p {
	font-size: 14.5px;
	color: var(--ivory-200);
}

.dl-diff-item__solve strong {
	color: var(--ivory-100);
	font-weight: 500;
}

/* 四阶段办案实操与交付物核验台 (.dl-matrix) */
.dl-matrix {
	border: 1px solid var(--gold-line);
	background:var(--bg-card);
	padding: 36px;
	border-radius: var(--r-sm);
}

.dl-matrix__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 20px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--line-subtle);
	margin-bottom: 28px;
}

.dl-matrix__eyebrow {
	display: block;
	font-family: var(--font-serif);
	font-size: 13px;
	letter-spacing: 0.14em;
	color: var(--gold);
	margin-bottom: 6px;
}

.dl-matrix__header h3 {
	font-size: 24px;
	color: var(--ivory-100);
}

.dl-matrix__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.dl-matrix__tab {
	padding: 9px 16px;
	background: transparent;
	border: 1px solid var(--line-subtle);
	color: var(--ivory-200);
	font-family: var(--font-serif);
	font-synthesis: none;
	font-size: 14px;
	letter-spacing: 0.06em;
	border-radius: var(--r-xs);
	cursor: pointer;
	transition: all 0.18s ease;
}

.dl-matrix__tab:hover {
	border-color: var(--gold-line);
	color: var(--ivory-100);
}

.dl-matrix__tab.is-active {
	background: var(--gold);
	border-color: var(--gold);
	color: var(--bg-deep);
}

.dl-matrix__body {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 40px;
	align-items: start;
}

.dl-matrix__phase-tag {
	font-family: var(--font-en);
	font-size: 13px;
	letter-spacing: 0.14em;
	color: var(--gold);
	margin-bottom: 8px;
}

.dl-matrix__info h4 {
	font-size: 22px;
	color: var(--ivory-100);
	margin-bottom: 12px;
}

.dl-matrix__info p {
	font-size: 14.5px;
	color: var(--ivory-200);
	margin-bottom: 20px;
}

.dl-matrix__nodes {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px 16px;
}

.dl-matrix__nodes span {
	font-size: 13.5px;
	color: var(--gold-bright);
	padding: 8px 12px;
	border: 1px solid var(--line-subtle);
	background:var(--bg-card);
}

.dl-matrix__deliverables {
	border-left: 1px solid var(--gold-line);
	padding-left: 32px;
	display: grid;
	gap: 18px;
}

.dl-deliverable-item {
	padding-bottom: 14px;
	border-bottom: 1px solid var(--line-subtle);
}

.dl-deliverable-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.dl-deliverable-item__label {
	display: block;
	font-size: 12px;
	color: var(--ivory-300);
	letter-spacing: 0.08em;
	margin-bottom: 4px;
}

.dl-deliverable-item__val {
	font-family: var(--font-serif);
	font-weight: 400;
	font-synthesis: none;
	font-size: 16.5px;
	color: var(--gold-bright);
}

/* ==========================================================================
   03 · WORKFLOW 四步标准协作流程（横贯式金线时间轴）
   ========================================================================== */
.dl-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-top: 2px solid var(--gold);
	border-bottom: 1px solid var(--line-subtle);
}

.dl-step {
	padding: 32px 24px 32px 0;
	border-right: 1px solid var(--line-subtle);
	display: flex;
	flex-direction: column;
}

.dl-step:not(:first-child) {
	padding-left: 24px;
}

.dl-step:last-child {
	border-right: none;
}

.dl-step__head {
	margin-bottom: 12px;
}

.dl-step__no {
	font-size: 15px;
	color: var(--gold);
	letter-spacing: 0.1em;
}

.dl-step h3 {
	font-size: 21px;
	color: var(--ivory-100);
	margin-bottom: 10px;
}

.dl-step p {
	font-size: 14px;
	color: var(--ivory-200);
	margin-bottom: 18px;
	flex: 1;
}

.dl-step small {
	display: block;
	padding-top: 12px;
	border-top: 1px dashed var(--gold-line);
	font-size: 12.5px;
	color: var(--gold-bright);
}

/* ==========================================================================
   04 · INTERACTIVE PREP 案情手稿台 (.dl-prep-box)
   ========================================================================== */
.dl-prep-box {
	display: grid;
	grid-template-columns: 1.18fr 0.82fr;
	gap: 44px;
	align-items: stretch;
	border-top: 2px solid var(--gold);
	padding-top: 36px;
}

.dl-prep-group {
	margin-bottom: 24px;
}

.dl-prep-label {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-serif);
	font-size: 16px;
	color: var(--ivory-100);
	margin-bottom: 12px;
}

.dl-prep-label span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border: 1px solid var(--gold);
	color: var(--gold);
	font-size: 13px;
}

.dl-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.dl-chip {
	padding: 8px 16px;
	background: transparent;
	border: 1px solid var(--line-subtle);
	color: var(--ivory-200);
	font-family: var(--font-serif);
	font-synthesis: none;
	font-size: 14.5px;
	border-radius: var(--r-xs);
	cursor: pointer;
	transition: all 0.18s ease;
}

.dl-chip:hover {
	border-color: var(--gold-line);
}

.dl-chip.is-active {
	border-color: var(--gold);
	background: rgba(198, 171, 125, 0.14);
	color: var(--gold-bright);
}

.dl-checkgrid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
}

.dl-checkitem {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	border: 1px solid var(--line-subtle);
	background:var(--bg-card);
	font-size: 13.5px;
	color: var(--ivory-200);
	cursor: pointer;
}

.dl-checkitem input {
	accent-color: var(--gold);
}

.dl-prep-row {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.dl-prep-group textarea {
	width: 100%;
	background:var(--bg-card);
	border: 1px solid var(--gold-line);
	border-radius: var(--r-xs);
	padding: 12px 14px;
	color: var(--ivory-100);
	font-family: inherit;
	font-size: 14px;
	line-height: 1.6;
	resize: vertical;
}

.dl-prep-group textarea:focus {
	outline: none;
	border-color: var(--gold-bright);
}

.dl-prep-preview {
	border: 1px solid var(--gold-line-strong);
	background: var(--bg-lacquer);
	padding: 28px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.dl-prep-preview__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--gold-line);
	margin-bottom: 18px;
}

.dl-prep-preview__head span {
	font-family: var(--font-serif);
	font-size: 15px;
	letter-spacing: 0.12em;
	color: var(--gold);
}

.dl-prep-preview__head small {
	font-size: 12px;
	color: var(--ivory-300);
}

.dl-prep-preview__body {
	white-space: pre-wrap;
	font-size: 15.5px;
	line-height: 1.85;
	color: var(--ivory-100);
	flex: 1;
	margin-bottom: 22px;
}

/* ==========================================================================
   05 · INSIGHTS 实务观察（兼容国内站 .dl-post 与国际站 .dl-post-card）
   ========================================================================== */
.dl-posts-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}

.dl-post,
.dl-post-card {
	border-top: 2px solid var(--gold);
	border-bottom: 1px solid var(--line-subtle);
	padding: 26px 0;
	display: flex;
	flex-direction: column;
}

.dl-post__meta,
.dl-post-card__meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 12px;
	color: var(--gold);
	margin-bottom: 12px;
	letter-spacing: 0.06em;
}

.dl-post__meta em {
	font-style: normal;
}

.dl-post h3,
.dl-post-card__title {
	font-size: 20px;
	line-height: 1.4;
	color: var(--ivory-100);
	margin-bottom: 12px;
}

.dl-post p,
.dl-post-card__excerpt {
	font-size: 14px;
	color: var(--ivory-200);
	margin-bottom: 18px;
	flex: 1;
}

.dl-post__more,
.dl-post-card__more {
	font-family: var(--font-serif);
	font-size: 14px;
	color: var(--gold-bright);
	letter-spacing: 0.06em;
}

/* ==========================================================================
   06 · FAQ 常见疑问（左纲右目细线折页）
   ========================================================================== */
.dl-faq-layout {
	display: grid;
	grid-template-columns: 340px 1fr;
	gap: 60px;
	align-items: start;
}

.dl-faq-head p {
	margin-bottom: 24px;
}

.dl-faq-list {
	border-top: 2px solid var(--gold);
}

.dl-faq-item {
	border-bottom: 1px solid var(--line-subtle);
}

.dl-faq-item summary {
	list-style: none;
	padding: 22px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	font-family: var(--font-serif);
	font-size: 19px;
	color: var(--ivory-100);
}

.dl-faq-item summary::-webkit-details-marker {
	display: none;
}

.dl-faq-item summary i::after {
	content: "+";
	font-family: var(--font-en);
	font-style: normal;
	font-size: 22px;
	color: var(--gold);
}

.dl-faq-item[open] summary i::after {
	content: "−";
}

.dl-faq-item__body {
	padding: 0 0 22px;
	font-size: 14.5px;
	color: var(--ivory-200);
	line-height: 1.8;
}

/* ==========================================================================
   07 · CONTACT 联系与单层碑铭式执业公示（消除 4 层圆角套娃）
   ========================================================================== */
.dl-contact__grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 56px;
	align-items: start;
}

.dl-contact__lead {
	font-size: 15.5px;
	color: var(--ivory-200);
	margin-bottom: 36px;
}

.dl-contact-cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	border-top: 2px solid var(--gold);
	border-left: 1px solid var(--line-subtle);
}

.dl-contact-card {
	padding: 24px;
	border-right: 1px solid var(--line-subtle);
	border-bottom: 1px solid var(--line-subtle);
	background:var(--bg-card);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 10px;
}

.dl-contact-card__label {
	font-size: 12px;
	color: var(--gold);
	letter-spacing: 0.08em;
}

.dl-contact-card__val {
	font-family: var(--font-serif);
	font-weight: 400;
	font-synthesis: none;
	font-size: 20px;
	color: var(--ivory-100);
	word-break: break-all;
}

.dl-contact-card__val--emails {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.dl-email-pill {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	font-family: var(--font-en);
	font-size: 16px;
	color: var(--ivory-100);
}

.dl-email-pill i {
	font-style: normal;
	font-size: 12px;
	color: var(--gold);
	margin-left: 6px;
}

.dl-contact-card__sub,
.dl-address-block__en {
	font-size: 12.5px;
	color: var(--ivory-300);
	display: block;
}

.dl-address-block__main {
	font-family: var(--font-serif);
	font-weight: 400;
	font-synthesis: none;
	font-size: 17px;
	color: var(--ivory-100);
	display: block;
	margin-bottom: 4px;
}

.dl-contact-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 10px;
	border-top: 1px solid var(--line-subtle);
}

.dl-link-btn {
	background: none;
	border: none;
	padding: 0;
	font-family: var(--font-serif);
	font-size: 13.5px;
	color: var(--gold-bright);
	cursor: pointer;
	border-bottom: 1px solid rgba(198, 171, 125, 0.35);
}

.dl-link-btn:hover {
	color: var(--ivory-100);
	border-bottom-color: var(--ivory-100);
}

/* 单层金线碑铭式执业公示栏 (.dl-credential-card) */
.dl-credential-card {
	border-top: 2px solid var(--gold);
	border-bottom: 1px solid var(--gold-line);
	background: var(--bg-lacquer);
	padding: 32px 28px;
}

.dl-credential-card__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--line-subtle);
	margin-bottom: 20px;
}

.dl-credential-card__brand {
	display: flex;
	align-items: center;
	gap: 12px;
}

.dl-logo--card {
	width: 36px;
	height: 36px;
}

.dl-credential-card__brand h3 {
	font-size: 19px;
	color: var(--ivory-100);
}

.dl-credential-card__brand small {
	font-family: var(--font-en);
	font-size: 11px;
	letter-spacing: 0.14em;
	color: var(--gold);
}

.dl-credential-card__badge {
	font-size: 12px;
	color: var(--gold-bright);
	border: 1px solid var(--gold-line);
	padding: 3px 10px;
}

.dl-credential-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px 24px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--line-subtle);
}

.dl-credential-item--full {
	grid-column: 1 / -1;
}

.dl-credential-item--license {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 12px;
	border-top: 1px dashed var(--line-subtle);
}

.dl-credential-item__k {
	display: block;
	font-size: 12px;
	color: var(--ivory-300);
	margin-bottom: 2px;
}

.dl-credential-item__v {
	font-family: var(--font-serif);
	font-weight: 400;
	font-synthesis: none;
	font-size: 17px;
	color: var(--ivory-100);
}

.dl-credential-item__v em {
	display: block;
	font-family: var(--font-en);
	font-style: normal;
	font-size: 11.5px;
	color: var(--ivory-300);
}

.dl-credential-item__code {
	font-family: var(--font-en);
	font-size: 18px;
	color: var(--gold-bright);
	letter-spacing: 0.06em;
}

.dl-credential-copy {
	background: transparent;
	border: 1px solid var(--gold-line);
	color: var(--gold-bright);
	padding: 5px 12px;
	font-family: var(--font-serif);
	font-size: 13px;
	cursor: pointer;
}

.dl-credential-qr-dock {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 22px 0;
	border-bottom: 1px solid var(--line-subtle);
}

.dl-qr-wrap {
	width: 108px;
	height: 108px;
	background: #FFFFFF;
	padding: 6px;
	flex-shrink: 0;
}

.dl-qr-wrap img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.dl-credential-qr-info__tag {
	display: block;
	font-size: 11.5px;
	color: var(--gold);
	letter-spacing: 0.08em;
	margin-bottom: 4px;
}

.dl-credential-qr-info strong {
	display: block;
	font-family: var(--font-serif);
	font-weight: 400;
	font-size: 18px;
	color: var(--ivory-100);
	margin-bottom: 4px;
}

.dl-credential-qr-info p {
	font-size: 13px;
	color: var(--ivory-300);
}

.dl-credential-card__note {
	padding-top: 16px;
	font-size: 12px;
	color: var(--ivory-400);
	line-height: 1.65;
}

/* ==========================================================================
   页脚、返回顶部、移动端底栏与 Toast
   ========================================================================== */
.dl-footer {
	padding: 40px 0 56px;
	background:var(--bg-obsidian);
	border-top: 1px solid var(--gold-line);
	font-size: 13px;
	color: var(--ivory-300);
}

.dl-footer__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--line-subtle);
}

.dl-footer__left,
.dl-footer__right {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

.dl-footer__left strong {
	font-family: var(--font-serif);
	font-weight: 400;
	color: var(--ivory-100);
}

.dl-footer__disclaimer {
	padding-top: 16px;
	font-size: 12px;
	color: var(--ivory-400);
}

.dl-backtop {
	position: fixed;
	right: 28px;
	bottom: 28px;
	width: 44px;
	height: 44px;
	background: var(--bg-lacquer);
	border: 1px solid var(--gold-line);
	color: var(--gold-bright);
	border-radius:var(--r-xs);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
	z-index: 90;
}

.dl-backtop.is-visible {
	opacity: 1;
	pointer-events: auto;
}

.dl-backtop svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transform: rotate(-90deg);
}

.dl-backtop__bg {
	fill: none;
	stroke: transparent;
	stroke-width: 2;
}

.dl-backtop__prog {
	fill: none;
	stroke: var(--gold);
	stroke-width: 2;
	stroke-dasharray: 119.38;
	stroke-dashoffset: 119.38;
}

.dl-mbar {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	height: 56px;
	background:var(--bg-card);
	border-top: 1px solid var(--gold-line);
	z-index: 140;
	grid-template-columns: 1fr 1fr 1.2fr;
}

.dl-mbar__item {
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	border-right: 1px solid var(--line-subtle);
	color: var(--ivory-100);
	font-family: var(--font-serif);
	font-size: 14.5px;
	cursor: pointer;
}

.dl-mbar__item--primary {
	background: var(--gold);
	color: var(--bg-deep);
	border-right: none;
}

.dl-toast {
	position: fixed;
	left: 50%;
	bottom: 76px;
	transform: translateX(-50%) translateY(12px);
	background: var(--bg-lacquer);
	border: 1px solid var(--gold);
	color: var(--ivory-100);
	padding: 10px 22px;
	font-size: 13.5px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
	z-index: 220;
}

.dl-toast.is-shown {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

/* 渐显过渡 */
[data-reveal] {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.55s ease, transform 0.55s ease;
}

[data-reveal].is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* ==========================================================================
   响应式适配（桌面端 / 平板端 / 移动端）
   ========================================================================== */
@media (max-width: 1120px) {
	.dl-nav {
		display: none;
	}
	.dl-burger {
		display: inline-flex;
	}
	.dl-hero__inner,
	.dl-ledger-layout,
	.dl-matrix__body,
	.dl-prep-box,
	.dl-faq-layout,
	.dl-contact__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.dl-ledger-head {
		position: static;
	}
	/* 根治平板端肖像拉伸问题：居中并保持最大宽度 400px */
	.dl-portrait-stage {
		margin: 0 auto;
		max-width: 400px;
	}
	.dl-matrix__deliverables {
		border-left: none;
		padding-left: 0;
		border-top: 1px solid var(--gold-line);
		padding-top: 24px;
	}
	.dl-steps {
		grid-template-columns: repeat(2, 1fr);
	}
	.dl-step:nth-child(2) {
		border-right: none;
	}
	.dl-step:nth-child(3) {
		padding-left: 0;
		border-top: 1px solid var(--line-subtle);
	}
	.dl-step:nth-child(4) {
		border-top: 1px solid var(--line-subtle);
	}
	.dl-posts-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 720px) {
	.dl-wrap {
		padding: 0 20px;
	}
	.dl-section {
		padding: 64px 0;
	}
	.dl-horology-bar {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		margin-bottom: 28px;
	}
	.dl-horology-bar__sep {
		display: none;
	}
	.dl-horology-bar__left,
	.dl-horology-bar__right {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}
	.dl-hero__kicker {
		font-size: 12.5px;
		letter-spacing: 0.08em;
		overflow-wrap: anywhere;
	}
	.dl-hero__cta {
		flex-direction: column;
		align-items: stretch;
	}
	.dl-hero__cta .dl-btn {
		width: 100%;
	}
	.dl-pillars,
	.dl-practice-grid,
	.dl-diff-item,
	.dl-matrix__nodes,
	.dl-steps,
	.dl-checkgrid,
	.dl-prep-row,
	.dl-posts-grid,
	.dl-contact-cards,
	.dl-credential-grid {
		grid-template-columns: 1fr;
	}
	.dl-diff-item__solve {
		padding-left: 0;
		border-left: none;
		padding-top: 16px;
		border-top: 1px dashed var(--gold-line);
	}
	.dl-matrix {
		padding: 24px 18px;
	}
	.dl-step {
		padding: 24px 0 !important;
		border-right: none !important;
		border-bottom: 1px solid var(--line-subtle);
	}
	.dl-dual-clock {
		padding: 16px;
	}
	.dl-dual-clock__row {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	.dl-dual-clock__cell--home {
		text-align: left;
	}
	.dl-dual-clock__mid {
		flex-direction: row;
		gap: 8px;
	}
	.dl-footer {
		padding-bottom: 84px;
	}
	.dl-mbar {
		display: grid;
	}
	.dl-backtop {
		bottom: 72px;
		right: 16px;
	}
}

@media (max-width: 480px) {
	.dl-logo {
		width: 36px;
		height: 36px;
	}
	.dl-brand {
		gap: 10px;
	}
	.dl-brand__text strong {
		font-size: 19px;
	}
	.dl-brand__text em {
		font-size: 9.5px;
		letter-spacing: 0.16em;
	}
	.dl-header__actions .dl-btn--sm {
		padding: 7px 12px;
		font-size: 13px;
	}
}


/* Unified paper folio: structural refinements, including narrow screens. */
html { background:var(--bg-paper); color:var(--ink-900); scroll-padding-top:96px; }
body { background:var(--bg-paper); color:var(--ink-700); line-height:1.9; overflow-x:clip; }
button,input,textarea,select { font:inherit; }
button,a,input,textarea,select { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid var(--cinnabar); outline-offset:4px; }
::selection { background:var(--cinnabar); color:var(--bg-paper); }
h1,h2,h3,h4,h5,strong.dl-brand__text { font-synthesis:none; }
.dl-header { background:rgba(244,239,230,.96); backdrop-filter:none; border-bottom:1px solid var(--line-hair); }
.admin-bar .dl-header { top:32px; }
.dl-logo img { filter:none; }
.dl-brand__text strong { font-size:19px; }
.dl-nav { gap:26px; }
.dl-nav a { font-size:15px; }
.dl-btn--gold,.dl-mbar__item--primary { background:var(--ink-900); color:var(--bg-paper); }
.dl-btn--gold:hover,.dl-mbar__item--primary:hover { background:var(--cinnabar); filter:none; transform:none; }
.dl-btn--ghost,.dl-btn--outline { background:transparent; border-color:var(--line-strong); }
.dl-btn--ghost:hover,.dl-btn--outline:hover { background:var(--bg-paper-alt); }
.dl-burger,.dl-drawer__close { min-height:44px; min-width:44px; }
.dl-drawer { visibility:hidden; background:rgba(23,22,20,.42); backdrop-filter:none; }
.dl-drawer.is-open { visibility:visible; }
.dl-drawer__panel { overflow-y:auto; }
.dl-hero { padding:28px 0 72px; }
.dl-horology-bar { margin-bottom:36px; padding:16px 0; border-top:2px solid var(--ink-900); font-size:12px; }
.dl-horology-bar__tag { color:var(--ink-700); }
.dl-hero__inner { grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:64px; align-items:center; }
.dl-hero__content,.dl-portrait-stage { min-width:0; }
.dl-hero__kicker { color:var(--cinnabar); font-size:12.5px; line-height:1.65; }
.dl-hero__title { font-size:clamp(34px,4.2vw,54px); line-height:1.3; }
.dl-hero__title span { border:0; color:var(--cinnabar); }
.dl-hero__lead { font-size:16px; line-height:1.95; }
.dl-hero__lead strong { font-weight:400; border-bottom:1px solid var(--line-strong); }
.dl-hero__cta { margin-bottom:0; gap:12px; }
.dl-portrait-stage { max-width:380px; }
.dl-portrait-card { padding:12px; background:var(--bg-card); border:1px solid var(--line-strong); box-shadow:none; border-radius:0; }
.dl-portrait-card__frame { background:var(--bg-paper-alt); }
.dl-portrait-card__frame img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.dl-portrait-card__caption { padding:14px 4px 4px; }
.dl-pillars { grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:44px; gap:28px; }
.dl-pillar { min-width:0; }
.dl-pillar__num { font-size:17px; color:var(--ink-900); }
.dl-pillar p { font-size:13px; line-height:1.9; }
.dl-dual-clock { margin-top:32px; margin-bottom:0; background:var(--bg-card); border-top:2px solid var(--ink-900); padding:16px 20px; }
.dl-dual-clock__title { flex-wrap:wrap; gap:4px 12px; }
.dl-dual-clock__title strong { font-weight:400; font-synthesis:none; }
.dl-dual-clock .dls-route { display:none; }
.dl-dual-clock__row { margin-top:10px; }
.dl-dual-clock__time { font-family:var(--font-en); font-size:30px; font-variant-numeric:tabular-nums; }
.dl-section--ivory { background:var(--bg-paper); }
.dl-section--dark { background:var(--bg-paper-alt); }
.dl-section--warm { background:var(--bg-card); }
.dl-section { padding:80px 0; }
.dl-sec-index { font-size:12.5px; color:var(--cinnabar); }
.dl-sec-head h2,.dl-ledger-head h2,.dl-faq-head h2,.dl-contact__main h2 { font-size:clamp(26px,3.2vw,40px); line-height:1.4; }
.dl-sec-head p,.dl-ledger-head p,.dl-faq-head p { font-size:16px; line-height:1.9; }
.dl-practice-grid { grid-template-columns:1fr; border-left:0; border-top-color:var(--ink-900); }
.dl-practice-card { display:grid; grid-template-columns:1fr 1fr; column-gap:28px; padding:28px 0; background:transparent; border-right:0; }
.dl-practice-card__top,.dl-practice-card h3,.dl-practice-card__link { grid-column:1 / -1; }
.dl-practice-card__top { flex-wrap:wrap; gap:8px; }
.dl-practice-card p,.dl-practice-card li { line-height:1.9; }
.dl-practice-card:hover { background:transparent; }
.dl-practice-card__no { color:var(--cinnabar); }
.dl-practice-card__en { color:var(--ink-500); }
.dl-diff-list,.dl-steps,.dl-prep-box,.dl-faq-list,.dl-post,.dl-post-card { border-top-color:var(--ink-900); }
.dl-matrix { background:var(--bg-card); border-radius:0; }
.dl-matrix__tab,.dl-chip { min-height:44px; }
.dl-matrix__tab.is-active { background:var(--ink-900); border-color:var(--ink-900); color:var(--bg-paper); }
.dl-matrix__nodes span,.dl-checkitem { background:var(--bg-paper); }
.dl-chip.is-active { background:var(--bg-paper-alt); color:var(--cinnabar); border-color:var(--cinnabar); }
.dl-prep-group textarea { background:var(--bg-card); font-size:16px; }
.dl-prep-preview { background:var(--bg-card); border-top:2px solid var(--ink-900); }
.dl-prep-preview__head { flex-wrap:wrap; gap:8px; }
.dl-prep-preview__body { overflow-wrap:anywhere; }
.dl-post__meta,.dl-post-card__meta { flex-wrap:wrap; gap:8px; }
.dl-contact-card { background:transparent; }
.dl-contact-card__actions { align-items:center; }
.dl-link-btn { min-height:40px; display:inline-flex; align-items:center; }
.dl-credential-card,.dl-footer { --ivory-100:#F4EFE6; --ivory-200:#EBE4D6; --ivory-300:#C8BFAF; --ivory-400:#C8BFAF; --gold:#C8B08A; --gold-bright:#F4EFE6; --gold-line:rgba(244,239,230,.22); --line-subtle:rgba(244,239,230,.18); background:var(--bg-obsidian); }
.dl-credential-card__head { flex-wrap:wrap; gap:16px; }
.dl-credential-card__brand { min-width:0; }
.dl-credential-card__badge { white-space:nowrap; }
.dl-credential-qr-dock { flex-wrap:wrap; }
.dl-credential-qr-info { flex:1; min-width:150px; }
.dl-footer { color:var(--ivory-300); }
.dl-footer__links { display:flex; flex-wrap:wrap; gap:12px 28px; margin-bottom:24px; color:var(--ivory-100); }
.dl-backtop { border-radius:2px; background:var(--bg-card); }
.dl-backtop svg { display:none; }
.dl-backtop::after { content:'↑'; font-size:22px; }
.dl-mbar { background:var(--bg-paper); height:calc(56px + env(safe-area-inset-bottom)); padding-bottom:env(safe-area-inset-bottom); }
.dl-toast { max-width:calc(100vw - 32px); text-align:center; background:var(--ink-900); color:var(--bg-paper); }
[data-reveal] { opacity:1; transform:none; }
section[id] { scroll-margin-top:96px; }
.hm-folio .dl-header,.hm-folio .dl-footer { font-family:var(--font-sans); }
.hm-folio .dl-footer p { margin:0; }
.hm-folio .dl-header a,.hm-folio .dl-footer a { text-decoration:none; }
.hm-folio .dls-pagehero { border-top:0; }
.hm-folio .dls-pagehero-grid { border-top:2px solid var(--ink-900); padding-top:36px; }
.hm-folio .dls-portrait img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.hm-folio .dls-contact .v { font-family:var(--font-sans); font-size:18px; overflow-wrap:anywhere; }
.hm-contact-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:16px; }
.hm-folio .dls-contact a { color:var(--cinnabar); }
.hm-folio .dls-tags span { border-radius:2px; }
.hm-article { max-width:820px; margin:48px auto 80px; padding:40px; border-top:2px solid var(--ink-900); background:var(--bg-card); }
.hm-article h1 { font-size:clamp(28px,4vw,44px); margin-bottom:28px; }
.hm-article p { margin-bottom:1.5em; }
.hm-article a { color:var(--cinnabar); text-decoration:underline; }
.hm-article img { max-width:100%; height:auto; }
.hm-article ul,.hm-article ol { padding-left:1.5em; list-style:revert; }
@media(min-width:1121px) { .dl-ledger-layout,.dl-faq-layout { grid-template-columns:minmax(0,320px) minmax(0,1fr); gap:64px; } }
@media(max-width:1120px) and (min-width:721px) { .dl-hero__inner { grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:32px; } .dl-hero__title { font-size:clamp(34px,4.2vw,46px); } .dl-pillars { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:720px) {
 .dl-wrap { padding:0 20px; } .dl-hero { padding:24px 0 48px; }
 .dl-hero__inner { display:flex; flex-direction:column; gap:32px; } .dl-hero__content { width:100%; }
 .dl-portrait-stage { max-width:320px; margin:0 auto; }
 .dl-pillars { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 18px; margin-top:32px; }
 .dl-hero__title { font-size:clamp(30px,7.5vw,44px); }
 .dl-horology-bar__right { display:none; } .dl-horology-bar { margin-bottom:24px; }
 .dl-hero__lead { font-size:15.5px; } .dl-header__inner { gap:12px; }
 .dl-header__actions .dl-btn--sm { display:none; }
 .dl-section { padding:56px 0; } .dl-sec-head { margin-bottom:32px; }
 .dl-practice-card { grid-template-columns:1fr; padding:24px 0; }
 .dl-dual-clock__row { grid-template-columns:1fr 1fr; gap:12px; }
 .dl-dual-clock__mid { display:none; } .dl-dual-clock__cell--home { text-align:right; }
 .dl-dual-clock__time { font-size:26px; } .dl-dual-clock__time small { display:block; margin:4px 0 0; }
 .dl-matrix__tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
 .dl-matrix__tab { padding:10px 8px; font-size:13px; }
 .dl-contact-cards { border-left:0; } .dl-contact-card { border-right:0; padding:24px 0; }
 .dl-credential-card { padding:28px 20px; }
 .dl-credential-grid { grid-template-columns:1fr; }
 .dl-credential-qr-dock { gap:16px; }
 .dl-footer { padding-bottom:calc(90px + env(safe-area-inset-bottom)); }
 .hm-article { margin:24px 20px 48px; padding:24px 18px; }
 .admin-bar .dl-header { top:0; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }

/* Final narrow-screen clock and contrast corrections. */
.dl-credential-card .dl-sec-index { color:var(--bronze-lt); }
.hm-folio .dls-pagehero::before { display:none; }
.hm-folio .dls-pagehero-grid { border-top:2px solid var(--ink-900); }
.hm-folio .dls-clock .dls-route text { fill:var(--dls-gold-lt); }
.hm-folio .dls-clock .dls-route .r-globe { stroke:rgba(200,176,138,.25); }
.hm-folio .dls-clock .dls-route .r-path { stroke:var(--dls-gold-lt); }
.hm-folio .dls-clock .dls-route .r-dot,.hm-folio .dls-clock .dls-route .r-plane { fill:var(--dls-gold-lt); }
@media(max-width:600px) {
 .dls-clock-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; }
 .dls-clock-mid { grid-column:1/-1; grid-row:2; padding:8px 0 0; }
 .dls-clock-mid::before { display:none; }
 .dls-clock-time small { display:block; margin:4px 0; }
 .dls-clock-title { font-size:17px; }
}
