/*
Theme Name: Digital Signage Blog
Theme URI: https://www.digitalsignageblog.com/
Author: Advertise Me - Digital Solutions Partner
Author URI: https://advertiseme.com.au
Description: Custom editorial and commerce theme for Digital Signage Blog.
Version: 1.0.0
License: GNU General Public License version 3.0
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: digital-signage-blog
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 8.1
*/

:root {
	--dsb-ink: #101418;
	--dsb-panel: #151b22;
	--dsb-panel-2: #202832;
	--dsb-muted: #586572;
	--dsb-soft: #f4f7fa;
	--dsb-soft-2: #eaf0f6;
	--dsb-line: #dfe6ee;
	--dsb-blue: #004e97;
	--dsb-blue-2: #007bee;
	--dsb-cyan: #20b8ff;
	--dsb-red: #c90000;
	--dsb-orange: #e19126;
	--dsb-white: #ffffff;
	--dsb-radius: 8px;
	--dsb-wrap: 1180px;
	--dsb-shadow: 0 18px 45px rgba(16, 20, 24, 0.12);
	--dsb-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--dsb-white);
	color: var(--dsb-ink);
	font-family: var(--dsb-font);
	font-size: 16px;
	line-height: 1.65;
	letter-spacing: 0;
	text-rendering: optimizeLegibility;
}

img,
svg,
video,
iframe {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--dsb-blue);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

a:hover,
a:focus {
	color: var(--dsb-red);
}

:focus-visible {
	outline: 3px solid rgba(32, 184, 255, 0.55);
	outline-offset: 3px;
}

p {
	margin: 0 0 1.25rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.75rem;
	color: var(--dsb-ink);
	font-family: var(--dsb-font);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: 0;
}

h1 {
	font-size: clamp(2.1rem, 4vw, 4.3rem);
}

h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.55rem);
}

h3 {
	font-size: clamp(1.25rem, 2vw, 1.75rem);
}

ul,
ol {
	margin: 0 0 1.5rem 1.3rem;
	padding: 0;
}

button,
input,
select,
textarea {
	font: inherit;
}

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

.dsb-wrap {
	width: min(var(--dsb-wrap), calc(100% - 40px));
	margin: 0 auto;
}

.dsb-narrow {
	width: min(760px, calc(100% - 40px));
	margin: 0 auto;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(255, 255, 255, 0.97);
	border-bottom: 1px solid var(--dsb-line);
	backdrop-filter: blur(8px);
}

.site-header__bar {
	display: grid;
	grid-template-columns: minmax(180px, 310px) minmax(0, 1fr) auto;
	align-items: center;
	gap: 24px;
	padding: 18px 0;
}

.site-branding {
	display: inline-flex;
	align-items: center;
	min-width: 0;
}

.site-branding img {
	display: block;
	width: min(250px, 58vw);
	height: auto;
}

.site-branding__text {
	display: block;
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1.1;
	text-decoration: none;
}

.site-nav {
	min-width: 0;
}

.site-nav ul {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-nav li {
	position: relative;
	margin: 0;
}

.site-nav a {
	display: flex;
	align-items: center;
	min-height: 42px;
	padding: 9px 12px;
	border-radius: var(--dsb-radius);
	color: var(--dsb-ink);
	font-size: 0.92rem;
	font-weight: 750;
	line-height: 1.2;
	text-decoration: none;
}

.site-nav a:hover,
.site-nav a:focus,
.site-nav .current-menu-item > a,
.site-nav .current-menu-ancestor > a {
	background: var(--dsb-soft);
	color: var(--dsb-blue);
}

.site-nav .sub-menu {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	display: grid;
	min-width: 240px;
	padding: 8px;
	background: var(--dsb-white);
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
	box-shadow: var(--dsb-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.site-nav li:hover > .sub-menu,
.site-nav li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.site-nav .sub-menu a {
	justify-content: flex-start;
	min-height: 38px;
	white-space: nowrap;
}

.site-tools {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
}

.menu-toggle,
.search-toggle {
	display: none;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	color: var(--dsb-ink);
	cursor: pointer;
}

.menu-toggle span,
.search-toggle span {
	display: block;
	width: 18px;
	height: 2px;
	margin: 4px auto;
	background: currentColor;
}

.search-toggle::before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	margin: 11px auto 0;
	border: 2px solid currentColor;
	border-radius: 50%;
}

.search-toggle::after {
	content: "";
	display: block;
	width: 8px;
	height: 2px;
	margin: -1px 0 0 25px;
	background: currentColor;
	transform: rotate(45deg);
}

.header-search {
	display: flex;
	align-items: center;
	gap: 8px;
	width: min(320px, 100%);
	padding: 4px;
	background: var(--dsb-soft);
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
}

.header-search input[type="search"] {
	width: 100%;
	min-width: 0;
	border: 0;
	background: transparent;
	color: var(--dsb-ink);
	padding: 8px 10px;
	outline: 0;
}

.header-search button {
	min-height: 34px;
	padding: 0 12px;
	border: 0;
	border-radius: 6px;
	background: var(--dsb-blue);
	color: var(--dsb-white);
	font-weight: 800;
	cursor: pointer;
}

.dsb-button,
.button,
button.button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 11px 18px;
	border: 1px solid var(--dsb-blue);
	border-radius: var(--dsb-radius);
	background: var(--dsb-blue);
	color: var(--dsb-white);
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: transform 140ms ease, background 140ms ease, border-color 140ms ease;
}

.dsb-button:hover,
.button:hover,
button.button:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background: var(--dsb-red);
	border-color: var(--dsb-red);
	color: var(--dsb-white);
	transform: translateY(-1px);
}

.dsb-button--red {
	background: var(--dsb-red);
	border-color: var(--dsb-red);
}

.dsb-button--ghost {
	background: transparent;
	color: var(--dsb-blue);
}

.dsb-button--ghost:hover {
	background: var(--dsb-blue);
	border-color: var(--dsb-blue);
	color: var(--dsb-white);
}

.site-main {
	min-height: 55vh;
}

.dsb-hero {
	background: var(--dsb-panel);
	color: var(--dsb-white);
	border-bottom: 6px solid var(--dsb-blue);
}

.dsb-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.75fr);
	gap: 32px;
	align-items: stretch;
	padding: clamp(34px, 6vw, 72px) 0;
}

.dsb-hero h1,
.dsb-hero h2,
.dsb-hero h3,
.dsb-hero p {
	color: var(--dsb-white);
}

.dsb-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px;
	color: var(--dsb-cyan);
	font-weight: 850;
}

.dsb-hero__eyebrow::before {
	content: "";
	width: 42px;
	height: 3px;
	background: var(--dsb-cyan);
}

.dsb-hero__lead {
	margin-top: 22px;
	font-size: clamp(1rem, 1.6vw, 1.22rem);
	color: rgba(255, 255, 255, 0.82);
}

.dsb-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.dsb-hero__story {
	display: grid;
	grid-template-rows: minmax(210px, 1fr) auto;
	overflow: hidden;
	background: var(--dsb-white);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--dsb-radius);
	box-shadow: var(--dsb-shadow);
}

.dsb-hero__story img,
.dsb-hero__story .dsb-image-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 230px;
	object-fit: cover;
	background: linear-gradient(135deg, var(--dsb-blue), var(--dsb-panel-2));
}

.dsb-hero__story-body {
	padding: 20px;
}

.dsb-hero__story-body h2 {
	margin-bottom: 8px;
	font-size: clamp(1.25rem, 2vw, 1.85rem);
}

.dsb-hero__story-body h2 a {
	color: var(--dsb-ink);
	text-decoration: none;
}

.dsb-hero__story-body p {
	color: var(--dsb-muted);
}

.dsb-section {
	padding: clamp(42px, 6vw, 82px) 0;
}

.dsb-section--soft {
	background: var(--dsb-soft);
}

.dsb-section--dark {
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.dsb-section--dark h2,
.dsb-section--dark h3,
.dsb-section--dark p {
	color: var(--dsb-white);
}

.dsb-section__head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 26px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--dsb-line);
}

.dsb-section__head p {
	max-width: 620px;
	margin: 0;
	color: var(--dsb-muted);
}

.dsb-kicker {
	display: inline-flex;
	align-items: center;
	color: var(--dsb-blue);
	font-size: 0.78rem;
	font-weight: 850;
	text-decoration: none;
}

.dsb-kicker::before {
	content: "";
	display: inline-block;
	width: 9px;
	height: 9px;
	margin-right: 8px;
	background: var(--dsb-red);
	border-radius: 50%;
}

.dsb-grid {
	display: grid;
	gap: 24px;
}

.dsb-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dsb-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dsb-grid--mixed {
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
}

.dsb-card {
	display: grid;
	grid-template-rows: auto 1fr;
	background: var(--dsb-white);
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
	overflow: hidden;
}

.dsb-card__media {
	display: block;
	aspect-ratio: 16 / 10;
	background: var(--dsb-soft-2);
	overflow: hidden;
}

.dsb-card__media img,
.dsb-card__media .dsb-image-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 220ms ease;
}

.dsb-card:hover .dsb-card__media img {
	transform: scale(1.025);
}

.dsb-image-placeholder {
	background:
		linear-gradient(90deg, rgba(0, 78, 151, 0.16) 1px, transparent 1px),
		linear-gradient(0deg, rgba(0, 78, 151, 0.12) 1px, transparent 1px),
		var(--dsb-soft-2);
	background-size: 24px 24px;
}

.dsb-card__body {
	padding: 20px;
}

.dsb-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
	color: var(--dsb-muted);
	font-size: 0.82rem;
}

.dsb-card__title {
	margin-bottom: 10px;
	font-size: clamp(1.08rem, 1.6vw, 1.45rem);
}

.dsb-card__title a {
	color: var(--dsb-ink);
	text-decoration: none;
}

.dsb-card__title a:hover,
.dsb-card__title a:focus {
	color: var(--dsb-blue);
}

.dsb-card p {
	margin-bottom: 0;
	color: var(--dsb-muted);
}

.dsb-card--feature {
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.85fr);
	grid-template-rows: auto;
}

.dsb-card--feature .dsb-card__media {
	min-height: 100%;
	aspect-ratio: auto;
}

.dsb-card--feature .dsb-card__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(24px, 4vw, 44px);
}

.dsb-link-panel {
	padding: 24px;
	background: var(--dsb-panel);
	border-radius: var(--dsb-radius);
	color: var(--dsb-white);
}

.dsb-link-panel h3,
.dsb-link-panel p {
	color: var(--dsb-white);
}

.dsb-link-panel a {
	color: var(--dsb-white);
}

.dsb-topic-list {
	display: grid;
	gap: 10px;
	margin: 0;
	list-style: none;
}

.dsb-topic-list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 13px 14px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--dsb-radius);
	color: var(--dsb-white);
	text-decoration: none;
}

.dsb-topic-list a:hover,
.dsb-topic-list a:focus {
	background: var(--dsb-blue);
	color: var(--dsb-white);
}

.dsb-product-route {
	display: grid;
	gap: 16px;
	padding: 20px;
	background: var(--dsb-white);
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
	text-decoration: none;
	color: var(--dsb-ink);
}

.dsb-product-route strong {
	display: block;
	font-size: 1.05rem;
}

.dsb-product-route span {
	color: var(--dsb-muted);
}

.dsb-product-route:hover,
.dsb-product-route:focus {
	border-color: var(--dsb-blue-2);
	box-shadow: 0 12px 30px rgba(0, 78, 151, 0.12);
	color: var(--dsb-ink);
}

.page-hero {
	padding: clamp(36px, 6vw, 70px) 0;
	background: var(--dsb-soft);
	border-bottom: 1px solid var(--dsb-line);
}

.page-hero p {
	max-width: 760px;
	color: var(--dsb-muted);
	font-size: 1.1rem;
}

.entry-content,
.comment-content {
	color: var(--dsb-ink);
}

.entry-content > * {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}

.entry-content > .alignwide {
	max-width: var(--dsb-wrap);
}

.entry-content > .alignfull {
	max-width: none;
}

.entry-content h2,
.entry-content h3 {
	margin-top: 2.25rem;
}

.entry-content .heading {
	position: relative;
	padding-top: 1rem;
	border-top: 3px solid var(--dsb-blue);
}

.entry-content .note {
	padding: 18px 20px;
	background: #fff9c0;
	border: 1px solid rgba(225, 145, 38, 0.35);
	border-radius: var(--dsb-radius);
	color: var(--dsb-ink);
}

.entry-content .list {
	margin-left: auto;
	margin-right: auto;
	padding: 20px 24px 20px 42px;
	background: var(--dsb-soft);
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
}

.entry-content a {
	font-weight: 700;
}

.entry-content blockquote {
	padding: 22px 26px;
	border-left: 5px solid var(--dsb-blue);
	background: var(--dsb-soft);
	border-radius: 0 var(--dsb-radius) var(--dsb-radius) 0;
	font-size: 1.15rem;
}

.entry-content img {
	border-radius: var(--dsb-radius);
}

.entry-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 2rem auto;
}

.entry-content th,
.entry-content td {
	padding: 12px;
	border: 1px solid var(--dsb-line);
	text-align: left;
}

.article-shell {
	padding: clamp(36px, 6vw, 80px) 0;
}

.article-header {
	width: min(960px, calc(100% - 40px));
	margin: 0 auto 30px;
}

.article-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	margin-bottom: 14px;
	color: var(--dsb-muted);
	font-size: 0.92rem;
}

.article-featured {
	width: min(1120px, calc(100% - 40px));
	margin: 0 auto 34px;
}

.article-featured img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 8;
	object-fit: cover;
	border-radius: var(--dsb-radius);
}

.post-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	width: min(760px, calc(100% - 40px));
	margin: 34px auto 0;
}

.post-tags a {
	padding: 7px 10px;
	background: var(--dsb-soft);
	border: 1px solid var(--dsb-line);
	border-radius: 999px;
	color: var(--dsb-muted);
	font-size: 0.88rem;
	text-decoration: none;
}

.archive-layout {
	padding: clamp(34px, 5vw, 68px) 0;
}

.archive-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.pagination,
.woocommerce-pagination {
	display: flex;
	justify-content: center;
	margin-top: 34px;
}

.nav-links,
.woocommerce-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	min-height: 42px;
	padding: 8px 12px;
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	color: var(--dsb-ink);
	text-decoration: none;
}

.page-numbers.current,
.page-numbers:hover {
	background: var(--dsb-blue);
	border-color: var(--dsb-blue);
	color: var(--dsb-white);
}

.site-footer {
	background: var(--dsb-panel);
	color: rgba(255, 255, 255, 0.82);
}

.site-footer a {
	color: var(--dsb-white);
}

.site-footer__grid {
	display: grid;
	grid-template-columns: 1fr 1.35fr 0.8fr;
	gap: 34px;
	padding: clamp(40px, 6vw, 72px) 0;
}

.site-footer h2,
.site-footer h3 {
	color: var(--dsb-white);
	font-size: 1.05rem;
}

.site-footer .search-form {
	margin-top: 18px;
}

.dsb-link-list {
	display: grid;
	gap: 14px;
	margin: 0;
	list-style: none;
}

.dsb-link-list li {
	display: grid;
	gap: 2px;
}

.dsb-link-list a {
	text-decoration: none;
}

.dsb-link-list time {
	color: rgba(255, 255, 255, 0.58);
	font-size: 0.85rem;
}

.dsb-social-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	list-style: none;
}

.dsb-social-links a {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 8px 12px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--dsb-radius);
	text-decoration: none;
}

.dsb-social-links a:hover {
	background: var(--dsb-blue);
	color: var(--dsb-white);
}

.site-footer__copyright {
	padding: 18px 20px;
	background: #0c1015;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.9rem;
	text-align: center;
}

.search-form {
	display: flex;
	gap: 8px;
}

.search-form label {
	flex: 1;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="password"],
input[type="search"],
input[type="number"],
select,
textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	width: 100%;
	min-height: 46px;
	padding: 11px 12px;
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	color: var(--dsb-ink);
	box-shadow: none;
}

textarea {
	min-height: 150px;
	resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--dsb-blue-2);
	outline: 3px solid rgba(32, 184, 255, 0.22);
}

label,
.woocommerce form .form-row label {
	display: block;
	margin-bottom: 6px;
	color: var(--dsb-ink);
	font-weight: 750;
}

.newsletter,
.tnp,
.wpcf7,
.comment-form,
.woocommerce form.checkout,
.woocommerce form.login,
.woocommerce form.register {
	padding: 24px;
	background: var(--dsb-soft);
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
}

.wpcf7 form,
.wpcf7-form {
	display: grid;
	gap: 16px;
}

.wpcf7-not-valid-tip {
	margin-top: 6px;
	color: var(--dsb-red);
	font-size: 0.9rem;
}

.comment-list {
	display: grid;
	gap: 18px;
	margin-left: 0;
	list-style: none;
}

.comment-list .comment-body {
	padding: 18px;
	background: var(--dsb-soft);
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
}

.woocommerce .woocommerce-breadcrumb {
	margin: 24px 0;
	color: var(--dsb-muted);
	font-size: 0.9rem;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	margin-bottom: 24px;
}

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 28px 0 0;
	padding: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	background: var(--dsb-white);
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
	overflow: hidden;
}

.woocommerce ul.products li.product a img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	margin: 0;
	background: var(--dsb-soft-2);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button {
	margin-left: 18px;
	margin-right: 18px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 18px 0 0;
	color: var(--dsb-ink);
	font-size: 1.05rem;
	line-height: 1.25;
}

.woocommerce ul.products li.product .price {
	color: var(--dsb-blue);
	font-weight: 850;
}

.woocommerce ul.products li.product .button {
	margin-bottom: 18px;
}

.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1fr);
	gap: 42px;
	align-items: start;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	float: none;
	width: auto;
	margin: 0;
}

.woocommerce div.product div.images img {
	border-radius: var(--dsb-radius);
	background: var(--dsb-soft);
}

.woocommerce div.product .product_title {
	font-size: clamp(2rem, 4vw, 3.6rem);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--dsb-blue);
	font-size: 1.4rem;
	font-weight: 850;
}

.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	margin-top: 24px;
	padding: 18px;
	background: var(--dsb-soft);
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
}

.woocommerce .quantity .qty {
	width: 88px;
}

.woocommerce div.product .woocommerce-tabs {
	grid-column: 1 / -1;
	padding-top: 34px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 24px;
	padding: 0;
	border: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 10px 14px;
	color: var(--dsb-ink);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: var(--dsb-blue);
	border-color: var(--dsb-blue);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--dsb-white);
}

.woocommerce table.shop_table {
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
	overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 14px;
	border-color: var(--dsb-line);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top-color: var(--dsb-blue);
	background: var(--dsb-soft);
	color: var(--dsb-ink);
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--dsb-blue);
}

.woocommerce-error::before {
	color: var(--dsb-red);
}

.mockups-page {
	background: var(--dsb-soft);
}

.mockups-hero {
	border-bottom: 1px solid var(--dsb-line);
	background: rgba(255, 255, 255, 0.9);
}

.mockup-board {
	display: grid;
	gap: 34px;
	padding: 48px 0 72px;
}

.mockup-showcase {
	display: grid;
	grid-template-columns: minmax(240px, 0.38fr) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 48px);
	align-items: center;
	padding: clamp(22px, 4vw, 38px);
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 24px 70px rgba(16, 20, 24, 0.1);
}

.mockup-showcase:nth-child(even) {
	grid-template-columns: minmax(0, 1fr) minmax(240px, 0.38fr);
}

.mockup-showcase:nth-child(even) .mockup-copy {
	order: 2;
}

.mockup-copy {
	align-self: center;
}

.mockup-copy h2 {
	margin-bottom: 14px;
	font-size: clamp(1.7rem, 2.5vw, 2.65rem);
}

.mockup-copy p {
	color: var(--dsb-muted);
	font-size: 1.02rem;
}

.mockup-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.mockup-tags li {
	padding: 7px 10px;
	border: 1px solid var(--dsb-line);
	border-radius: 999px;
	background: var(--dsb-soft);
	color: var(--dsb-panel);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}

.mock-home {
	min-height: 500px;
	padding: 18px;
	border: 1px solid rgba(16, 20, 24, 0.14);
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.65);
	overflow: hidden;
}

.mock-home h3 {
	margin: 0;
	color: inherit;
	font-size: clamp(1.25rem, 2vw, 2.15rem);
	line-height: 1.08;
}

.mock-topbar,
.wire-masthead,
.case-header {
	display: flex;
	align-items: center;
	gap: 18px;
	min-height: 58px;
	padding: 10px 14px;
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
}

.mock-topbar img,
.wire-masthead img,
.case-header img,
.screen-cell--brand img,
.manual-shell aside img {
	display: block;
	width: 150px;
	max-height: 38px;
	object-fit: contain;
	object-position: left center;
}

.mock-topbar span,
.wire-masthead div,
.case-header span {
	color: var(--dsb-muted);
	font-size: 0.75rem;
	font-weight: 900;
	text-transform: uppercase;
}

.mock-topbar--compact {
	justify-content: space-between;
}

.mock-photo {
	min-height: 170px;
	border-radius: var(--dsb-radius);
	background-color: var(--dsb-panel);
	background-position: center;
	background-size: cover;
}

.mock-home--signal {
	display: grid;
	grid-template-rows: auto 1fr auto;
	gap: 14px;
	background: var(--dsb-soft);
}

.signal-desk {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(220px, 0.8fr);
	gap: 14px;
	min-height: 330px;
}

.signal-lead {
	display: grid;
	align-content: end;
	gap: 14px;
	padding: 18px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.signal-lead span,
.wire-lead span,
.case-file span,
.manual-hero span {
	color: var(--dsb-cyan);
	font-size: 0.75rem;
	font-weight: 900;
	text-transform: uppercase;
}

.signal-console {
	display: grid;
	gap: 10px;
}

.signal-console div {
	display: grid;
	align-content: start;
	gap: 6px;
	padding: 16px;
	border-left: 5px solid var(--dsb-blue);
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
}

.signal-console strong {
	font-size: 0.95rem;
}

.signal-console span {
	color: var(--dsb-muted);
	font-size: 0.84rem;
	line-height: 1.35;
}

.signal-rails {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

.signal-rails span {
	min-height: 58px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	border: 1px solid var(--dsb-line);
	box-shadow: inset 0 -18px 0 var(--dsb-soft-2);
}

.mock-home--atlas {
	display: grid;
	grid-template-rows: auto 1fr;
	gap: 14px;
	background: #edf5fb;
}

.atlas-layout {
	display: grid;
	grid-template-columns: minmax(160px, 0.32fr) minmax(0, 1fr);
	gap: 14px;
	min-height: 390px;
}

.atlas-layout aside {
	display: grid;
	align-content: start;
	gap: 10px;
	padding: 18px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.atlas-layout aside strong {
	margin-bottom: 6px;
	color: var(--dsb-cyan);
	font-size: 0.78rem;
	text-transform: uppercase;
}

.atlas-layout aside span {
	padding: 10px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	font-weight: 800;
}

.atlas-products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.atlas-hero {
	grid-column: 1 / -1;
	display: grid;
	align-content: end;
	min-height: 150px;
	padding: 18px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-blue);
	color: var(--dsb-white);
}

.atlas-hero p {
	margin: 8px 0 0;
	color: rgba(255, 255, 255, 0.78);
}

.atlas-tile {
	display: grid;
	align-content: space-between;
	min-height: 105px;
	padding: 14px;
	border: 1px solid rgba(0, 78, 151, 0.22);
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	color: var(--dsb-panel);
	font-weight: 900;
}

.atlas-tile span {
	width: 42px;
	height: 8px;
	background: var(--dsb-red);
}

.mock-home--wire {
	display: grid;
	grid-template-rows: auto auto 1fr;
	gap: 12px;
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.wire-masthead {
	background: var(--dsb-white);
}

.wire-strip {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
}

.wire-strip span {
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--dsb-radius);
	color: var(--dsb-white);
	font-size: 0.76rem;
	font-weight: 900;
	text-align: center;
	text-transform: uppercase;
}

.wire-board {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(160px, 0.85fr) minmax(130px, 0.55fr);
	gap: 12px;
}

.wire-lead {
	display: grid;
	align-content: end;
	gap: 12px;
	min-height: 310px;
	padding: 18px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-blue);
}

.wire-list {
	display: grid;
	gap: 8px;
}

.wire-list span {
	border-radius: var(--dsb-radius);
	background: rgba(255, 255, 255, 0.11);
}

.wire-calendar {
	display: grid;
	align-content: start;
	gap: 10px;
	padding: 14px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	color: var(--dsb-panel);
}

.wire-calendar strong {
	color: var(--dsb-red);
	font-size: 0.8rem;
	text-transform: uppercase;
}

.wire-calendar span {
	padding: 12px 0;
	border-bottom: 1px solid var(--dsb-line);
	font-weight: 800;
}

.mock-home--case {
	display: grid;
	grid-template-rows: auto 1fr;
	gap: 14px;
	background: #fff8ef;
}

.case-layout {
	display: grid;
	grid-template-columns: minmax(140px, 0.28fr) minmax(0, 1fr) minmax(150px, 0.35fr);
	gap: 12px;
	min-height: 390px;
}

.case-tabs {
	display: grid;
	gap: 10px;
}

.case-tabs span {
	display: grid;
	align-items: center;
	padding: 12px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	border: 1px solid var(--dsb-line);
	font-weight: 900;
}

.case-tabs span:first-child {
	background: var(--dsb-red);
	color: var(--dsb-white);
	border-color: var(--dsb-red);
}

.case-file {
	display: grid;
	align-content: end;
	gap: 12px;
	padding: 22px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.case-file p {
	max-width: 34rem;
	margin: 0;
	color: rgba(255, 255, 255, 0.74);
}

.case-proof {
	display: grid;
	align-content: start;
	gap: 12px;
	padding: 14px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
}

.case-proof strong {
	color: var(--dsb-blue);
	font-size: 0.78rem;
	text-transform: uppercase;
}

.case-proof span {
	min-height: 72px;
	border-left: 5px solid var(--dsb-orange);
	border-radius: var(--dsb-radius);
	background: var(--dsb-soft);
}

.mock-home--screen {
	padding: 14px;
	background: var(--dsb-panel);
}

.screen-wall {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	grid-auto-rows: 86px;
	gap: 9px;
	min-height: 472px;
}

.screen-cell {
	display: grid;
	align-items: end;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 6px;
	background: var(--dsb-white);
	color: var(--dsb-panel);
	font-size: 0.85rem;
	font-weight: 900;
	line-height: 1.15;
}

.screen-cell--brand {
	grid-column: span 2;
	grid-row: span 1;
	align-items: center;
}

.screen-cell--image {
	grid-column: span 3;
	grid-row: span 2;
	background-color: var(--dsb-blue);
	background-position: center;
	background-size: cover;
}

.screen-cell--dark {
	grid-column: span 1;
	grid-row: span 2;
	background: var(--dsb-blue);
	color: var(--dsb-white);
}

.screen-cell--wide {
	grid-column: span 3;
	background: var(--dsb-cyan);
	color: var(--dsb-panel);
}

.screen-cell--red {
	grid-column: span 2;
	background: var(--dsb-red);
	color: var(--dsb-white);
}

.screen-cell--tall {
	grid-column: span 2;
	grid-row: span 2;
	background: var(--dsb-soft-2);
}

.mock-home--manual {
	background: var(--dsb-soft);
}

.manual-shell {
	display: grid;
	grid-template-columns: minmax(150px, 0.32fr) minmax(0, 1fr);
	gap: 14px;
	min-height: 464px;
}

.manual-shell aside {
	display: grid;
	align-content: start;
	gap: 12px;
	padding: 18px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	border: 1px solid var(--dsb-line);
}

.manual-shell aside img {
	width: 136px;
	margin-bottom: 14px;
}

.manual-shell aside span {
	padding: 10px 0;
	border-bottom: 1px solid var(--dsb-line);
	font-weight: 900;
}

.manual-main {
	display: grid;
	grid-template-rows: auto auto 1fr;
	gap: 12px;
}

.manual-hero {
	display: grid;
	align-content: end;
	min-height: 190px;
	padding: 22px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.manual-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
}

.manual-steps div {
	padding: 12px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	border: 1px solid var(--dsb-line);
	font-size: 0.82rem;
	font-weight: 900;
}

.manual-table {
	display: grid;
	gap: 8px;
}

.manual-table span {
	min-height: 44px;
	border-left: 5px solid var(--dsb-blue);
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
}

.mock-home--venue {
	display: grid;
	grid-template-rows: 1fr auto auto;
	gap: 12px;
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.venue-stage {
	display: grid;
	align-content: space-between;
	min-height: 300px;
	padding: 18px;
	border-radius: var(--dsb-radius);
	background-color: var(--dsb-blue);
	background-position: center;
	background-size: cover;
	position: relative;
	overflow: hidden;
}

.venue-stage::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(16, 20, 24, 0.58);
}

.venue-logo,
.venue-copy {
	position: relative;
	z-index: 1;
}

.venue-logo {
	display: inline-flex;
	width: max-content;
	padding: 10px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
}

.venue-logo img,
.retail-header img,
.insight-shell header img,
.vendor-search img,
.learning-brand img,
.brief-paper header img,
.notes-cover img,
.control-header img,
.exchange-board header img,
.launch-hero img {
	display: block;
	width: 150px;
	max-height: 38px;
	object-fit: contain;
	object-position: left center;
}

.venue-copy {
	display: grid;
	gap: 10px;
	max-width: 520px;
}

.venue-copy span,
.retail-promo span,
.launch-hero span {
	color: var(--dsb-cyan);
	font-size: 0.75rem;
	font-weight: 900;
	text-transform: uppercase;
}

.venue-strip {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
}

.venue-strip div,
.retail-metrics div,
.launch-stack div {
	padding: 12px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	color: var(--dsb-panel);
	font-weight: 900;
	text-align: center;
}

.venue-agenda {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr 1fr 0.6fr;
	gap: 8px;
}

.venue-agenda span {
	min-height: 54px;
	border-radius: var(--dsb-radius);
	background: rgba(255, 255, 255, 0.13);
}

.mock-home--retail {
	display: grid;
	grid-template-rows: auto 1fr;
	gap: 12px;
	background: #f8f1e8;
}

.retail-header,
.control-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 14px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	border: 1px solid var(--dsb-line);
}

.retail-header span,
.control-header span {
	color: var(--dsb-muted);
	font-size: 0.75rem;
	font-weight: 900;
	text-transform: uppercase;
}

.retail-loop {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(150px, 0.34fr);
	grid-template-rows: 1fr auto;
	gap: 12px;
	min-height: 390px;
}

.retail-promo {
	display: grid;
	align-content: end;
	gap: 12px;
	padding: 22px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-red);
	color: var(--dsb-white);
}

.retail-aisle {
	display: grid;
	gap: 10px;
}

.retail-aisle span {
	display: grid;
	align-items: center;
	padding: 14px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	border-left: 6px solid var(--dsb-blue);
	font-weight: 900;
}

.retail-metrics {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

.mock-home--insight {
	background: var(--dsb-white);
}

.insight-shell {
	display: grid;
	grid-template-rows: auto 1fr;
	gap: 12px;
	min-height: 464px;
}

.insight-shell header,
.brief-paper header,
.exchange-board header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 12px 14px;
	border-bottom: 1px solid var(--dsb-line);
}

.insight-shell header span,
.brief-paper header span,
.exchange-board header span {
	color: var(--dsb-muted);
	font-size: 0.75rem;
	font-weight: 900;
	text-transform: uppercase;
}

.insight-grid {
	display: grid;
	grid-template-columns: 0.8fr 1.2fr 1fr;
	grid-auto-rows: minmax(118px, auto);
	gap: 12px;
}

.insight-score,
.insight-chart,
.insight-card,
.insight-wide {
	border-radius: var(--dsb-radius);
	background: var(--dsb-soft);
	border: 1px solid var(--dsb-line);
}

.insight-score {
	display: grid;
	align-content: center;
	justify-items: center;
	color: var(--dsb-blue);
}

.insight-score strong {
	font-size: 3.4rem;
	line-height: 1;
}

.insight-score span,
.insight-card,
.insight-wide {
	color: var(--dsb-panel);
	font-weight: 900;
}

.insight-chart {
	display: flex;
	align-items: end;
	gap: 10px;
	padding: 18px;
	background: var(--dsb-panel);
}

.insight-chart span {
	flex: 1;
	min-height: 36px;
	background: var(--dsb-cyan);
}

.insight-chart span:nth-child(2) { min-height: 84px; }
.insight-chart span:nth-child(3) { min-height: 58px; }
.insight-chart span:nth-child(4) { min-height: 120px; }
.insight-chart span:nth-child(5) { min-height: 96px; }

.insight-card,
.insight-wide {
	display: grid;
	align-items: end;
	padding: 16px;
}

.insight-wide {
	grid-column: 1 / -1;
	background: var(--dsb-blue);
	color: var(--dsb-white);
}

.mock-home--vendor {
	display: grid;
	grid-template-rows: auto 1fr;
	gap: 12px;
	background: #eef3f5;
}

.vendor-search {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 14px;
	align-items: center;
	padding: 12px 14px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	border: 1px solid var(--dsb-line);
}

.vendor-search div {
	padding: 12px 14px;
	border-radius: 999px;
	background: var(--dsb-soft);
	color: var(--dsb-muted);
	font-weight: 800;
}

.vendor-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(190px, 0.75fr);
	grid-template-rows: 1fr auto;
	gap: 12px;
	min-height: 390px;
}

.vendor-map {
	display: grid;
	grid-template-columns: 1fr 0.7fr;
	gap: 12px;
	padding: 18px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-panel);
}

.vendor-map span {
	border-radius: var(--dsb-radius);
	background: var(--dsb-blue);
}

.vendor-map span:nth-child(2) {
	background: var(--dsb-cyan);
}

.vendor-map span:nth-child(3) {
	grid-column: 1 / -1;
	min-height: 90px;
	background: var(--dsb-white);
}

.vendor-list {
	display: grid;
	gap: 10px;
}

.vendor-list div {
	padding: 14px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	border: 1px solid var(--dsb-line);
	font-weight: 900;
}

.vendor-compare {
	grid-column: 1 / -1;
	padding: 16px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-red);
	color: var(--dsb-white);
	font-weight: 900;
	text-align: center;
}

.mock-home--learning {
	display: grid;
	grid-template-rows: 1fr auto;
	gap: 12px;
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.learning-player {
	display: grid;
	align-content: space-between;
	min-height: 330px;
	padding: 18px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-blue);
}

.learning-brand {
	display: inline-flex;
	width: max-content;
	padding: 10px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
}

.learning-play {
	display: grid;
	place-items: center;
	width: 70px;
	height: 70px;
	border: 2px solid rgba(255, 255, 255, 0.76);
	border-radius: 50%;
	color: var(--dsb-white);
	font-size: 0.74rem;
	font-weight: 900;
	text-transform: uppercase;
}

.learning-lessons {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
}

.learning-lessons div {
	padding: 12px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	color: var(--dsb-panel);
	font-size: 0.82rem;
	font-weight: 900;
}

.mock-home--brief {
	background: #f5f7f9;
}

.brief-paper {
	display: grid;
	grid-template-rows: auto auto 1fr auto;
	gap: 18px;
	min-height: 464px;
	padding: 18px;
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
}

.brief-title {
	max-width: 620px;
}

.brief-title h3 {
	color: var(--dsb-panel);
	font-size: clamp(1.45rem, 2.4vw, 2.5rem);
}

.brief-columns {
	display: grid;
	grid-template-columns: 1.2fr 0.9fr 0.9fr;
	gap: 12px;
}

.brief-columns span {
	min-height: 150px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-soft);
	border-top: 5px solid var(--dsb-blue);
}

.brief-actions {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

.brief-actions div {
	padding: 12px;
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
	color: var(--dsb-muted);
	font-weight: 900;
	text-align: center;
}

.mock-home--notes {
	background: #f7f2e9;
}

.notes-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: 14px;
	min-height: 464px;
}

.notes-cover {
	display: grid;
	align-items: start;
	padding: 18px;
	border-radius: var(--dsb-radius);
	background-color: var(--dsb-panel);
	background-position: center;
	background-size: cover;
}

.notes-cover img {
	width: 150px;
	padding: 10px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
}

.notes-story {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: 24px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
}

.notes-story span {
	color: var(--dsb-red);
	font-size: 0.75rem;
	font-weight: 900;
	text-transform: uppercase;
}

.notes-lines {
	display: grid;
	gap: 9px;
}

.notes-lines i {
	display: block;
	height: 10px;
	background: var(--dsb-soft-2);
}

.notes-lines i:nth-child(2) { width: 86%; }
.notes-lines i:nth-child(3) { width: 72%; }
.notes-lines i:nth-child(4) { width: 54%; }

.mock-home--control {
	display: grid;
	grid-template-rows: auto 1fr;
	gap: 12px;
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.control-grid {
	display: grid;
	grid-template-columns: 0.8fr 1.2fr 0.8fr;
	grid-auto-rows: minmax(130px, auto);
	gap: 12px;
}

.control-status,
.control-panel,
.control-alerts,
.control-log {
	border-radius: var(--dsb-radius);
	background: rgba(255, 255, 255, 0.1);
}

.control-status {
	display: grid;
	place-items: center;
	background: var(--dsb-cyan);
	color: var(--dsb-panel);
	font-size: 1.5rem;
	font-weight: 900;
	text-transform: uppercase;
}

.control-panel {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	padding: 16px;
}

.control-panel span {
	border-radius: var(--dsb-radius);
	background: var(--dsb-blue);
}

.control-alerts {
	display: grid;
	align-content: start;
	gap: 10px;
	padding: 16px;
}

.control-alerts strong {
	color: var(--dsb-cyan);
	text-transform: uppercase;
}

.control-alerts span {
	min-height: 46px;
	border-left: 5px solid var(--dsb-red);
	background: rgba(255, 255, 255, 0.12);
}

.control-log {
	grid-column: 1 / -1;
	display: grid;
	gap: 8px;
	padding: 14px;
}

.control-log span {
	min-height: 22px;
	background: rgba(255, 255, 255, 0.13);
}

.mock-home--exchange {
	background: #edf6f8;
}

.exchange-board {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(170px, 0.38fr);
	grid-template-rows: auto 1fr auto;
	gap: 12px;
	min-height: 464px;
}

.exchange-board header {
	grid-column: 1 / -1;
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
}

.exchange-question {
	display: grid;
	align-content: end;
	padding: 22px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-blue);
	color: var(--dsb-white);
}

.exchange-replies {
	display: grid;
	gap: 10px;
}

.exchange-replies span {
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	border-left: 6px solid var(--dsb-cyan);
}

.exchange-side {
	grid-row: 2 / span 2;
	display: grid;
	gap: 10px;
}

.exchange-side div {
	display: grid;
	align-items: end;
	padding: 14px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	border: 1px solid var(--dsb-line);
	font-weight: 900;
}

.mock-home--launch {
	display: grid;
	grid-template-rows: 1fr auto auto;
	gap: 12px;
	background: #f4f7fb;
}

.launch-hero {
	display: grid;
	align-content: end;
	gap: 12px;
	min-height: 300px;
	padding: 22px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.launch-hero img {
	width: 150px;
	padding: 10px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
}

.launch-stack {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

.launch-timeline {
	display: grid;
	grid-template-columns: 0.8fr 1.2fr 0.7fr 1fr;
	gap: 8px;
}

.launch-timeline span {
	min-height: 46px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	border-bottom: 5px solid var(--dsb-red);
}

@media (max-width: 1100px) {
	.site-header__bar {
		grid-template-columns: 1fr auto auto;
	}

	.menu-toggle,
	.search-toggle {
		display: inline-block;
	}

	.site-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		display: none;
		padding: 14px 20px 20px;
		background: var(--dsb-white);
		border-bottom: 1px solid var(--dsb-line);
		box-shadow: var(--dsb-shadow);
	}

	body.nav-open .site-nav {
		display: block;
	}

	.site-nav ul {
		display: grid;
		justify-content: stretch;
		gap: 4px;
	}

	.site-nav .sub-menu {
		position: static;
		display: grid;
		min-width: 0;
		margin: 4px 0 8px 14px;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.header-search {
		position: absolute;
		top: calc(100% + 10px);
		right: 20px;
		display: none;
		width: min(360px, calc(100vw - 40px));
		box-shadow: var(--dsb-shadow);
	}

	body.search-open .header-search {
		display: flex;
	}
}

@media (max-width: 900px) {
	.dsb-hero__grid,
	.dsb-grid--mixed,
	.dsb-card--feature,
	.woocommerce div.product,
	.site-footer__grid,
	.mockup-showcase,
	.mockup-showcase:nth-child(even),
	.signal-desk,
	.atlas-layout,
	.case-layout,
	.manual-shell,
	.retail-loop,
	.vendor-layout,
	.notes-layout,
	.exchange-board {
		grid-template-columns: 1fr;
	}

	.mockup-showcase:nth-child(even) .mockup-copy {
		order: 0;
	}

	.mock-home,
	.signal-desk,
	.atlas-layout,
	.case-layout,
	.manual-shell,
	.venue-stage,
	.retail-loop,
	.insight-shell,
	.vendor-layout,
	.learning-player,
	.brief-paper,
	.notes-layout,
	.control-grid,
	.exchange-board,
	.launch-hero {
		min-height: 0;
	}

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

	.wire-board {
		grid-template-columns: 1fr 1fr;
	}

	.wire-lead {
		grid-column: 1 / -1;
		min-height: 220px;
	}

	.screen-wall {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.screen-cell,
	.screen-cell--brand,
	.screen-cell--image,
	.screen-cell--dark,
	.screen-cell--wide,
	.screen-cell--red,
	.screen-cell--tall {
		grid-column: auto;
		grid-row: auto;
		min-height: 92px;
	}

	.dsb-grid--3,
	.dsb-grid--4,
	.archive-grid,
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dsb-section__head {
		display: grid;
		align-items: start;
	}
}

@media (max-width: 640px) {
	.dsb-wrap,
	.dsb-narrow,
	.article-header,
	.article-featured,
	.post-tags {
		width: min(100% - 28px, var(--dsb-wrap));
	}

	.site-header__bar {
		gap: 10px;
		padding: 12px 0;
	}

	.mockup-showcase {
		padding: 18px;
	}

	.mock-home {
		padding: 12px;
	}

	.mock-topbar,
	.wire-masthead,
	.case-header {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	.mock-topbar img,
	.wire-masthead img,
	.case-header img {
		width: 132px;
	}

	.signal-rails,
	.atlas-products,
	.wire-strip,
	.manual-steps,
	.venue-strip,
	.venue-agenda,
	.retail-metrics,
	.insight-grid,
	.vendor-search,
	.vendor-map,
	.learning-lessons,
	.brief-columns,
	.brief-actions,
	.control-grid,
	.launch-stack,
	.launch-timeline {
		grid-template-columns: 1fr;
	}

	.wire-board,
	.case-layout,
	.retail-loop,
	.vendor-layout,
	.notes-layout,
	.exchange-board {
		grid-template-columns: 1fr;
	}

	.exchange-side {
		grid-row: auto;
	}

	.insight-wide,
	.vendor-compare,
	.exchange-board header,
	.control-log {
		grid-column: auto;
	}

	.retail-header,
	.control-header,
	.insight-shell header,
	.brief-paper header,
	.exchange-board header {
		align-items: flex-start;
		flex-direction: column;
	}

	.screen-wall {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: auto;
	}

	.site-branding img {
		width: min(210px, 54vw);
	}

	.dsb-grid--3,
	.dsb-grid--4,
	.archive-grid,
	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}

	.dsb-hero__actions,
	.search-form,
	.woocommerce div.product form.cart {
		display: grid;
	}

	.dsb-button,
	.button,
	button.button,
	input[type="submit"],
	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce input.button,
	.woocommerce #respond input#submit {
		width: 100%;
	}
}

.concept-page {
	background: var(--dsb-soft);
}

.concept-hero {
	padding: clamp(50px, 8vw, 92px) 0 34px;
	border-bottom: 1px solid var(--dsb-line);
	background: var(--dsb-white);
}

.concept-hero p {
	max-width: 780px;
	color: var(--dsb-muted);
	font-size: 1.08rem;
}

.concept-index {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	padding: 22px 0 6px;
}

.concept-index a {
	padding: 6px 0 7px;
	border: 0;
	border-bottom: 2px solid var(--dsb-line);
	background: transparent;
	color: var(--dsb-panel);
	font-size: 0.8rem;
	font-weight: 900;
	text-decoration: none;
	text-transform: uppercase;
}

.concept-stack {
	display: grid;
	gap: clamp(28px, 5vw, 56px);
	width: min(100% - 40px, var(--dsb-wrap));
	margin: 0 auto;
	padding: 36px 0 76px;
}

.concept {
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	box-shadow: 0 22px 60px rgba(16, 20, 24, 0.1);
	overflow: hidden;
}

.concept img {
	display: block;
	width: 150px;
	max-height: 38px;
	object-fit: contain;
	object-position: left center;
}

.concept h2 {
	margin: 0;
}

.concept p {
	color: var(--dsb-muted);
}

.daily-masthead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 20px 24px;
	border-bottom: 4px double var(--dsb-panel);
	background: var(--dsb-white);
}

.daily-masthead span,
.console-top span,
.studio-left span,
.wall-header span,
.ledger-paper header span,
.path-hero span,
.market-search span,
.mag-cover span,
.broadcast-main span,
.question-brand span {
	color: var(--dsb-muted);
	font-size: 0.76rem;
	font-weight: 900;
	text-transform: uppercase;
}

.daily-layout {
	display: grid;
	grid-template-columns: 1.2fr 0.85fr 0.45fr;
	gap: 18px;
	padding: 24px;
}

.daily-lead {
	display: grid;
	align-content: end;
	min-height: 440px;
	padding: 24px;
	background-color: var(--dsb-panel);
	background-position: center;
	background-size: cover;
	color: var(--dsb-white);
	position: relative;
}

.daily-lead::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(16, 20, 24, 0.58);
}

.daily-lead span,
.daily-lead h2 {
	position: relative;
	z-index: 1;
	color: var(--dsb-white);
}

.daily-lead span {
	margin-bottom: 12px;
	color: var(--dsb-cyan);
	font-size: 0.76rem;
	font-weight: 900;
	text-transform: uppercase;
}

.daily-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.daily-columns div {
	display: grid;
	align-items: end;
	min-height: 130px;
	padding: 14px;
	border-top: 6px solid var(--dsb-blue);
	background: var(--dsb-soft);
	font-weight: 900;
}

.daily-sidebar {
	padding: 16px;
	border-left: 1px solid var(--dsb-line);
}

.daily-sidebar strong {
	display: block;
	margin-bottom: 10px;
	color: var(--dsb-red);
	text-transform: uppercase;
}

.concept--map {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.42fr);
	min-height: 560px;
}

.map-panel {
	position: relative;
	background:
		linear-gradient(90deg, rgba(0, 78, 151, 0.18) 1px, transparent 1px),
		linear-gradient(180deg, rgba(0, 78, 151, 0.18) 1px, transparent 1px),
		var(--dsb-panel);
	background-size: 74px 74px;
}

.map-brand {
	position: absolute;
	top: 24px;
	left: 24px;
	padding: 10px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
}

.map-pin {
	position: absolute;
	width: 24px;
	height: 24px;
	border: 5px solid var(--dsb-white);
	border-radius: 50%;
	background: var(--dsb-red);
}

.map-pin--one { top: 34%; left: 24%; }
.map-pin--two { top: 52%; left: 44%; background: var(--dsb-cyan); }
.map-pin--three { top: 25%; left: 67%; }
.map-pin--four { top: 70%; left: 74%; background: var(--dsb-orange); }

.map-copy {
	display: grid;
	align-content: center;
	gap: 20px;
	padding: clamp(24px, 4vw, 46px);
}

.map-routes {
	display: grid;
	gap: 10px;
}

.map-routes span {
	padding: 12px;
	border-left: 6px solid var(--dsb-blue);
	background: var(--dsb-soft);
	font-weight: 900;
}

.concept--console {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr);
	grid-template-rows: auto 1fr auto;
	gap: 18px;
	padding: 24px;
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.console-top {
	grid-column: 1 / -1;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 14px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
}

.console-question {
	display: grid;
	align-content: center;
	gap: 14px;
	min-height: 320px;
}

.console-question h2,
.concept--console p {
	color: var(--dsb-white);
}

.console-choices {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	align-content: center;
}

.console-choices button {
	min-height: 92px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: var(--dsb-radius);
	background: rgba(255, 255, 255, 0.1);
	color: var(--dsb-white);
	font-weight: 900;
	cursor: default;
}

.console-result {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 0.5fr 1fr 1fr 1fr;
	gap: 10px;
	align-items: stretch;
}

.console-result strong,
.console-result span {
	padding: 16px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	color: var(--dsb-panel);
}

.console-result span {
	background: var(--dsb-cyan);
}

.concept--bench {
	display: grid;
	grid-template-columns: 0.34fr minmax(0, 1fr);
	min-height: 540px;
	background: #f3f5f7;
}

.bench-copy {
	display: grid;
	align-content: center;
	gap: 16px;
	padding: clamp(24px, 4vw, 42px);
}

.bench-surface {
	position: relative;
	margin: 24px;
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
}

.bench-device {
	position: absolute;
	display: grid;
	place-items: center;
	border-radius: var(--dsb-radius);
	background: var(--dsb-panel);
	color: var(--dsb-white);
	font-weight: 900;
}

.bench-device--screen {
	top: 44px;
	left: 46px;
	width: 48%;
	height: 210px;
	background: var(--dsb-blue);
}

.bench-device--player {
	right: 42px;
	top: 92px;
	width: 28%;
	height: 96px;
}

.bench-device--mount {
	left: 32%;
	bottom: 126px;
	width: 34%;
	height: 58px;
	background: var(--dsb-red);
}

.bench-specs {
	position: absolute;
	left: 28px;
	right: 28px;
	bottom: 28px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

.bench-specs span {
	padding: 14px;
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
	background: var(--dsb-soft);
	font-weight: 900;
}

.concept--studio {
	display: grid;
	grid-template-columns: 0.34fr minmax(0, 1fr) 0.28fr;
	min-height: 560px;
	background: #f8f2e8;
}

.studio-left,
.studio-notes {
	display: grid;
	align-content: center;
	gap: 16px;
	padding: 28px;
}

.studio-board {
	display: grid;
	grid-template-columns: 1.4fr 0.8fr;
	grid-template-rows: 1fr 1fr 1fr;
	gap: 12px;
	padding: 28px 0;
}

.studio-preview {
	grid-row: 1 / -1;
	border-radius: var(--dsb-radius);
	background-color: var(--dsb-panel);
	background-position: center;
	background-size: cover;
}

.studio-frame {
	display: grid;
	align-items: end;
	padding: 14px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	border: 1px solid var(--dsb-line);
	font-weight: 900;
}

.concept--wall {
	padding: 18px;
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.wall-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 14px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
}

.wall-grid {
	display: grid;
	grid-template-columns: 0.7fr 1fr 0.7fr;
	grid-auto-rows: 140px;
	gap: 12px;
	margin-top: 14px;
}

.wall-grid > div {
	display: grid;
	align-items: end;
	padding: 16px;
	border-radius: var(--dsb-radius);
	background: rgba(255, 255, 255, 0.1);
	font-weight: 900;
}

.wall-status {
	background: var(--dsb-cyan) !important;
	color: var(--dsb-panel);
}

.wall-feed {
	gap: 8px;
}

.wall-feed span {
	min-height: 20px;
	background: rgba(255, 255, 255, 0.18);
}

.wall-large {
	grid-column: span 2;
	grid-row: span 2;
	background: var(--dsb-blue) !important;
	font-size: 1.55rem;
}

.wall-alert {
	background: var(--dsb-red) !important;
}

.concept--ledger {
	padding: 28px;
	background: #eef2f5;
}

.ledger-paper {
	display: grid;
	gap: 22px;
	min-height: 500px;
	padding: 26px;
	border: 1px solid var(--dsb-line);
	background: var(--dsb-white);
}

.ledger-paper header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--dsb-line);
}

.ledger-table {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	margin-top: auto;
	border: 1px solid var(--dsb-line);
}

.ledger-table span {
	min-height: 120px;
	padding: 14px;
	border-right: 1px solid var(--dsb-line);
	background: var(--dsb-soft);
	font-weight: 900;
}

.ledger-table span:last-child {
	border-right: 0;
}

.concept--path {
	display: grid;
	grid-template-columns: minmax(0, 0.75fr) minmax(0, 1fr);
	gap: 26px;
	align-items: center;
	padding: clamp(24px, 5vw, 44px);
	background: #edf7fb;
}

.path-hero {
	display: grid;
	gap: 18px;
}

.path-steps {
	display: grid;
	gap: 12px;
}

.path-steps div {
	position: relative;
	padding: 18px 18px 18px 58px;
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
	font-weight: 900;
}

.path-steps div::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 50%;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--dsb-blue);
	transform: translateY(-50%);
}

.concept--market {
	display: grid;
	grid-template-columns: 0.38fr minmax(0, 1fr);
	min-height: 520px;
	background: var(--dsb-white);
}

.market-search {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: 30px;
	background: var(--dsb-blue);
	color: var(--dsb-white);
}

.market-search strong {
	font-size: clamp(1.45rem, 2.5vw, 2.3rem);
	line-height: 1.1;
}

.market-list {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 10px;
	padding: 22px;
}

.market-list div {
	display: grid;
	align-items: end;
	padding: 14px;
	border: 1px solid var(--dsb-line);
	border-radius: var(--dsb-radius);
	background: var(--dsb-soft);
	font-weight: 900;
}

.market-list div:nth-child(2),
.market-list div:nth-child(4) {
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.concept--magazine {
	display: grid;
	grid-template-columns: minmax(0, 0.48fr) minmax(0, 0.52fr);
	min-height: 560px;
	background: #f7f1e8;
}

.mag-cover {
	display: grid;
	align-content: space-between;
	padding: 24px;
	background-color: var(--dsb-panel);
	background-position: center;
	background-size: cover;
	color: var(--dsb-white);
}

.mag-cover img {
	padding: 10px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
}

.mag-cover span {
	width: max-content;
	padding: 8px 10px;
	background: var(--dsb-red);
	color: var(--dsb-white);
}

.mag-story {
	display: grid;
	align-content: center;
	gap: 20px;
	padding: clamp(28px, 5vw, 56px);
}

.mag-lines {
	display: grid;
	gap: 10px;
}

.mag-lines i {
	display: block;
	height: 12px;
	background: var(--dsb-soft-2);
}

.mag-lines i:nth-child(2) { width: 84%; }
.mag-lines i:nth-child(3) { width: 72%; }
.mag-lines i:nth-child(4) { width: 56%; }

.concept--broadcast {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 0.36fr);
	min-height: 520px;
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.broadcast-main {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(28px, 5vw, 56px);
}

.broadcast-main h2,
.broadcast-main p {
	color: var(--dsb-white);
}

.broadcast-main img {
	padding: 10px;
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
}

.broadcast-schedule {
	display: grid;
	gap: 10px;
	padding: 22px;
	background: var(--dsb-white);
}

.broadcast-schedule div {
	display: grid;
	align-items: center;
	padding: 14px;
	border-left: 6px solid var(--dsb-blue);
	background: var(--dsb-soft);
	color: var(--dsb-panel);
	font-weight: 900;
}

.concept--question {
	display: grid;
	grid-template-columns: 0.28fr minmax(0, 1fr) 0.34fr;
	min-height: 520px;
	background: #eff7f8;
}

.question-brand,
.question-main,
.question-threads {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: 28px;
}

.question-main {
	background: var(--dsb-blue);
	color: var(--dsb-white);
}

.question-main h2,
.question-main p {
	color: var(--dsb-white);
}

.question-threads span {
	min-height: 70px;
	border-left: 6px solid var(--dsb-cyan);
	border-radius: var(--dsb-radius);
	background: var(--dsb-white);
}

@media (max-width: 900px) {
	.daily-layout,
	.concept--map,
	.concept--console,
	.concept--bench,
	.concept--studio,
	.concept--path,
	.concept--market,
	.concept--magazine,
	.concept--broadcast,
	.concept--question {
		grid-template-columns: 1fr;
	}

	.daily-lead,
	.concept--map,
	.bench-surface,
	.concept--magazine,
	.concept--broadcast,
	.concept--question {
		min-height: 0;
	}

	.concept--console,
	.concept--studio,
	.concept--wall {
		padding: 18px;
	}

	.console-top,
	.console-result,
	.wall-large {
		grid-column: auto;
	}

	.console-result,
	.bench-specs,
	.ledger-table,
	.market-list,
	.wall-grid {
		grid-template-columns: 1fr 1fr;
	}

	.studio-board {
		padding: 0;
	}
}

@media (max-width: 640px) {
	.concept-stack {
		width: min(100% - 28px, var(--dsb-wrap));
	}

	.daily-layout,
	.console-choices,
	.console-result,
	.daily-columns,
	.bench-specs,
	.studio-board,
	.ledger-table,
	.market-list,
	.wall-grid {
		grid-template-columns: 1fr;
	}

	.daily-masthead,
	.console-top,
	.wall-header,
	.ledger-paper header {
		align-items: flex-start;
		flex-direction: column;
	}

	.bench-surface {
		display: grid;
		gap: 10px;
		margin: 18px;
		padding: 18px;
	}

	.bench-device,
	.bench-specs {
		position: static;
		width: auto;
		height: auto;
		min-height: 84px;
	}

	.studio-preview {
		min-height: 220px;
	}
}

.concept-break {
	padding: clamp(28px, 5vw, 54px);
	border-left: 12px solid var(--dsb-red);
	background: var(--dsb-white);
	box-shadow: inset 0 -1px 0 var(--dsb-line);
}

.concept-break h2 {
	margin: 10px 0 12px;
	font-size: clamp(2rem, 4vw, 4rem);
	line-height: 0.95;
}

.concept-break p {
	max-width: 860px;
	margin: 0;
	color: var(--dsb-muted);
}

.concept--sharp {
	min-height: 560px;
	border: 0;
	border-radius: 0;
	background: var(--dsb-white);
	box-shadow: none;
	outline: 1px solid var(--dsb-line);
}

.concept--sharp * {
	border-radius: 0 !important;
}

.concept--sharp h2 {
	font-size: clamp(2rem, 4.5vw, 5.4rem);
	line-height: 0.9;
	letter-spacing: 0;
}

.concept--sharp p {
	font-size: 1rem;
	line-height: 1.65;
}

.concept--sharp .sharp-number,
.concept--sharp > header span,
.strip-rail span,
.slate-menu span,
.kiosk-notes span,
.topo-title span,
.explode-copy span,
.radar-copy span,
.shelf-copy span,
.desk-mast span,
.wayfinder-copy span,
.sponsor-copy span,
.logbook-title span,
.billboard-caption span,
.playlist-copy span,
.atlas-copy span,
.blueprint-copy span,
.spotlight-copy span,
.proof-copy span {
	color: var(--dsb-red);
	font-size: 0.76rem;
	font-weight: 900;
	text-transform: uppercase;
}

.concept--strip {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	grid-template-rows: 1fr auto;
	background: linear-gradient(90deg, #ffffff 0 120px, #f1f4f6 120px 100%);
}

.strip-rail {
	grid-row: 1 / -1;
	display: grid;
	align-content: space-between;
	gap: 24px;
	padding: 24px 18px;
	border-right: 4px solid var(--dsb-panel);
	writing-mode: vertical-rl;
	transform: rotate(180deg);
}

.strip-rail img {
	width: 38px;
	height: 150px;
	object-fit: contain;
	transform: rotate(90deg);
	transform-origin: center;
}

.strip-main {
	display: grid;
	align-content: center;
	gap: 20px;
	padding: clamp(28px, 7vw, 82px);
}

.strip-main p {
	max-width: 590px;
}

.strip-tracks {
	display: grid;
	grid-column: 2;
	grid-template-columns: repeat(4, 1fr);
	border-top: 4px solid var(--dsb-panel);
}

.strip-tracks span {
	min-height: 78px;
	padding: 18px;
	border-right: 1px solid var(--dsb-panel);
	background: var(--dsb-blue);
	color: var(--dsb-white);
	font-weight: 900;
	text-transform: uppercase;
}

.strip-tracks span:nth-child(2) {
	background: var(--dsb-red);
}

.strip-tracks span:nth-child(3) {
	background: var(--dsb-panel);
}

.strip-tracks span:nth-child(4) {
	background: var(--dsb-cyan);
	color: var(--dsb-panel);
}

.concept--slate {
	display: grid;
	grid-template-columns: 270px minmax(0, 1fr);
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.slate-menu {
	display: grid;
	align-content: stretch;
	border-right: 1px solid rgba(255, 255, 255, 0.22);
}

.slate-menu img {
	box-sizing: content-box;
	padding: 22px;
	background: var(--dsb-white);
}

.slate-menu span {
	padding: 18px 22px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.slate-menu a {
	display: grid;
	align-items: center;
	min-height: 86px;
	padding: 18px 22px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.22);
	color: var(--dsb-white);
	font-size: 1.35rem;
	font-weight: 900;
	text-decoration: none;
}

.slate-copy {
	display: grid;
	align-content: center;
	gap: 22px;
	padding: clamp(34px, 7vw, 88px);
}

.slate-copy h2,
.slate-copy p {
	color: var(--dsb-white);
}

.slate-copy p {
	max-width: 640px;
}

.slate-rule {
	width: min(100%, 680px);
	height: 18px;
	background: linear-gradient(90deg, var(--dsb-red) 0 24%, var(--dsb-cyan) 24% 50%, var(--dsb-blue) 50% 76%, var(--dsb-white) 76% 100%);
}

.concept--kiosk-story {
	position: relative;
	display: grid;
	grid-template-columns: minmax(240px, 0.38fr) minmax(0, 1fr);
	background: #eef2f5;
	overflow: hidden;
}

.kiosk-device {
	display: grid;
	align-content: space-between;
	margin: 42px 0 42px 42px;
	padding: 26px;
	border: 12px solid var(--dsb-panel);
	background:
		linear-gradient(180deg, rgba(0, 178, 226, 0.16), rgba(0, 78, 151, 0.24)),
		var(--dsb-white);
}

.kiosk-device strong {
	max-width: 250px;
	font-size: clamp(2rem, 3.5vw, 4.2rem);
	line-height: 0.92;
}

.kiosk-notes {
	position: relative;
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(30px, 6vw, 74px);
}

.kiosk-notes::before,
.kiosk-notes::after {
	content: "";
	position: absolute;
	width: 46%;
	height: 2px;
	background: var(--dsb-red);
}

.kiosk-notes::before {
	top: 27%;
	left: 0;
	transform: rotate(-12deg);
}

.kiosk-notes::after {
	right: 7%;
	bottom: 20%;
	transform: rotate(16deg);
}

.kiosk-notes p {
	max-width: 560px;
}

.kiosk-notes i {
	width: max-content;
	padding: 9px 0;
	border-bottom: 3px solid var(--dsb-panel);
	font-style: normal;
	font-weight: 900;
}

.concept--topo {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.54fr) minmax(0, 0.46fr);
	background:
		radial-gradient(circle at 20% 28%, transparent 0 54px, rgba(0, 78, 151, 0.22) 55px 57px, transparent 58px 96px, rgba(0, 78, 151, 0.16) 97px 99px, transparent 100px),
		radial-gradient(circle at 74% 58%, transparent 0 66px, rgba(225, 31, 39, 0.22) 67px 69px, transparent 70px 120px, rgba(225, 31, 39, 0.14) 121px 123px, transparent 124px),
		#f7fafb;
}

.topo-title {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(34px, 6vw, 76px);
}

.topo-markers {
	position: relative;
	min-height: 560px;
	border-left: 1px solid var(--dsb-line);
}

.topo-markers b {
	position: absolute;
	padding: 12px 16px;
	border-left: 5px solid var(--dsb-red);
	background: var(--dsb-white);
	box-shadow: 16px 16px 0 rgba(0, 78, 151, 0.1);
}

.topo-markers b:nth-child(1) { top: 16%; left: 12%; }
.topo-markers b:nth-child(2) { top: 34%; right: 14%; }
.topo-markers b:nth-child(3) { bottom: 26%; left: 21%; }
.topo-markers b:nth-child(4) { bottom: 12%; right: 18%; }

.concept--explosion {
	display: grid;
	grid-template-columns: 0.35fr minmax(0, 1fr);
	background: #f4f6f8;
}

.explode-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(28px, 5vw, 62px);
	border-right: 1px solid var(--dsb-line);
}

.explode-diagram {
	position: relative;
	min-height: 560px;
	background:
		linear-gradient(90deg, rgba(16, 20, 24, 0.08) 1px, transparent 1px),
		linear-gradient(180deg, rgba(16, 20, 24, 0.08) 1px, transparent 1px);
	background-size: 48px 48px;
}

.explode-diagram span {
	position: absolute;
	display: grid;
	place-items: center;
	border: 4px solid var(--dsb-panel);
	background: var(--dsb-white);
	font-weight: 900;
}

.explode-screen {
	top: 80px;
	left: 11%;
	width: 42%;
	height: 230px;
}

.explode-player {
	top: 170px;
	right: 18%;
	width: 24%;
	height: 92px;
	background: var(--dsb-cyan) !important;
}

.explode-cms {
	right: 10%;
	bottom: 84px;
	width: 28%;
	height: 112px;
}

.explode-mount {
	left: 25%;
	bottom: 122px;
	width: 25%;
	height: 54px;
	background: var(--dsb-red) !important;
	color: var(--dsb-white);
}

.concept--timeline {
	display: grid;
	grid-template-columns: 230px minmax(0, 1fr);
	background: var(--dsb-white);
}

.concept--timeline header {
	display: grid;
	align-content: space-between;
	padding: 26px;
	border-right: 8px solid var(--dsb-panel);
	background: var(--dsb-soft);
}

.timeline-title {
	display: grid;
	gap: 12px;
}

.timeline-title h2 {
	font-size: clamp(1.7rem, 2.8vw, 3.2rem);
	line-height: 0.95;
}

.timeline-title p {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.45;
}

.timeline-rail {
	display: grid;
	align-content: center;
	padding: clamp(28px, 6vw, 80px);
}

.timeline-rail div {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr);
	gap: 26px;
	min-height: 118px;
	padding: 22px 0;
	border-bottom: 2px solid var(--dsb-panel);
}

.timeline-rail time {
	color: var(--dsb-blue);
	font-weight: 900;
}

.timeline-rail strong {
	font-size: clamp(1.4rem, 2.8vw, 3rem);
	line-height: 1;
}

.concept--radar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.38fr);
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.radar-scope {
	position: relative;
	min-height: 560px;
	background:
		radial-gradient(circle at center, transparent 0 84px, rgba(255, 255, 255, 0.26) 85px 87px, transparent 88px 170px, rgba(255, 255, 255, 0.18) 171px 173px, transparent 174px 260px, rgba(255, 255, 255, 0.12) 261px 263px, transparent 264px),
		linear-gradient(90deg, transparent calc(50% - 1px), rgba(255, 255, 255, 0.22) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px)),
		linear-gradient(180deg, transparent calc(50% - 1px), rgba(255, 255, 255, 0.22) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px));
}

.radar-scope span {
	position: absolute;
	padding: 10px 0;
	border-bottom: 4px solid var(--dsb-cyan);
	color: var(--dsb-white);
	font-weight: 900;
}

.radar-scope span:nth-child(1) { top: 24%; left: 52%; }
.radar-scope span:nth-child(2) { top: 48%; left: 28%; }
.radar-scope span:nth-child(3) { top: 64%; left: 62%; }
.radar-scope span:nth-child(4) { top: 36%; right: 16%; }

.radar-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(28px, 5vw, 58px);
	background: var(--dsb-white);
}

.radar-copy h2,
.radar-copy p {
	color: var(--dsb-panel);
}

.concept--shelf {
	display: grid;
	grid-template-columns: 0.34fr minmax(0, 1fr);
	background: #f8fafb;
}

.shelf-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(28px, 5vw, 62px);
	background: var(--dsb-white);
}

.shelf-rails {
	display: grid;
	align-content: center;
	gap: 32px;
	padding: clamp(28px, 6vw, 76px);
}

.shelf-rails span {
	display: block;
	padding: 0 0 18px;
	border-bottom: 12px solid var(--dsb-panel);
	color: var(--dsb-panel);
	font-size: clamp(1.3rem, 3vw, 3rem);
	font-weight: 900;
}

.shelf-rails span:nth-child(2) {
	border-color: var(--dsb-blue);
}

.shelf-rails span:nth-child(3) {
	border-color: var(--dsb-red);
}

.shelf-rails span:nth-child(4) {
	border-color: var(--dsb-cyan);
}

.concept--desk {
	display: grid;
	grid-template-columns: 0.32fr minmax(0, 0.42fr) minmax(220px, 0.26fr);
	background: #fffdf8;
}

.desk-mast {
	display: grid;
	align-content: space-between;
	padding: 24px;
	border-right: 1px solid var(--dsb-panel);
	border-bottom: 10px solid var(--dsb-panel);
}

.desk-lead {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(26px, 5vw, 60px);
	border-right: 1px solid var(--dsb-line);
}

.desk-columns {
	display: grid;
	gap: 0;
	padding: 28px;
}

.desk-columns span {
	border-bottom: 2px solid var(--dsb-line);
	background:
		repeating-linear-gradient(180deg, transparent 0 15px, rgba(16, 20, 24, 0.16) 16px 17px, transparent 18px 30px);
}

.desk-columns span:nth-child(2) {
	border-left: 8px solid var(--dsb-red);
}

.concept--wayfinder {
	display: grid;
	grid-template-columns: 0.42fr minmax(0, 1fr);
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.wayfinder-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(28px, 5vw, 64px);
}

.wayfinder-copy h2,
.wayfinder-copy p {
	color: var(--dsb-white);
}

.wayfinder-arrows {
	display: grid;
	align-content: center;
	gap: 26px;
	padding: clamp(28px, 5vw, 64px);
}

.wayfinder-arrows span {
	display: grid;
	align-items: center;
	min-height: 96px;
	padding-left: 28px;
	clip-path: polygon(0 0, calc(100% - 54px) 0, 100% 50%, calc(100% - 54px) 100%, 0 100%, 32px 50%);
	background: var(--dsb-cyan);
	color: var(--dsb-panel);
	font-size: clamp(1.2rem, 2.4vw, 2.3rem);
	font-weight: 900;
}

.wayfinder-arrows span:nth-child(2) {
	background: var(--dsb-red);
	color: var(--dsb-white);
}

.wayfinder-arrows span:nth-child(3) {
	background: var(--dsb-white);
}

.concept--roi {
	display: grid;
	grid-template-rows: auto 1fr;
	background: var(--dsb-white);
}

.concept--roi header,
.concept--matrix header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 20px 24px;
	border-bottom: 1px solid var(--dsb-panel);
}

.roi-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: 1fr 1.25fr;
}

.roi-grid b {
	display: grid;
	align-items: end;
	min-height: 190px;
	padding: 18px;
	border-right: 1px solid var(--dsb-line);
	border-bottom: 1px solid var(--dsb-line);
	background: #f5f7f8;
	text-transform: uppercase;
}

.roi-grid strong {
	grid-column: 1 / -1;
	display: grid;
	align-items: center;
	padding: clamp(28px, 5vw, 58px);
	background: var(--dsb-panel);
	color: var(--dsb-white);
	font-size: clamp(2.4rem, 6vw, 6.5rem);
	line-height: 0.88;
}

.concept--sponsor-wall {
	display: grid;
	grid-template-columns: 0.37fr minmax(0, 1fr);
	background: #f7f9fb;
}

.sponsor-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(28px, 5vw, 64px);
	background: var(--dsb-white);
}

.sponsor-grid {
	display: grid;
	grid-template-columns: 1fr 0.7fr;
	grid-template-rows: 1.2fr 0.8fr 0.9fr;
	gap: 0;
}

.sponsor-grid span {
	display: grid;
	align-items: end;
	padding: 18px;
	border-left: 1px solid var(--dsb-line);
	border-bottom: 1px solid var(--dsb-line);
	background: var(--dsb-soft);
	font-weight: 900;
}

.sponsor-grid span:first-child {
	grid-row: span 2;
	background: var(--dsb-blue);
	color: var(--dsb-white);
	font-size: 1.6rem;
}

.sponsor-grid span:nth-child(4) {
	background: var(--dsb-red);
	color: var(--dsb-white);
}

.concept--logbook {
	display: grid;
	grid-template-columns: 0.38fr minmax(0, 1fr);
	background:
		linear-gradient(90deg, var(--dsb-white) 0 38%, transparent 38%),
		repeating-linear-gradient(180deg, #f6f9fb 0 47px, #d8e1e6 48px 49px);
}

.logbook-title {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(28px, 5vw, 64px);
	border-right: 4px double var(--dsb-panel);
	background: var(--dsb-white);
}

.logbook-lines {
	display: grid;
	align-content: center;
	padding: clamp(28px, 6vw, 78px);
}

.logbook-lines span {
	display: grid;
	align-items: center;
	min-height: 82px;
	border-bottom: 2px solid var(--dsb-panel);
	font-size: clamp(1.2rem, 2.2vw, 2.2rem);
	font-weight: 900;
}

.concept--billboard {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	background: #e9eef2;
}

.billboard-frame {
	position: relative;
	display: grid;
	align-content: space-between;
	margin: 42px;
	padding: 26px;
	border: 18px solid var(--dsb-panel);
	background-color: var(--dsb-blue);
	background-position: center;
	background-size: cover;
	color: var(--dsb-white);
}

.billboard-frame::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(16, 20, 24, 0.48);
}

.billboard-frame img,
.billboard-frame h2 {
	position: relative;
	z-index: 1;
}

.billboard-frame img {
	box-sizing: content-box;
	padding: 10px;
	background: var(--dsb-white);
}

.billboard-frame h2 {
	max-width: 620px;
	color: var(--dsb-white);
}

.billboard-caption {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: 30px;
	border-left: 1px solid var(--dsb-line);
}

.concept--playlist {
	display: grid;
	grid-template-columns: 0.4fr minmax(0, 1fr);
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.playlist-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(28px, 5vw, 64px);
}

.playlist-copy h2,
.playlist-copy p {
	color: var(--dsb-white);
}

.playlist-tracks {
	display: grid;
	align-content: center;
	gap: 0;
	margin: 0;
	padding: clamp(28px, 6vw, 76px);
	counter-reset: playlist;
	list-style: none;
}

.playlist-tracks li {
	display: grid;
	grid-template-columns: 90px minmax(0, 1fr);
	align-items: center;
	min-height: 108px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.26);
	color: var(--dsb-white);
	font-size: clamp(1.2rem, 2.4vw, 2.4rem);
	font-weight: 900;
}

.playlist-tracks li::before {
	counter-increment: playlist;
	content: "0" counter(playlist);
	color: var(--dsb-cyan);
	font-size: 1rem;
}

.concept--atlas {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 330px;
	background: #f6fafc;
}

.atlas-map {
	position: relative;
	min-height: 560px;
	background:
		linear-gradient(28deg, transparent 0 34%, rgba(0, 178, 226, 0.28) 34% 36%, transparent 36%),
		linear-gradient(144deg, transparent 0 46%, rgba(225, 31, 39, 0.2) 46% 48%, transparent 48%);
}

.atlas-map span {
	position: absolute;
	padding: 10px 14px;
	border-top: 5px solid var(--dsb-blue);
	background: var(--dsb-white);
	font-weight: 900;
}

.atlas-map span:nth-child(1) { left: 10%; top: 18%; }
.atlas-map span:nth-child(2) { right: 26%; top: 31%; }
.atlas-map span:nth-child(3) { left: 28%; bottom: 28%; }
.atlas-map span:nth-child(4) { right: 12%; bottom: 13%; }

.atlas-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: 30px;
	border-left: 1px solid var(--dsb-line);
	background: var(--dsb-white);
}

.concept--matrix {
	display: grid;
	grid-template-rows: auto 1fr;
	background: var(--dsb-white);
}

.matrix-table {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.matrix-table span {
	display: grid;
	align-items: end;
	min-height: 240px;
	padding: 18px;
	border-right: 1px solid var(--dsb-line);
	border-bottom: 1px solid var(--dsb-line);
	background: #f3f6f8;
	font-weight: 900;
}

.matrix-table span:nth-child(2),
.matrix-table span:nth-child(4) {
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.matrix-table strong {
	grid-column: 1 / -1;
	display: grid;
	align-items: center;
	padding: clamp(28px, 5vw, 58px);
	color: var(--dsb-panel);
	font-size: clamp(2.2rem, 5vw, 5.6rem);
	line-height: 0.9;
}

.concept--blueprint {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 330px;
	background: #093f73;
	color: var(--dsb-white);
}

.blueprint-drawing {
	position: relative;
	min-height: 560px;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.16) 1px, transparent 1px),
		linear-gradient(180deg, rgba(255, 255, 255, 0.16) 1px, transparent 1px);
	background-size: 38px 38px;
}

.blueprint-drawing::before {
	content: "";
	position: absolute;
	inset: 18% 14% 22%;
	border: 3px solid rgba(255, 255, 255, 0.78);
}

.blueprint-drawing::after {
	content: "";
	position: absolute;
	left: 28%;
	right: 25%;
	top: 51%;
	border-top: 3px dashed rgba(255, 255, 255, 0.78);
}

.blueprint-drawing span {
	position: absolute;
	padding: 9px 12px;
	border: 1px solid rgba(255, 255, 255, 0.8);
	color: var(--dsb-white);
	font-weight: 900;
}

.blueprint-drawing span:nth-child(1) { left: 16%; top: 16%; }
.blueprint-drawing span:nth-child(2) { right: 18%; top: 44%; }
.blueprint-drawing span:nth-child(3) { left: 22%; bottom: 18%; }

.blueprint-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: 30px;
	border-left: 1px solid rgba(255, 255, 255, 0.25);
}

.blueprint-copy h2,
.blueprint-copy p {
	color: var(--dsb-white);
}

.concept--spotlight {
	display: grid;
	grid-template-rows: 1fr auto;
	background: var(--dsb-white);
}

.spotlight-search {
	display: grid;
	align-content: center;
	gap: 28px;
	padding: clamp(34px, 8vw, 94px);
	background:
		linear-gradient(90deg, transparent 0 calc(100% - 28px), var(--dsb-red) calc(100% - 28px) 100%),
		var(--dsb-soft);
}

.spotlight-search span {
	display: block;
	padding: 30px 0;
	border-top: 6px solid var(--dsb-panel);
	border-bottom: 6px solid var(--dsb-panel);
	color: var(--dsb-panel);
	font-size: clamp(2rem, 5vw, 6rem);
	font-weight: 900;
	line-height: 0.95;
}

.spotlight-copy {
	display: grid;
	grid-template-columns: 0.32fr minmax(0, 0.34fr) minmax(0, 0.34fr);
	gap: 24px;
	align-items: start;
	padding: 26px;
	border-top: 1px solid var(--dsb-line);
}

.spotlight-copy h2 {
	font-size: clamp(1.8rem, 3vw, 3.4rem);
}

.concept--proof {
	display: grid;
	grid-template-columns: 0.42fr minmax(0, 1fr);
	background: #fbfcfd;
}

.proof-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(28px, 5vw, 64px);
	background: var(--dsb-panel);
}

.proof-copy h2,
.proof-copy p {
	color: var(--dsb-white);
}

.proof-quotes {
	display: grid;
	align-content: center;
	gap: 44px;
	padding: clamp(32px, 6vw, 84px);
}

.proof-quotes blockquote {
	margin: 0;
	padding: 0 0 24px;
	border-bottom: 6px solid var(--dsb-cyan);
	color: var(--dsb-panel);
	font-size: clamp(1.5rem, 3vw, 3.5rem);
	font-weight: 900;
	line-height: 1;
}

.proof-quotes blockquote:nth-child(2) {
	margin-left: 18%;
	border-color: var(--dsb-red);
}

@media (max-width: 900px) {
	.concept--strip,
	.concept--slate,
	.concept--kiosk-story,
	.concept--topo,
	.concept--explosion,
	.concept--timeline,
	.concept--radar,
	.concept--shelf,
	.concept--desk,
	.concept--wayfinder,
	.concept--sponsor-wall,
	.concept--logbook,
	.concept--billboard,
	.concept--playlist,
	.concept--atlas,
	.concept--blueprint,
	.concept--proof {
		grid-template-columns: 1fr;
	}

	.concept--sharp {
		min-height: 0;
	}

	.strip-rail {
		grid-row: auto;
		display: flex;
		align-items: center;
		justify-content: space-between;
		writing-mode: initial;
		transform: none;
		border-right: 0;
		border-bottom: 4px solid var(--dsb-panel);
	}

	.strip-rail img {
		width: 150px;
		height: auto;
		transform: none;
	}

	.strip-tracks {
		grid-column: auto;
		grid-template-columns: 1fr 1fr;
	}

	.topo-markers,
	.explode-diagram,
	.radar-scope,
	.atlas-map,
	.blueprint-drawing {
		min-height: 440px;
	}

	.roi-grid,
	.matrix-table,
	.spotlight-copy {
		grid-template-columns: 1fr 1fr;
	}

	.roi-grid strong,
	.matrix-table strong {
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {
	.concept-break {
		padding: 24px;
	}

	.concept--sharp h2 {
		font-size: clamp(1.9rem, 12vw, 3.4rem);
	}

	.strip-tracks,
	.roi-grid,
	.matrix-table,
	.spotlight-copy,
	.timeline-rail div {
		grid-template-columns: 1fr;
	}

	.kiosk-device {
		margin: 22px;
	}

	.topo-markers,
	.explode-diagram,
	.radar-scope,
	.atlas-map,
	.blueprint-drawing {
		min-height: 360px;
	}

	.billboard-frame {
		margin: 22px;
	}

	.proof-quotes blockquote:nth-child(2) {
		margin-left: 0;
	}
}

.concept-break--studio {
	border-left-color: var(--dsb-blue);
	background:
		linear-gradient(90deg, transparent 0 calc(100% - 18px), var(--dsb-panel) calc(100% - 18px)),
		var(--dsb-white);
}

.concept--masthead {
	display: grid;
	grid-template-rows: auto 1fr auto;
	background: #fffefa;
}

.masthead-top,
.masthead-footer {
	display: grid;
	grid-template-columns: 1fr auto auto;
	gap: 20px;
	align-items: center;
	padding: 22px 28px;
	border-bottom: 2px solid var(--dsb-panel);
}

.masthead-top span,
.masthead-footer span,
.data-spine-copy span,
.window-copy span,
.deck-readout span,
.notes-margin span,
.gallery-copy span,
.concept--procurement > header span,
.route-copy span,
.support-command span,
.loom-title span,
.lab-copy span,
.pulse-copy span,
.expo-copy span,
.weather-copy span,
.concept--menu-system > header span,
.campus-copy span,
.pitch-notes span,
.compliance-copy span,
.reel-copy span,
.decision-copy span {
	color: var(--dsb-red);
	font-size: 0.76rem;
	font-weight: 900;
	text-transform: uppercase;
}

.masthead-title {
	display: grid;
	place-items: center;
	padding: clamp(34px, 8vw, 96px);
	border-bottom: 12px solid var(--dsb-panel);
}

.masthead-title h2 {
	max-width: 980px;
	text-align: center;
	font-size: clamp(3rem, 9vw, 9rem);
}

.masthead-footer {
	grid-template-columns: minmax(0, 1fr) auto auto;
	border-bottom: 0;
}

.masthead-footer p {
	max-width: 620px;
	margin: 0;
}

.masthead-footer span {
	padding: 12px 0;
	border-top: 4px solid var(--dsb-blue);
}

.concept--data-spine {
	display: grid;
	grid-template-columns: 0.38fr minmax(0, 1fr);
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.data-spine-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(30px, 5vw, 68px);
}

.data-spine-copy h2,
.data-spine-copy p {
	color: var(--dsb-white);
}

.data-spine-track {
	position: relative;
	display: grid;
	align-content: center;
	gap: 34px;
	padding: clamp(32px, 6vw, 84px);
	background: var(--dsb-white);
}

.data-spine-track::before {
	content: "";
	position: absolute;
	top: 60px;
	bottom: 60px;
	left: 50%;
	width: 10px;
	background: var(--dsb-cyan);
	transform: translateX(-50%);
}

.data-spine-track i {
	position: relative;
	z-index: 1;
	display: block;
	width: 44%;
	padding: 18px 0;
	border-bottom: 5px solid var(--dsb-panel);
	color: var(--dsb-panel);
	font-style: normal;
	font-weight: 900;
}

.data-spine-track i:nth-child(even) {
	margin-left: auto;
	border-color: var(--dsb-red);
	text-align: right;
}

.concept--retail-window {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	background: #eef4f7;
}

.window-glass {
	position: relative;
	display: grid;
	align-content: start;
	padding: 28px;
	background-color: var(--dsb-blue);
	background-position: center;
	background-size: cover;
}

.window-glass::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.18) 0 18%, transparent 18% 34%, rgba(255, 255, 255, 0.16) 34% 52%, transparent 52%),
		rgba(16, 20, 24, 0.42);
}

.window-glass img {
	position: relative;
	z-index: 1;
	box-sizing: content-box;
	padding: 10px;
	background: var(--dsb-white);
}

.window-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: 30px;
	border-left: 1px solid var(--dsb-line);
	background: var(--dsb-white);
}

.concept--control-deck {
	display: grid;
	grid-template-columns: 0.44fr minmax(0, 1fr);
	background: #101418;
	color: var(--dsb-white);
}

.deck-readout {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(30px, 6vw, 74px);
	border-right: 1px solid rgba(255, 255, 255, 0.22);
}

.deck-readout h2 {
	color: var(--dsb-white);
}

.deck-controls {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: 1fr 1fr;
}

.deck-controls b,
.deck-controls strong {
	display: grid;
	align-items: end;
	min-height: 210px;
	padding: 18px;
	border-right: 1px solid rgba(255, 255, 255, 0.18);
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
	color: var(--dsb-white);
}

.deck-controls b:nth-child(1) { background: var(--dsb-blue); }
.deck-controls b:nth-child(2) { background: #19242c; }
.deck-controls b:nth-child(3) { background: var(--dsb-cyan); color: var(--dsb-panel); }
.deck-controls b:nth-child(4) { background: var(--dsb-red); }

.deck-controls strong {
	grid-column: 1 / -1;
	min-height: 170px;
	font-size: clamp(1.6rem, 3.5vw, 4rem);
	line-height: 0.95;
}

.concept--field-notes {
	display: grid;
	grid-template-columns: 170px minmax(0, 1fr);
	background:
		repeating-linear-gradient(180deg, #fcfbf5 0 43px, #d8d5c8 44px 45px);
}

.notes-margin {
	display: grid;
	align-content: space-between;
	padding: 24px;
	border-right: 5px solid var(--dsb-red);
	background: rgba(255, 255, 255, 0.62);
}

.notes-page {
	display: grid;
	align-content: center;
	gap: 22px;
	padding: clamp(34px, 7vw, 92px);
}

.notes-page p {
	max-width: 680px;
}

.notes-page mark {
	width: max-content;
	padding: 10px 14px;
	background: var(--dsb-cyan);
	color: var(--dsb-panel);
	font-weight: 900;
}

.concept--screen-gallery {
	display: grid;
	grid-template-columns: 320px minmax(0, 1fr);
	background: var(--dsb-white);
}

.gallery-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: 30px;
	border-right: 1px solid var(--dsb-line);
}

.gallery-wall {
	position: relative;
	min-height: 560px;
	background: #eef3f6;
}

.gallery-wall span {
	position: absolute;
	border: 10px solid var(--dsb-panel);
	background: var(--dsb-blue);
	box-shadow: 16px 16px 0 rgba(16, 20, 24, 0.1);
}

.gallery-wall span:nth-child(1) { top: 50px; left: 8%; width: 36%; height: 190px; }
.gallery-wall span:nth-child(2) { top: 90px; right: 12%; width: 26%; height: 300px; background: var(--dsb-red); }
.gallery-wall span:nth-child(3) { left: 22%; bottom: 72px; width: 28%; height: 180px; background: var(--dsb-cyan); }
.gallery-wall span:nth-child(4) { right: 34%; bottom: 40px; width: 16%; height: 120px; background: var(--dsb-white); }
.gallery-wall span:nth-child(5) { right: 8%; bottom: 50px; width: 20%; height: 130px; background: var(--dsb-panel); }

.concept--procurement {
	display: grid;
	grid-template-rows: auto 1fr;
	background: #f7f9fb;
}

.concept--procurement > header,
.concept--menu-system > header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 18px;
	padding: 20px 26px;
	border-bottom: 1px solid var(--dsb-panel);
	background: var(--dsb-white);
}

.procurement-flow {
	display: grid;
	grid-template-columns: 0.42fr minmax(0, 1fr);
}

.procurement-flow h2 {
	display: grid;
	align-items: center;
	padding: clamp(30px, 5vw, 70px);
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.procurement-flow ol {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: procure;
}

.procurement-flow li {
	display: grid;
	align-content: end;
	min-height: 450px;
	padding: 18px;
	border-right: 1px solid var(--dsb-line);
	font-weight: 900;
}

.procurement-flow li::before {
	counter-increment: procure;
	content: "0" counter(procure);
	margin-bottom: auto;
	color: var(--dsb-red);
	font-size: 0.85rem;
}

.concept--install-route {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 330px;
	background: #f1f6f8;
}

.route-map {
	position: relative;
	min-height: 560px;
	background:
		linear-gradient(90deg, transparent 0 18%, rgba(0, 78, 151, 0.18) 18% 19%, transparent 19%),
		linear-gradient(24deg, transparent 0 44%, rgba(225, 31, 39, 0.22) 44% 46%, transparent 46%);
}

.route-map span {
	position: absolute;
	padding: 12px 16px;
	border-left: 8px solid var(--dsb-blue);
	background: var(--dsb-white);
	font-weight: 900;
}

.route-map span:nth-child(1) { left: 9%; top: 18%; }
.route-map span:nth-child(2) { right: 24%; top: 34%; }
.route-map span:nth-child(3) { left: 29%; bottom: 30%; }
.route-map span:nth-child(4) { right: 12%; bottom: 13%; border-color: var(--dsb-red); }

.route-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: 30px;
	border-left: 1px solid var(--dsb-line);
	background: var(--dsb-white);
}

.concept--support-console {
	display: grid;
	grid-template-columns: 0.4fr minmax(0, 1fr);
	background: #0a1014;
	color: var(--dsb-white);
}

.support-command {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(30px, 5vw, 66px);
}

.support-command h2,
.support-command p {
	color: var(--dsb-white);
}

.support-output {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(30px, 6vw, 84px);
	background:
		linear-gradient(90deg, rgba(0, 178, 226, 0.11) 1px, transparent 1px),
		linear-gradient(180deg, rgba(0, 178, 226, 0.11) 1px, transparent 1px);
	background-size: 34px 34px;
}

.support-output code {
	display: block;
	padding: 18px 0;
	border-bottom: 2px solid rgba(255, 255, 255, 0.32);
	color: var(--dsb-cyan);
	font-size: clamp(1.1rem, 2.4vw, 2.3rem);
	font-weight: 900;
}

.concept--content-loom {
	display: grid;
	grid-template-columns: 340px minmax(0, 1fr);
	background: #fff9ef;
}

.loom-title {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: 30px;
}

.loom-weave {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	min-height: 560px;
}

.loom-weave span {
	background: repeating-linear-gradient(180deg, var(--dsb-blue) 0 34px, var(--dsb-white) 35px 62px, var(--dsb-red) 63px 86px);
}

.loom-weave span:nth-child(even) {
	background: repeating-linear-gradient(180deg, var(--dsb-white) 0 28px, var(--dsb-panel) 29px 58px, var(--dsb-cyan) 59px 84px);
}

.concept--display-lab {
	display: grid;
	grid-template-columns: 0.3fr minmax(0, 1fr);
	background: #eef1f3;
}

.lab-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: 30px;
	background: var(--dsb-white);
	border-right: 1px solid var(--dsb-line);
}

.lab-bench {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	padding: clamp(28px, 5vw, 64px);
}

.lab-bench b {
	display: grid;
	align-items: end;
	min-height: 210px;
	padding: 18px;
	border: 1px solid var(--dsb-panel);
	background: var(--dsb-white);
	font-weight: 900;
}

.lab-bench b:nth-child(2),
.lab-bench b:nth-child(3) {
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.concept--audience-pulse {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	background: var(--dsb-panel);
}

.pulse-chart {
	display: flex;
	align-items: end;
	gap: 20px;
	padding: clamp(30px, 7vw, 88px);
	min-height: 560px;
}

.pulse-chart span {
	flex: 1;
	background: var(--dsb-cyan);
}

.pulse-chart span:nth-child(1) { height: 32%; }
.pulse-chart span:nth-child(2) { height: 64%; background: var(--dsb-blue); }
.pulse-chart span:nth-child(3) { height: 46%; background: var(--dsb-white); }
.pulse-chart span:nth-child(4) { height: 82%; background: var(--dsb-red); }
.pulse-chart span:nth-child(5) { height: 54%; }

.pulse-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: 30px;
	background: var(--dsb-white);
}

.concept--expo {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	background: #f6f8fa;
}

.expo-plan {
	position: relative;
	min-height: 560px;
	background:
		linear-gradient(90deg, rgba(16, 20, 24, 0.08) 1px, transparent 1px),
		linear-gradient(180deg, rgba(16, 20, 24, 0.08) 1px, transparent 1px);
	background-size: 52px 52px;
}

.expo-plan span {
	position: absolute;
	display: grid;
	place-items: center;
	border: 4px solid var(--dsb-panel);
	background: var(--dsb-white);
	font-weight: 900;
}

.expo-plan span:nth-child(1) { left: 8%; top: 12%; width: 34%; height: 120px; background: var(--dsb-red); color: var(--dsb-white); }
.expo-plan span:nth-child(2) { right: 16%; top: 18%; width: 24%; height: 180px; }
.expo-plan span:nth-child(3) { left: 24%; bottom: 16%; width: 28%; height: 150px; background: var(--dsb-cyan); }
.expo-plan span:nth-child(4) { right: 10%; bottom: 14%; width: 20%; height: 110px; background: var(--dsb-blue); color: var(--dsb-white); }

.expo-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: 30px;
	background: var(--dsb-white);
	border-left: 1px solid var(--dsb-line);
}

.concept--weatherproof {
	display: grid;
	grid-template-columns: 0.4fr minmax(0, 1fr);
	background: #15191d;
	color: var(--dsb-white);
}

.weather-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(30px, 5vw, 68px);
}

.weather-copy h2,
.weather-copy p {
	color: var(--dsb-white);
}

.weather-layers {
	display: grid;
	align-content: center;
	padding: clamp(30px, 6vw, 82px);
}

.weather-layers span {
	display: block;
	padding: 22px 0;
	border-top: 8px solid var(--dsb-cyan);
	color: var(--dsb-white);
	font-size: clamp(1.5rem, 3vw, 3.2rem);
	font-weight: 900;
}

.weather-layers span:nth-child(2) { border-color: var(--dsb-blue); }
.weather-layers span:nth-child(3) { border-color: var(--dsb-red); }
.weather-layers span:nth-child(4) { border-color: var(--dsb-white); }

.concept--menu-system {
	display: grid;
	grid-template-rows: auto 1fr;
	background: #111;
	color: var(--dsb-white);
}

.menu-system-board {
	display: grid;
	grid-template-columns: 0.44fr minmax(0, 1fr);
}

.menu-system-board h2 {
	display: grid;
	align-items: center;
	padding: clamp(30px, 5vw, 66px);
	color: var(--dsb-white);
}

.menu-system-board dl {
	display: grid;
	margin: 0;
	padding: clamp(28px, 5vw, 64px);
}

.menu-system-board div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
	padding: 22px 0;
	border-bottom: 2px solid rgba(255, 255, 255, 0.28);
}

.menu-system-board dt,
.menu-system-board dd {
	margin: 0;
	color: var(--dsb-white);
	font-weight: 900;
}

.concept--campus {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	background: #f0f6f8;
}

.campus-lines {
	position: relative;
	min-height: 560px;
	background:
		linear-gradient(90deg, transparent 0 35%, rgba(0, 78, 151, 0.24) 35% 37%, transparent 37%),
		linear-gradient(135deg, transparent 0 47%, rgba(225, 31, 39, 0.2) 47% 49%, transparent 49%);
}

.campus-lines span {
	position: absolute;
	padding: 12px 16px;
	border-bottom: 5px solid var(--dsb-blue);
	background: var(--dsb-white);
	font-weight: 900;
}

.campus-lines span:nth-child(1) { top: 18%; left: 14%; }
.campus-lines span:nth-child(2) { top: 45%; right: 18%; border-color: var(--dsb-red); }
.campus-lines span:nth-child(3) { bottom: 18%; left: 34%; border-color: var(--dsb-cyan); }

.campus-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: 30px;
	background: var(--dsb-white);
	border-left: 1px solid var(--dsb-line);
}

.concept--agency-pitch {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	background: #f8f8f8;
}

.pitch-slide {
	display: grid;
	align-content: space-between;
	padding: clamp(30px, 6vw, 84px);
	background:
		linear-gradient(135deg, var(--dsb-panel) 0 52%, var(--dsb-blue) 52% 76%, var(--dsb-red) 76%);
}

.pitch-slide img {
	box-sizing: content-box;
	padding: 10px;
	background: var(--dsb-white);
}

.pitch-slide h2 {
	max-width: 620px;
	color: var(--dsb-white);
}

.pitch-notes {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: 30px;
	background: var(--dsb-white);
}

.concept--compliance {
	display: grid;
	grid-template-columns: 0.44fr minmax(0, 1fr);
	background: #f9fafb;
}

.compliance-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(30px, 5vw, 66px);
	background: var(--dsb-white);
	border-right: 1px solid var(--dsb-line);
}

.compliance-stamps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	align-content: center;
	gap: 0;
	padding: clamp(30px, 5vw, 66px);
}

.compliance-stamps b {
	display: grid;
	place-items: center;
	min-height: 210px;
	border: 8px solid var(--dsb-red);
	color: var(--dsb-red);
	font-size: clamp(1rem, 2vw, 2rem);
	text-transform: uppercase;
	transform: rotate(-8deg);
}

.compliance-stamps b:nth-child(2) {
	border-color: var(--dsb-blue);
	color: var(--dsb-blue);
	transform: rotate(6deg);
}

.compliance-stamps b:nth-child(3) {
	border-color: var(--dsb-panel);
	color: var(--dsb-panel);
	transform: rotate(-2deg);
}

.concept--case-reel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.reel-strip {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	padding: clamp(30px, 6vw, 82px);
}

.reel-strip span {
	min-height: 430px;
	border-top: 18px solid var(--dsb-white);
	border-bottom: 18px solid var(--dsb-white);
	background: var(--dsb-blue);
}

.reel-strip span:nth-child(2) { background: var(--dsb-red); }
.reel-strip span:nth-child(3) { background: var(--dsb-cyan); }
.reel-strip span:nth-child(4) { background: #eef2f5; }

.reel-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: 30px;
	background: var(--dsb-white);
}

.concept--decision {
	display: grid;
	grid-template-columns: 0.42fr minmax(0, 1fr);
	background: #eef4f6;
}

.decision-copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(30px, 5vw, 66px);
	background: var(--dsb-white);
}

.decision-panel {
	display: grid;
	align-content: center;
	gap: 22px;
	padding: clamp(30px, 6vw, 84px);
	background:
		linear-gradient(90deg, rgba(0, 78, 151, 0.12) 1px, transparent 1px),
		linear-gradient(180deg, rgba(0, 78, 151, 0.12) 1px, transparent 1px);
	background-size: 40px 40px;
}

.decision-panel button {
	display: block;
	width: 100%;
	padding: 22px 0;
	border: 0;
	border-bottom: 6px solid var(--dsb-panel);
	background: transparent;
	color: var(--dsb-panel);
	font-size: clamp(1.15rem, 2.4vw, 2.4rem);
	font-weight: 900;
	text-align: left;
	cursor: default;
}

.decision-panel button:nth-child(2) {
	border-color: var(--dsb-red);
}

.decision-panel button:nth-child(3) {
	border-color: var(--dsb-cyan);
}

@media (max-width: 900px) {
	.concept--data-spine,
	.concept--retail-window,
	.concept--control-deck,
	.concept--field-notes,
	.concept--screen-gallery,
	.procurement-flow,
	.concept--install-route,
	.concept--support-console,
	.concept--content-loom,
	.concept--display-lab,
	.concept--audience-pulse,
	.concept--expo,
	.concept--weatherproof,
	.menu-system-board,
	.concept--campus,
	.concept--agency-pitch,
	.concept--compliance,
	.concept--case-reel,
	.concept--decision {
		grid-template-columns: 1fr;
	}

	.deck-controls,
	.procurement-flow ol,
	.lab-bench,
	.compliance-stamps,
	.reel-strip {
		grid-template-columns: 1fr 1fr;
	}

	.gallery-wall,
	.route-map,
	.expo-plan,
	.campus-lines {
		min-height: 420px;
	}
}

@media (max-width: 640px) {
	.masthead-top,
	.masthead-footer,
	.deck-controls,
	.procurement-flow ol,
	.lab-bench,
	.compliance-stamps,
	.reel-strip {
		grid-template-columns: 1fr;
	}

	.gallery-wall,
	.route-map,
	.expo-plan,
	.campus-lines {
		min-height: 340px;
	}

	.gallery-wall span,
	.route-map span,
	.expo-plan span,
	.campus-lines span {
		position: static;
		width: auto !important;
		height: auto !important;
		min-height: 72px;
	}

	.gallery-wall,
	.route-map,
	.expo-plan,
	.campus-lines {
		display: grid;
		gap: 12px;
		padding: 20px;
	}

	.loom-weave {
		grid-template-columns: 1fr 1fr;
		min-height: 340px;
	}

	.data-spine-track::before {
		left: 24px;
		transform: none;
	}

	.data-spine-track i,
	.data-spine-track i:nth-child(even) {
		width: auto;
		margin-left: 0;
		text-align: left;
	}
}

body.home .site-header {
	background: rgba(9, 15, 19, 0.98);
	border-bottom: 1px solid rgba(32, 184, 255, 0.3);
	backdrop-filter: none;
}

body.home .site-branding {
	padding: 8px 10px;
	border-left: 5px solid var(--dsb-cyan);
	background: var(--dsb-white);
}

body.home .site-nav a {
	border-radius: 0;
	color: rgba(255, 255, 255, 0.84);
}

body.home .site-nav a:hover,
body.home .site-nav a:focus,
body.home .site-nav .current-menu-item > a,
body.home .site-nav .current-menu-ancestor > a {
	background: rgba(32, 184, 255, 0.12);
	color: var(--dsb-cyan);
}

body.home .header-search {
	border-color: rgba(255, 255, 255, 0.16);
	border-radius: 0;
	background: rgba(255, 255, 255, 0.08);
}

body.home .header-search input[type="search"] {
	color: var(--dsb-white);
}

body.home .header-search input[type="search"]::placeholder {
	color: rgba(255, 255, 255, 0.62);
}

body.home .header-search button {
	border-radius: 0;
	background: var(--dsb-cyan);
	color: var(--dsb-panel);
}

.support-home {
	--support-bg: #091014;
	--support-ink: #d8f5ff;
	--support-muted: #83a2af;
	--support-line: rgba(165, 226, 248, 0.18);
	background: var(--support-bg);
	color: var(--support-ink);
}

.support-home * {
	border-radius: 0 !important;
}

.support-home a {
	color: var(--dsb-cyan);
}

.support-home h1,
.support-home h2,
.support-home h3,
.support-home p {
	color: inherit;
}

.support-hero {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid var(--support-line);
	background:
		linear-gradient(90deg, rgba(32, 184, 255, 0.08) 1px, transparent 1px),
		linear-gradient(180deg, rgba(32, 184, 255, 0.08) 1px, transparent 1px),
		linear-gradient(135deg, #091014 0%, #101a22 52%, #071116 100%);
	background-size: 44px 44px, 44px 44px, auto;
}

.support-hero::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 12px;
	background: linear-gradient(90deg, var(--dsb-cyan), var(--dsb-blue), var(--dsb-red));
}

.support-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.72fr);
	gap: 42px;
	align-items: stretch;
	padding: 72px 0 84px;
}

.support-hero__copy {
	display: grid;
	align-content: center;
	gap: 22px;
}

.support-kicker,
.support-section__head > span,
.support-route > span,
.support-part > span:not(.support-thumb),
.support-proof__copy > span,
.support-community a > span:not(.support-thumb) {
	color: var(--dsb-cyan);
	font-size: 0.78rem;
	font-weight: 900;
	text-transform: uppercase;
}

.support-hero h1 {
	max-width: 900px;
	margin: 0;
	color: var(--dsb-white);
	font-size: 4.45rem;
	line-height: 0.92;
}

.support-hero__copy p {
	max-width: 720px;
	margin: 0;
	color: rgba(216, 245, 255, 0.78);
	font-size: 1.08rem;
}

.support-prompt {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	max-width: 620px;
	padding: 16px 0;
	border-top: 1px solid var(--support-line);
	border-bottom: 1px solid var(--support-line);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}

.support-prompt span {
	color: var(--dsb-cyan);
	font-weight: 800;
}

.support-prompt strong {
	color: var(--dsb-white);
	font-weight: 900;
}

.support-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin-top: 8px;
}

.support-actions a {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 12px 18px;
	border: 1px solid var(--support-line);
	border-right: 0;
	color: var(--dsb-white);
	font-weight: 900;
	text-decoration: none;
	text-transform: uppercase;
}

.support-actions a:last-child {
	border-right: 1px solid var(--support-line);
}

.support-actions a:hover,
.support-actions a:focus {
	background: var(--dsb-cyan);
	color: var(--dsb-panel);
}

.support-terminal {
	display: grid;
	grid-template-rows: auto 1fr;
	min-height: 560px;
	border: 1px solid var(--support-line);
	background: rgba(2, 9, 12, 0.88);
	box-shadow: 0 28px 80px rgba(0, 0, 0, 0.38);
}

.support-terminal__bar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto auto;
	gap: 10px;
	align-items: center;
	padding: 14px 16px;
	border-bottom: 1px solid var(--support-line);
	background: rgba(255, 255, 255, 0.04);
}

.support-terminal__bar span {
	color: var(--support-muted);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
	font-size: 0.86rem;
	font-weight: 800;
}

.support-terminal__bar i {
	width: 11px;
	height: 11px;
	background: var(--dsb-cyan);
}

.support-terminal__bar i:nth-child(3) {
	background: var(--dsb-orange);
}

.support-terminal__bar i:nth-child(4) {
	background: var(--dsb-red);
}

.support-terminal__body {
	display: grid;
	align-content: start;
	padding: 18px;
}

.support-output {
	display: grid;
	grid-template-columns: 0.42fr minmax(0, 1fr);
	gap: 18px;
	padding: 15px 0;
	border-bottom: 1px solid var(--support-line);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}

.support-output span {
	color: var(--support-muted);
}

.support-output strong {
	color: var(--dsb-white);
}

.support-output--ok strong {
	color: var(--dsb-cyan);
}

.support-output--warn strong {
	color: var(--dsb-orange);
}

.support-output--alert strong {
	color: #ff6f6f;
}

.support-lead {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	margin-top: 24px;
	padding: 22px 0 0;
	border-top: 4px solid var(--dsb-cyan);
}

.support-lead div > span {
	color: var(--support-muted);
	font-size: 0.78rem;
	font-weight: 900;
	text-transform: uppercase;
}

.support-lead h2 {
	margin: 0;
	font-size: 1.6rem;
	line-height: 1.08;
}

.support-lead h2 a {
	color: var(--dsb-white);
	text-decoration: none;
}

.support-lead p {
	margin: 0;
	color: rgba(216, 245, 255, 0.7);
}

.support-thumb {
	display: block;
	overflow: hidden;
	border: 1px solid var(--support-line);
	background: rgba(255, 255, 255, 0.05);
}

.support-thumb__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 180ms ease, filter 180ms ease;
}

.support-thumb:hover .support-thumb__image,
.support-thumb:focus .support-thumb__image,
.support-part:hover .support-thumb__image,
.support-part:focus .support-thumb__image,
.support-community a:hover .support-thumb__image,
.support-community a:focus .support-thumb__image {
	filter: contrast(1.05) saturate(1.08);
	transform: scale(1.035);
}

.support-lead__thumb {
	aspect-ratio: 4 / 3;
	border-color: rgba(32, 184, 255, 0.38);
}

.support-section {
	padding: 72px 0;
	border-bottom: 1px solid var(--support-line);
	background: #0b1217;
}

.support-section--queue {
	background: #0d151b;
}

.support-section--routes,
.support-section--community {
	background: #edf4f8;
	color: var(--dsb-panel);
}

.support-section--parts {
	background: #f7fafc;
	color: var(--dsb-panel);
}

.support-section--proof {
	background: #071014;
}

.support-section__head {
	display: grid;
	grid-template-columns: 0.22fr minmax(0, 1fr) auto;
	gap: 24px;
	align-items: end;
	margin-bottom: 28px;
	padding-bottom: 18px;
	border-bottom: 1px solid currentColor;
}

.support-section--queue .support-section__head,
.support-section--proof .support-section__head {
	border-color: var(--support-line);
}

.support-section__head h2 {
	margin: 0;
	font-size: 2.45rem;
	line-height: 1;
}

.support-section__head a {
	color: inherit;
	font-weight: 900;
	text-transform: uppercase;
	text-decoration: none;
}

.support-feed {
	display: grid;
	border-top: 1px solid var(--support-line);
}

.support-feed__row {
	display: grid;
	grid-template-columns: 56px 104px minmax(0, 1fr) 72px;
	gap: 22px;
	align-items: center;
	padding: 22px 0;
	border-bottom: 1px solid var(--support-line);
}

.support-feed__thumb {
	aspect-ratio: 4 / 3;
	border-color: rgba(165, 226, 248, 0.2);
}

.support-feed__row > span,
.support-feed__row time {
	color: var(--dsb-cyan);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
	font-weight: 900;
}

.support-feed__row h3 {
	margin: 0 0 6px;
	font-size: 1.4rem;
	line-height: 1.15;
}

.support-feed__row h3 a {
	color: var(--dsb-white);
	text-decoration: none;
}

.support-feed__row h3 a:hover,
.support-feed__row h3 a:focus {
	color: var(--dsb-cyan);
}

.support-feed__row p {
	max-width: 820px;
	margin: 0;
	color: rgba(216, 245, 255, 0.7);
}

.support-routes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--dsb-panel);
	border-left: 1px solid var(--dsb-panel);
}

.support-route {
	display: grid;
	align-content: end;
	gap: 18px;
	min-height: 230px;
	padding: 22px;
	border-right: 1px solid var(--dsb-panel);
	border-bottom: 1px solid var(--dsb-panel);
	background: var(--dsb-white);
	color: var(--dsb-panel);
	text-decoration: none;
}

.support-route--wide {
	grid-column: span 2;
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.support-route h2 {
	margin: 0;
	color: inherit;
	font-size: 2.6rem;
	line-height: 0.98;
}

.support-route strong {
	color: inherit;
	font-size: 1.15rem;
	line-height: 1.25;
}

.support-route:hover,
.support-route:focus {
	background: var(--dsb-cyan);
	color: var(--dsb-panel);
}

.support-parts {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--dsb-panel);
	border-left: 1px solid var(--dsb-panel);
}

.support-part {
	display: grid;
	align-content: space-between;
	gap: 16px;
	min-height: 210px;
	padding: 20px;
	border-right: 1px solid var(--dsb-panel);
	border-bottom: 1px solid var(--dsb-panel);
	background: var(--dsb-white);
	color: var(--dsb-panel);
	text-decoration: none;
}

.support-part__thumb {
	aspect-ratio: 16 / 10;
	margin: -20px -20px 2px;
	border-top: 0;
	border-right: 0;
	border-left: 0;
	border-color: var(--dsb-panel);
	background: var(--dsb-soft-2);
}

.support-part--category {
	background: #e7f6fb;
}

.support-part strong {
	color: inherit;
	font-size: 1.18rem;
	line-height: 1.18;
}

.support-part em {
	color: var(--dsb-muted);
	font-style: normal;
}

.support-part:hover,
.support-part:focus {
	background: var(--dsb-panel);
	color: var(--dsb-white);
}

.support-part:hover em,
.support-part:focus em {
	color: rgba(255, 255, 255, 0.72);
}

.support-proof {
	display: grid;
	grid-template-columns: 0.36fr minmax(0, 1fr);
	border: 1px solid var(--support-line);
}

.support-proof__copy {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: 32px;
	border-right: 1px solid var(--support-line);
}

.support-proof__copy h2 {
	margin: 0;
	color: var(--dsb-white);
	font-size: 2.6rem;
	line-height: 0.98;
}

.support-proof__list {
	display: grid;
}

.support-proof__list article {
	display: grid;
	grid-template-columns: 110px 96px minmax(0, 1fr);
	gap: 20px;
	align-items: start;
	padding: 26px;
	border-bottom: 1px solid var(--support-line);
}

.support-proof__list article:last-child {
	border-bottom: 0;
}

.support-proof__list time {
	color: var(--dsb-cyan);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
	font-weight: 900;
}

.support-proof__thumb {
	aspect-ratio: 1 / 1;
	border-color: rgba(32, 184, 255, 0.24);
}

.support-proof__list h3 {
	margin: 0 0 8px;
	font-size: 1.35rem;
}

.support-proof__list h3 a {
	color: var(--dsb-white);
	text-decoration: none;
}

.support-proof__list p {
	margin: 0;
	color: rgba(216, 245, 255, 0.7);
}

.support-community {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--dsb-panel);
	border-left: 1px solid var(--dsb-panel);
}

.support-community a {
	display: grid;
	align-content: space-between;
	gap: 18px;
	min-height: 190px;
	padding: 20px;
	border-right: 1px solid var(--dsb-panel);
	border-bottom: 1px solid var(--dsb-panel);
	background: var(--dsb-white);
	color: var(--dsb-panel);
	text-decoration: none;
}

.support-community__thumb {
	aspect-ratio: 16 / 10;
	margin: -20px -20px 0;
	border-top: 0;
	border-right: 0;
	border-left: 0;
	border-color: var(--dsb-panel);
	background: var(--dsb-soft-2);
}

.support-community a:hover,
.support-community a:focus {
	background: var(--dsb-cyan);
	color: var(--dsb-panel);
}

.support-community strong {
	color: inherit;
	font-size: 1.08rem;
	line-height: 1.22;
}

@media (max-width: 1100px) {
	.support-hero h1 {
		font-size: 3.4rem;
	}

	.support-hero__grid,
	.support-proof {
		grid-template-columns: 1fr;
	}

	.support-proof__copy {
		border-right: 0;
		border-bottom: 1px solid var(--support-line);
	}

	.support-parts,
	.support-community {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	body.home .site-header {
		background: var(--dsb-white);
		border-bottom-color: var(--dsb-line);
	}

	body.home .site-branding {
		padding: 0;
		border-left: 0;
	}

	body.home .site-nav a {
		color: var(--dsb-ink);
	}

	body.home .header-search {
		background: var(--dsb-soft);
		border-color: var(--dsb-line);
	}

	body.home .header-search input[type="search"] {
		color: var(--dsb-ink);
	}

	body.home .menu-toggle,
	body.home .search-toggle {
		border-radius: 0;
		background: var(--dsb-white);
	}

	.support-section__head,
	.support-routes,
	.procurement-flow,
	.support-parts,
	.support-community {
		grid-template-columns: 1fr;
	}

	.support-route--wide {
		grid-column: auto;
	}
}

@media (max-width: 640px) {
	.support-hero__grid {
		padding: 44px 0 56px;
	}

	.support-hero h1 {
		font-size: 2.35rem;
		line-height: 1;
	}

	.support-terminal {
		min-height: 0;
	}

	.support-prompt,
	.support-output,
	.support-lead,
	.support-feed__row,
	.support-proof__list article {
		grid-template-columns: 1fr;
	}

	.support-actions a {
		width: 100%;
		border-right: 1px solid var(--support-line);
		border-bottom: 0;
	}

	.support-actions a:last-child {
		border-bottom: 1px solid var(--support-line);
	}

	.support-section {
		padding: 46px 0;
	}

	.support-section__head h2,
	.support-route h2,
	.support-proof__copy h2 {
		font-size: 2rem;
	}

	.support-proof__list p {
		grid-column: auto;
		margin-top: 0;
	}
}
