/* =========================================================================
   DigiLite — industrial design system
   Graphite + hi-vis orange + signal teal, on a blueprint grid.
   ========================================================================= */

:root {
	/* Ink / structure */
	--dl-ink: #0E1420;
	--dl-ink-2: #16203040;
	--dl-steel: #1A2434;
	--dl-steel-2: #24314A;
	--dl-slate: #47566E;
	--dl-mute: #6E7F98;
	--dl-line: #E1E7EF;
	--dl-line-strong: #CBD5E1;
	--dl-paper: #F5F7FA;
	--dl-paper-2: #EDF1F6;
	--dl-white: #FFFFFF;

	/* Signal */
	--dl-orange: #FF7A00;
	--dl-orange-deep: #E05F00;
	--dl-orange-soft: #FFF1E3;
	--dl-teal: #0FA6A6;
	--dl-teal-soft: #E2F6F5;
	--dl-amber: #FFC24B;
	--dl-red: #E03E3E;

	/* Type */
	--dl-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--dl-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

	/* Rhythm */
	--dl-wrap: 1200px;
	--dl-wrap-narrow: 820px;
	--dl-r: 14px;
	--dl-r-sm: 9px;
	--dl-shadow: 0 1px 2px rgba(14, 20, 32, .05), 0 12px 32px -12px rgba(14, 20, 32, .16);
	--dl-shadow-lg: 0 2px 4px rgba(14, 20, 32, .06), 0 32px 64px -24px rgba(14, 20, 32, .28);
}

/* ---------- reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--dl-sans);
	font-size: 16.5px;
	line-height: 1.65;
	color: var(--dl-steel);
	background: var(--dl-white);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--dl-orange-deep); text-decoration: none; }
a:hover { color: var(--dl-orange); }
h1, h2, h3, h4, h5 {
	font-family: var(--dl-sans);
	color: var(--dl-ink);
	line-height: 1.14;
	letter-spacing: -.021em;
	margin: 0 0 .5em;
	font-weight: 780;
}
h1 { font-size: clamp(2.15rem, 1.35rem + 3.2vw, 3.65rem); }
h2 { font-size: clamp(1.7rem, 1.2rem + 2vw, 2.6rem); }
h3 { font-size: clamp(1.18rem, 1.05rem + .6vw, 1.45rem); }
h4 { font-size: 1.05rem; }
p { margin: 0 0 1.1em; }
ul, ol { margin: 0 0 1.1em; padding-left: 1.25em; }
hr { border: 0; border-top: 1px solid var(--dl-line); margin: 3rem 0; }
blockquote {
	margin: 1.8em 0; padding: .2em 0 .2em 1.4em;
	border-left: 3px solid var(--dl-orange);
	color: var(--dl-slate); font-size: 1.08em;
}
code, kbd, pre { font-family: var(--dl-mono); font-size: .92em; }
code { background: var(--dl-paper-2); padding: .12em .4em; border-radius: 5px; color: var(--dl-steel-2); }
pre { background: var(--dl-ink); color: #DCE5F2; padding: 1.1rem 1.25rem; border-radius: var(--dl-r-sm); overflow-x: auto; }
pre code { background: none; padding: 0; color: inherit; }
table { width: 100%; border-collapse: collapse; margin: 0 0 1.4em; }
th, td { text-align: left; padding: .72rem .9rem; border-bottom: 1px solid var(--dl-line); }
th { font-weight: 700; color: var(--dl-ink); background: var(--dl-paper); }
:focus-visible { outline: 3px solid var(--dl-orange); outline-offset: 2px; border-radius: 4px; }

/* ---------- layout ---------- */
.dl-wrap { width: 100%; max-width: var(--dl-wrap); margin: 0 auto; padding: 0 24px; }
.dl-wrap--narrow { max-width: var(--dl-wrap-narrow); }
.dl-section { padding: clamp(56px, 7vw, 100px) 0; position: relative; }
.dl-section--paper { background: var(--dl-paper); }
.dl-section--ink { background: var(--dl-ink); color: #C4D0E2; }
.dl-section--ink h2, .dl-section--ink h3 { color: #fff; }
.dl-section--tight { padding: clamp(40px, 5vw, 68px) 0; }
.dl-skip {
	position: absolute; left: -9999px; top: 0; z-index: 999;
	background: var(--dl-ink); color: #fff; padding: 12px 18px; border-radius: 0 0 8px 0;
}
.dl-skip:focus { left: 0; color: #fff; }

/* blueprint grid texture */
.dl-grid-bg {
	position: absolute; inset: 0; pointer-events: none; overflow: hidden;
	background-image:
		linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
	background-size: 56px 56px;
	mask-image: radial-gradient(120% 90% at 50% 0%, #000 30%, transparent 78%);
	-webkit-mask-image: radial-gradient(120% 90% at 50% 0%, #000 30%, transparent 78%);
}

/* ---------- type utilities ---------- */
.dl-eyebrow {
	font-family: var(--dl-mono);
	font-size: .74rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
	color: var(--dl-orange); margin: 0 0 .85rem;
	display: inline-flex; align-items: center; gap: .55rem;
}
.dl-eyebrow::before { content: ""; width: 22px; height: 2px; background: var(--dl-orange); display: inline-block; }
.dl-section--ink .dl-eyebrow { color: var(--dl-amber); }
.dl-section--ink .dl-eyebrow::before { background: var(--dl-amber); }
.dl-lead { font-size: 1.15rem; color: var(--dl-slate); }

.dl-sechead { max-width: 860px; margin: 0 0 clamp(30px, 4vw, 52px); }
.dl-sechead--center { margin-left: auto; margin-right: auto; text-align: center; }
.dl-sechead--center .dl-eyebrow { justify-content: center; }
.dl-sechead__title { margin-bottom: .38em; }
.dl-sechead__intro { color: var(--dl-slate); font-size: 1.08rem; margin: 0; }
.dl-section--ink .dl-sechead__intro { color: #9FB0C8; }

/* ---------- buttons ---------- */
.dl-btns { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.dl-btn {
	display: inline-flex; align-items: center; gap: .5rem;
	font-weight: 650; font-size: .97rem; line-height: 1;
	padding: 15px 22px; border-radius: 10px; border: 1.5px solid transparent;
	cursor: pointer; transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
	white-space: nowrap;
}
.dl-btn--primary {
	background: var(--dl-orange); color: #1A0E00;
	box-shadow: 0 10px 24px -10px rgba(255, 122, 0, .75);
}
.dl-btn--primary:hover { background: var(--dl-orange-deep); color: #fff; transform: translateY(-1px); }
.dl-btn--ghost { background: transparent; color: var(--dl-ink); border-color: var(--dl-line-strong); }
.dl-btn--ghost:hover { border-color: var(--dl-ink); color: var(--dl-ink); background: var(--dl-paper); }
.dl-section--ink .dl-btn--ghost, .dl-hero .dl-btn--ghost { color: #fff; border-color: rgba(255, 255, 255, .28); }
.dl-section--ink .dl-btn--ghost:hover, .dl-hero .dl-btn--ghost:hover { background: rgba(255, 255, 255, .09); border-color: rgba(255, 255, 255, .55); color: #fff; }
.dl-btn--sm { padding: 11px 16px; font-size: .9rem; }
.dl-icon { width: 22px; height: 22px; flex: none; }
.dl-icon--sm { width: 16px; height: 16px; }

/* ---------- header ---------- */
.dl-header {
	position: sticky; top: 0; z-index: 60;
	background: rgba(255, 255, 255, .92);
	backdrop-filter: saturate(160%) blur(10px);
	border-bottom: 1px solid var(--dl-line);
}
.dl-header__bar { display: flex; align-items: center; gap: 28px; height: 74px; }
.dl-brand { display: flex; align-items: center; gap: 10px; margin-right: auto; }
.dl-brand svg, .dl-brand img { height: 34px; width: auto; }
.dl-brand__text { font-weight: 800; font-size: 1.28rem; letter-spacing: -.03em; color: var(--dl-ink); }
.dl-brand__text b { color: var(--dl-orange); font-weight: 800; }

.dl-nav ul { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; }
.dl-nav a {
	display: block; padding: 9px 13px; border-radius: 8px;
	color: var(--dl-steel); font-weight: 560; font-size: .95rem;
}
.dl-nav a:hover { background: var(--dl-paper); color: var(--dl-ink); }
.dl-nav .current-menu-item > a,
.dl-nav .current_page_item > a { color: var(--dl-ink); background: var(--dl-paper-2); }
.dl-header__actions { display: flex; align-items: center; gap: 10px; }
.dl-header__phone { display: inline-flex; align-items: center; gap: .45rem; font-weight: 600; color: var(--dl-ink); font-size: .93rem; }
.dl-header__phone:hover { color: var(--dl-orange-deep); }

.dl-burger {
	display: none; background: none; border: 1.5px solid var(--dl-line-strong);
	border-radius: 9px; padding: 9px; color: var(--dl-ink); cursor: pointer;
}
.dl-mobile {
	display: none; border-top: 1px solid var(--dl-line); background: #fff;
	padding: 14px 0 22px;
}
.dl-mobile.is-open { display: block; }
.dl-mobile ul { list-style: none; margin: 0 0 14px; padding: 0; }
.dl-mobile a { display: block; padding: 12px 4px; border-bottom: 1px solid var(--dl-line); color: var(--dl-ink); font-weight: 600; }

@media (max-width: 960px) {
	.dl-nav, .dl-header__phone { display: none; }
	.dl-burger { display: inline-flex; }
}

/* ---------- hero ---------- */
.dl-hero {
	position: relative; overflow: hidden;
	background: radial-gradient(120% 120% at 78% -10%, #22304A 0%, #131C2B 45%, #0B1119 100%);
	color: #C7D3E5; padding: clamp(64px, 8vw, 116px) 0 clamp(56px, 7vw, 96px);
}
.dl-hero h1 { color: #fff; max-width: 15ch; }
.dl-hero__inner { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(28px, 4vw, 60px); align-items: center; }
.dl-hero__sub { font-size: 1.12rem; color: #A9B8CF; max-width: 54ch; margin-bottom: 1.8rem; }
.dl-hero__meta {
	display: flex; flex-wrap: wrap; gap: 10px 26px; margin-top: 26px;
	font-size: .88rem; color: #8FA0BA;
}
.dl-hero__meta span { display: inline-flex; align-items: center; gap: .45rem; }
.dl-hero__meta svg { color: var(--dl-teal); }

/* hero chain panel */
.dl-chain {
	background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 18px; padding: 22px; backdrop-filter: blur(4px);
}
.dl-chain__head {
	display: flex; justify-content: space-between; align-items: baseline;
	font-family: var(--dl-mono); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase;
	color: #7F91AC; margin-bottom: 16px; padding-bottom: 12px;
	border-bottom: 1px dashed rgba(255, 255, 255, .14);
}
.dl-chain__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.dl-chain__item {
	display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 12px;
	padding: 9px 10px; border-radius: 8px; transition: background .2s ease;
}
.dl-chain__item:hover { background: rgba(255, 255, 255, .05); }
.dl-chain__n { font-family: var(--dl-mono); font-size: .74rem; color: var(--dl-orange); }
.dl-chain__label { color: #DCE5F2; font-weight: 560; font-size: .96rem; }
.dl-chain__dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(255, 255, 255, .18); }
.dl-chain__item:nth-child(-n+4) .dl-chain__dot { background: var(--dl-teal); }
.dl-chain__item:last-child .dl-chain__dot { background: var(--dl-orange); box-shadow: 0 0 0 4px rgba(255, 122, 0, .18); }

@media (max-width: 900px) {
	.dl-hero__inner { grid-template-columns: 1fr; }
	.dl-hero h1 { max-width: none; }
}

/* ---------- logo strip / stats ---------- */
.dl-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--dl-line); border-radius: var(--dl-r); overflow: hidden; }
.dl-stats > div { background: #fff; padding: 26px 22px; }
.dl-stats__n { font-family: var(--dl-mono); font-size: 1.9rem; font-weight: 600; color: var(--dl-ink); line-height: 1; margin-bottom: .35rem; }
.dl-stats__l { font-size: .88rem; color: var(--dl-mute); margin: 0; }
@media (max-width: 760px) { .dl-stats { grid-template-columns: repeat(2, 1fr); } }

/* ---------- flow chain ---------- */
.dl-flow {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-wrap: wrap; gap: 8px; align-items: stretch;
}
.dl-flow { gap: 8px 20px; }
.dl-flow__step {
	display: flex; align-items: center; gap: 9px;
	background: #fff; border: 1px solid var(--dl-line);
	border-radius: 999px; padding: 9px 16px 9px 12px;
	font-size: .9rem; font-weight: 600; color: var(--dl-steel-2);
	position: relative;
}
.dl-flow__n { font-family: var(--dl-mono); font-size: .7rem; color: var(--dl-orange); }
.dl-flow__step:not(:last-child)::after {
	content: ""; position: absolute; right: -15px; top: 50%;
	width: 7px; height: 7px; margin-top: -4px;
	border-top: 1.7px solid var(--dl-line-strong); border-right: 1.7px solid var(--dl-line-strong);
	transform: rotate(45deg);
}
.dl-section--ink .dl-flow__step:not(:last-child)::after { border-color: rgba(255, 255, 255, .3); }
.dl-section--paper .dl-flow__step { background: #fff; }
.dl-section--ink .dl-flow__step { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .12); color: #D6E0EF; }
.dl-flow--master .dl-flow__step { font-size: .95rem; padding: 11px 18px 11px 14px; }

/* ---------- cards ---------- */
.dl-cards { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); }
.dl-cards--2 { grid-template-columns: repeat(2, 1fr); }
.dl-cards--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1000px) { .dl-cards, .dl-cards--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .dl-cards, .dl-cards--2, .dl-cards--4 { grid-template-columns: 1fr; } }

.dl-card {
	position: relative; background: #fff; border: 1px solid var(--dl-line);
	border-radius: var(--dl-r); padding: 26px 24px 24px;
	display: flex; flex-direction: column; gap: .35rem;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.dl-card::before {
	content: ""; position: absolute; left: 24px; right: 24px; top: 0; height: 2px;
	background: var(--dl-orange); border-radius: 2px; opacity: 0; transition: opacity .2s ease;
}
.dl-card--link:hover { transform: translateY(-3px); box-shadow: var(--dl-shadow); border-color: var(--dl-line-strong); }
.dl-card--link:hover::before { opacity: 1; }
.dl-card__icon {
	width: 46px; height: 46px; border-radius: 11px;
	display: grid; place-items: center; margin-bottom: 14px;
	background: var(--dl-orange-soft); color: var(--dl-orange-deep);
	border: 1px solid #FFE0C4;
}
.dl-card__title { font-size: 1.12rem; margin: 0 0 .3rem; color: var(--dl-ink); }
.dl-card__text { color: var(--dl-slate); font-size: .95rem; margin: 0; }
.dl-card__more {
	margin-top: auto; padding-top: 16px; display: inline-flex; align-items: center; gap: .4rem;
	font-size: .87rem; font-weight: 650; color: var(--dl-orange-deep);
}
.dl-card--link:hover .dl-card__more svg { transform: translateX(3px); }
.dl-card__more svg { transition: transform .18s ease; }
.dl-section--paper .dl-card { border-color: #DFE6EF; }

.dl-chip {
	align-self: flex-start; margin-top: 10px;
	font-family: var(--dl-mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase;
	padding: 4px 9px; border-radius: 5px; font-weight: 600;
	background: var(--dl-paper-2); color: var(--dl-mute);
}
.dl-chip--manufacturing { background: var(--dl-teal-soft); color: #07716F; }
.dl-chip--enterprise { background: #EEE9FF; color: #5B3FCB; }
.dl-chip--business { background: var(--dl-orange-soft); color: var(--dl-orange-deep); }

/* feature card, flat variant */
.dl-feat { display: flex; gap: 16px; padding: 22px 0; border-top: 1px solid var(--dl-line); }
.dl-feat__icon { width: 42px; height: 42px; flex: none; border-radius: 10px; display: grid; place-items: center; background: var(--dl-ink); color: var(--dl-amber); }
.dl-feat h3 { font-size: 1.08rem; margin: 0 0 .3rem; }
.dl-feat p { margin: 0; color: var(--dl-slate); font-size: .96rem; }
.dl-section--ink .dl-feat { border-color: rgba(255, 255, 255, .1); }
.dl-section--ink .dl-feat p { color: #93A4BE; }
.dl-section--ink .dl-feat__icon { background: rgba(255, 255, 255, .07); }

/* ---------- checklist ---------- */
.dl-check { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.dl-check li { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; font-size: .98rem; color: var(--dl-steel-2); }
.dl-check svg { width: 20px; height: 20px; color: var(--dl-teal); margin-top: 2px; }
.dl-check--2 { grid-template-columns: 1fr 1fr; gap: 12px 32px; }
@media (max-width: 700px) { .dl-check--2 { grid-template-columns: 1fr; } }

/* ---------- editions ---------- */
.dl-editions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: start; }
@media (max-width: 960px) { .dl-editions { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; } }
.dl-edition {
	background: #fff; border: 1px solid var(--dl-line); border-radius: 18px;
	padding: 30px 28px; display: flex; flex-direction: column; height: 100%;
}
.dl-edition--featured {
	border-color: var(--dl-ink); box-shadow: var(--dl-shadow-lg);
	position: relative; background: var(--dl-ink); color: #B9C6DA;
}
.dl-edition--featured h3 { color: #fff; }
.dl-edition--featured .dl-edition__for { color: var(--dl-amber); }
.dl-edition--featured .dl-check li { color: #C6D2E4; }
.dl-edition--featured .dl-check svg { color: var(--dl-amber); }
.dl-edition__badge {
	position: absolute; top: -13px; left: 28px;
	background: var(--dl-orange); color: #1A0E00; font-size: .7rem; font-weight: 700;
	letter-spacing: .09em; text-transform: uppercase; padding: 6px 12px; border-radius: 999px;
	font-family: var(--dl-mono);
}
.dl-edition__for {
	font-family: var(--dl-mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase;
	color: var(--dl-orange-deep); margin: 0 0 .5rem;
}
.dl-edition h3 { font-size: 1.4rem; margin: 0 0 .45rem; }
.dl-edition__blurb { font-size: .96rem; color: var(--dl-slate); margin: 0 0 20px; }
.dl-edition--featured .dl-edition__blurb { color: #9FB0C8; }
.dl-edition .dl-check { margin-bottom: 26px; }
.dl-edition .dl-btn { margin-top: auto; justify-content: center; }
.dl-edition--featured .dl-btn--ghost { color: #fff; border-color: rgba(255, 255, 255, .3); }

.dl-pricing-note {
	margin-top: 26px; padding: 20px 24px; border-radius: var(--dl-r);
	background: var(--dl-orange-soft); border: 1px solid #FFE0C4; color: #6B3A05;
	font-size: .96rem;
}
.dl-pricing-note strong { color: #4A2703; }

/* ---------- comparison table ---------- */
.dl-compare { overflow-x: auto; border: 1px solid var(--dl-line); border-radius: var(--dl-r); background: #fff; }
.dl-compare table { margin: 0; min-width: 640px; }
.dl-compare th:first-child, .dl-compare td:first-child { position: sticky; left: 0; background: #fff; font-weight: 600; color: var(--dl-ink); }
.dl-compare th { white-space: nowrap; font-size: .9rem; }
.dl-compare td { font-size: .93rem; }
.dl-compare .yes { color: var(--dl-teal); font-weight: 700; }
.dl-compare .no { color: var(--dl-line-strong); }

/* ---------- FAQ ---------- */
.dl-faq { max-width: 820px; margin: 0 auto; border-top: 1px solid var(--dl-line); }
.dl-faq__item { border-bottom: 1px solid var(--dl-line); }
.dl-faq__q {
	width: 100%; text-align: left; background: none; border: 0; cursor: pointer;
	padding: 22px 44px 22px 0; font-size: 1.06rem; font-weight: 650; color: var(--dl-ink);
	position: relative; font-family: inherit; line-height: 1.4;
}
.dl-faq__q::after {
	content: ""; position: absolute; right: 8px; top: 50%; width: 10px; height: 10px;
	border-right: 2px solid var(--dl-orange); border-bottom: 2px solid var(--dl-orange);
	transform: translateY(-70%) rotate(45deg); transition: transform .22s ease;
}
.dl-faq__item.is-open .dl-faq__q::after { transform: translateY(-30%) rotate(225deg); }
.dl-faq__a { display: none; padding: 0 20px 22px 0; color: var(--dl-slate); }
.dl-faq__item.is-open .dl-faq__a { display: block; }

/* ---------- banner ---------- */
.dl-banner {
	position: relative; overflow: hidden;
	background: linear-gradient(160deg, #1B2537 0%, #0D141F 100%);
	color: #B6C4D9; padding: clamp(44px, 5.5vw, 76px) 0 clamp(38px, 5vw, 60px);
}
.dl-banner__title { color: #fff; margin: 0; max-width: 20ch; }
.dl-banner__sub { color: #99AAC4; font-size: 1.1rem; max-width: 62ch; margin: 1rem 0 0; }
.dl-crumbs {
	display: flex; flex-wrap: wrap; gap: .5rem; align-items: center;
	font-size: .82rem; color: #7C8DA8; margin-bottom: 1.1rem;
	font-family: var(--dl-mono);
}
.dl-crumbs a { color: #9FB0C8; }
.dl-crumbs a:hover { color: var(--dl-amber); }
.dl-crumbs__here { color: #6E80A0; }

/* ---------- CTA band ---------- */
.dl-ctaband { background: var(--dl-ink); color: #B6C4D9; padding: clamp(44px, 5vw, 70px) 0; }
.dl-ctaband__inner { display: flex; gap: 32px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.dl-ctaband__title { color: #fff; margin: 0 0 .4rem; font-size: clamp(1.5rem, 1.1rem + 1.5vw, 2.05rem); }
.dl-ctaband__sub { margin: 0; color: #93A4BE; max-width: 52ch; }
.dl-ctaband__actions { display: flex; flex-direction: column; gap: 14px; }
.dl-ctaband__meta { display: flex; gap: 18px; flex-wrap: wrap; margin: 0; font-size: .88rem; }
.dl-ctaband__meta a { color: #9FB0C8; display: inline-flex; align-items: center; gap: .4rem; }
.dl-ctaband__meta a:hover { color: var(--dl-amber); }

/* ---------- forms ---------- */
.dl-form { background: #fff; border: 1px solid var(--dl-line); border-radius: 18px; padding: 30px 28px; box-shadow: var(--dl-shadow); }
.dl-form__title { font-size: 1.42rem; margin: 0 0 .35rem; }
.dl-form__intro { color: var(--dl-slate); margin: 0 0 22px; font-size: .97rem; }
.dl-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 560px) { .dl-form__row { grid-template-columns: 1fr; } }
.dl-field { display: block; margin-bottom: 14px; }
.dl-field > span { display: block; font-size: .86rem; font-weight: 600; color: var(--dl-steel-2); margin-bottom: 6px; }
.dl-field em { color: var(--dl-orange-deep); font-style: normal; }
.dl-field input, .dl-field select, .dl-field textarea, .dl-search input[type="search"] {
	width: 100%; font: inherit; font-size: .97rem; color: var(--dl-ink);
	padding: 12px 14px; border: 1.5px solid var(--dl-line-strong); border-radius: 10px;
	background: #fff; transition: border-color .16s ease, box-shadow .16s ease;
}
.dl-field textarea { resize: vertical; min-height: 96px; }
.dl-field input:focus, .dl-field select:focus, .dl-field textarea:focus {
	border-color: var(--dl-orange); box-shadow: 0 0 0 4px rgba(255, 122, 0, .13); outline: none;
}
.dl-form__submit { width: 100%; justify-content: center; margin-top: 6px; }
.dl-form__note { font-size: .82rem; color: var(--dl-mute); text-align: center; margin: 12px 0 0; }
.dl-form__status { margin: 12px 0 0; font-size: .92rem; text-align: center; font-weight: 600; }
.dl-form__status.is-ok { color: #07716F; }
.dl-form__status.is-err { color: var(--dl-red); }
.dl-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dl-form.is-busy { opacity: .65; pointer-events: none; }

/* ---------- contact ---------- */
.dl-contact { display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(28px, 4vw, 56px); align-items: start; }
@media (max-width: 900px) { .dl-contact { grid-template-columns: 1fr; } }
.dl-contact__list { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 18px; }
.dl-contact__list li { display: grid; grid-template-columns: 42px 1fr; gap: 14px; align-items: start; }
.dl-contact__list .dl-card__icon { margin: 0; width: 42px; height: 42px; }
.dl-contact__list strong { display: block; color: var(--dl-ink); font-size: .96rem; }
.dl-contact__list span, .dl-contact__list a { color: var(--dl-slate); font-size: .95rem; }

/* ---------- blog ---------- */
.dl-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 1000px) { .dl-posts { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .dl-posts { grid-template-columns: 1fr; } }
.dl-post { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--dl-line); border-radius: var(--dl-r); overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.dl-post:hover { transform: translateY(-3px); box-shadow: var(--dl-shadow); }
.dl-post__thumb { aspect-ratio: 16 / 9; background: var(--dl-paper-2); overflow: hidden; }
.dl-post__thumb img { width: 100%; height: 100%; object-fit: cover; }
.dl-post__body { padding: 20px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.dl-post__meta { font-family: var(--dl-mono); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--dl-mute); margin: 0 0 .6rem; }
.dl-post__title { font-size: 1.12rem; margin: 0 0 .5rem; line-height: 1.3; }
.dl-post__title a { color: var(--dl-ink); }
.dl-post__title a:hover { color: var(--dl-orange-deep); }
.dl-post__ex { color: var(--dl-slate); font-size: .94rem; margin: 0 0 1rem; }
.dl-post__more { margin-top: auto; font-size: .86rem; font-weight: 650; color: var(--dl-orange-deep); display: inline-flex; align-items: center; gap: .4rem; }

.dl-single { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(28px, 4vw, 56px); align-items: start; }
@media (max-width: 980px) { .dl-single { grid-template-columns: 1fr; } }
body.dl-no-sidebar .dl-single { grid-template-columns: minmax(0, 1fr); max-width: 820px; margin: 0 auto; }
.dl-entry { font-size: 1.06rem; }
.dl-entry > h2 { margin-top: 2.1em; }
.dl-entry > h3 { margin-top: 1.7em; }
.dl-entry img { border-radius: var(--dl-r-sm); }
.dl-entry ul li, .dl-entry ol li { margin-bottom: .45em; }
.dl-entry figure { margin: 1.8em 0; }
.dl-sidebar .widget { background: var(--dl-paper); border: 1px solid var(--dl-line); border-radius: var(--dl-r); padding: 22px; margin-bottom: 20px; }
.dl-sidebar .widget-title { font-size: 1rem; margin: 0 0 .8rem; }
.dl-sidebar ul { list-style: none; padding: 0; margin: 0; }
.dl-sidebar li { padding: 7px 0; border-bottom: 1px solid var(--dl-line); font-size: .94rem; }
.dl-sidebar li:last-child { border-bottom: 0; }

.dl-pagination { display: flex; gap: 8px; justify-content: center; margin-top: 44px; flex-wrap: wrap; }
.dl-pagination .page-numbers {
	display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px;
	border: 1px solid var(--dl-line); border-radius: 9px; color: var(--dl-steel); font-weight: 600; font-size: .93rem;
}
.dl-pagination .page-numbers:hover { border-color: var(--dl-ink); color: var(--dl-ink); }
.dl-pagination .current { background: var(--dl-ink); border-color: var(--dl-ink); color: #fff; }

/* ---------- single module / industry ---------- */
.dl-detail { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(28px, 4vw, 56px); align-items: start; }
@media (max-width: 980px) { .dl-detail { grid-template-columns: 1fr; } }
.dl-aside { position: sticky; top: 100px; display: grid; gap: 18px; }
.dl-aside__box { background: var(--dl-paper); border: 1px solid var(--dl-line); border-radius: var(--dl-r); padding: 24px; }
.dl-aside__box h3 { font-size: 1.04rem; margin: 0 0 .8rem; }
.dl-aside__box ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 2px; }
.dl-aside__box li a { display: flex; align-items: center; gap: .55rem; padding: 8px 10px; border-radius: 8px; color: var(--dl-steel); font-size: .93rem; font-weight: 560; }
.dl-aside__box li a:hover { background: #fff; color: var(--dl-ink); }
.dl-aside__box li a svg { width: 18px; height: 18px; color: var(--dl-mute); }
.dl-aside__box li.is-current a { background: #fff; color: var(--dl-ink); box-shadow: inset 2px 0 0 var(--dl-orange); }
.dl-aside__cta { background: var(--dl-ink); color: #B6C4D9; border-color: var(--dl-ink); }
.dl-aside__cta h3 { color: #fff; }
.dl-aside__cta p { font-size: .93rem; color: #93A4BE; }
.dl-aside__cta .dl-btn { width: 100%; justify-content: center; }

.dl-block { margin-bottom: clamp(36px, 4vw, 56px); }
.dl-block > h2 { font-size: 1.5rem; margin-bottom: .9rem; }

/* ---------- 404 / search ---------- */
.dl-empty { text-align: center; padding: clamp(50px, 8vw, 110px) 0; }
.dl-empty h1 { margin-bottom: .4em; }
.dl-empty p { color: var(--dl-slate); max-width: 52ch; margin: 0 auto 1.8em; }
.dl-search { display: flex; gap: 8px; max-width: 460px; margin: 0 auto; }
.dl-search input[type="search"] { flex: 1; }

/* ---------- footer ---------- */
.dl-footer { background: var(--dl-ink); color: #8FA0BA; padding: clamp(46px, 5vw, 72px) 0 30px; font-size: .93rem; }
.dl-footer a { color: #B6C4D9; }
.dl-footer a:hover { color: var(--dl-amber); }
.dl-footer__grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 34px; }
@media (max-width: 900px) { .dl-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .dl-footer__grid { grid-template-columns: 1fr; } }
.dl-footer h4 { color: #fff; font-size: .82rem; letter-spacing: .13em; text-transform: uppercase; font-family: var(--dl-mono); font-weight: 600; margin: 0 0 1.1rem; }
.dl-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 9px; }
.dl-brand--footer { margin: 0 0 16px; }
.dl-brand--footer .dl-brand__text { color: #fff; }
.dl-footer__about { max-width: 34ch; margin: 0 0 18px; }
.dl-footer__contact { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dl-footer__contact li { display: flex; gap: .55rem; align-items: flex-start; }
.dl-footer__contact svg { width: 17px; height: 17px; color: var(--dl-orange); margin-top: 3px; flex: none; }
.dl-footer__bottom {
	margin-top: 42px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .1);
	display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: .86rem;
}
.dl-footer__bottom ul { display: flex; gap: 18px; }

/* ---------- reveal ---------- */
.reveal { opacity: 0; transform: translateY(14px); transition: opacity .5s ease, transform .5s ease; }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.reveal { opacity: 1; transform: none; transition: none; }
	html { scroll-behavior: auto; }
	* { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}
.no-js .reveal { opacity: 1; transform: none; }

/* ---------- wp core ---------- */
.alignleft { float: left; margin: .4em 1.6em 1em 0; }
.alignright { float: right; margin: .4em 0 1em 1.6em; }
.aligncenter { margin-left: auto; margin-right: auto; display: block; }
.alignwide { width: min(1100px, 100%); margin-left: auto; margin-right: auto; }
.alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); }
.wp-caption-text, figcaption { font-size: .85rem; color: var(--dl-mute); text-align: center; margin-top: .6em; }
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; overflow: hidden; position: absolute !important; word-wrap: normal !important;
}
.sticky, .bypostauthor { display: block; }
.dl-admin-note { background: var(--dl-orange-soft); border: 1px solid #FFD9B8; color: #6B3A05; padding: 14px 18px; border-radius: var(--dl-r-sm); font-size: .92rem; }
