/* diVa theme: main stylesheet. Colours and type follow the new datasheet format (CLAUDE.md §3). */

:root {
	--diva-orange: #EC7A2D;
	--diva-logo-orange: #F68712;
	--diva-accent-text: #B8561A; /* orange darkened for small text on ivory */
	--diva-black: #1B1B1D;
	--diva-ivory: #FBFAF7;
	--diva-text-2: #4A4A4F;
	--diva-border: #D9D6CF;
	--diva-badge-border: #C9C5BC;
	--diva-tint: #F1EFEA;
	--diva-on-dark: #D9D6CF;
	--diva-gutter: 64px;
	--diva-font: 'Barlow', 'Helvetica Neue', Arial, sans-serif;
	--diva-font-cond: 'Barlow Condensed', 'Arial Narrow', sans-serif;
	--diva-font-mono: 'IBM Plex Mono', ui-monospace, monospace;
}

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

body {
	margin: 0;
	background: var(--diva-ivory);
	color: var(--diva-black);
	font-family: var(--diva-font);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }
a { color: inherit; }
a:hover { color: var(--diva-accent-text); }

.diva-skip {
	position: absolute; left: 16px; top: -60px; z-index: 100;
	background: var(--diva-orange); color: var(--diva-black);
	padding: 10px 16px; border-radius: 8px; font-weight: 600; text-decoration: none;
}
.diva-skip:focus { top: 12px; }

.diva-wrap {
	width: 100%;
	max-width: 1440px;
	margin-inline: auto;
	padding-inline: var(--diva-gutter);
}

/* ---------- Type helpers ---------- */

.diva-mono { font-family: var(--diva-font-mono); font-size: 13px; }
.diva-muted { color: var(--diva-text-2); }
.diva-accent { color: var(--diva-accent-text); }
.diva-orange { color: var(--diva-orange); }

.diva-eyebrow {
	margin: 0;
	font-family: var(--diva-font-mono);
	font-size: 13px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--diva-accent-text);
	white-space: nowrap;
}
.diva-eyebrow--orange { color: var(--diva-orange); font-size: 14px; }
.diva-eyebrow--wrap { white-space: normal; }

.diva-h2 {
	margin: 0;
	font-family: var(--diva-font-cond);
	font-weight: 600;
	font-size: 56px;
	line-height: 1;
}
.diva-h3 {
	margin: 0 0 20px;
	font-family: var(--diva-font-cond);
	font-weight: 600;
	font-size: 34px;
	line-height: 1.1;
}
.diva-lead { margin: 0; font-size: 18px; line-height: 1.55; color: var(--diva-text-2); }

.diva-underline {
	align-self: flex-start;
	font-weight: 600;
	font-size: 16px;
	text-decoration: none;
	border-bottom: 2px solid var(--diva-orange);
	padding-bottom: 2px;
}
.diva-underline--light { color: var(--diva-ivory); }

.diva-section-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 48px;
	margin-bottom: 36px;
}
.diva-section-head .diva-lead { max-width: 520px; }

/* ---------- Buttons ---------- */

.diva-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 52px;
	padding: 0 28px;
	border-radius: 26px;
	font-weight: 600;
	font-size: 17px;
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
}
.diva-btn--sm { height: 44px; padding: 0 22px; border-radius: 22px; font-size: 15px; }
.diva-btn--orange { background: var(--diva-orange); color: var(--diva-black); }
.diva-btn--orange:hover { background: var(--diva-logo-orange); color: var(--diva-black); }
.diva-btn--dark { background: var(--diva-black); color: var(--diva-ivory); }
.diva-btn--dark:hover { color: var(--diva-ivory); background: #000; }
.diva-btn--ghost { border: 1px solid var(--diva-ivory); color: var(--diva-ivory); }
.diva-btn--ghost:hover { background: rgba(251, 250, 247, 0.12); color: var(--diva-ivory); }
.diva-btn--link {
	padding: 0 12px;
	color: var(--diva-ivory);
	text-decoration: underline;
	text-decoration-color: var(--diva-orange);
	text-underline-offset: 6px;
}
.diva-btn--link:hover { color: var(--diva-ivory); }

.diva-card {
	background: #FFFFFF;
	border: 1px solid var(--diva-border);
	border-radius: 14px;
}

/* ---------- Header ---------- */

.diva-header {
	position: relative;
	z-index: 20;
	height: 88px;
	background: var(--diva-black);
	color: var(--diva-ivory);
	display: flex;
	align-items: center;
	gap: 40px;
	padding: 0 var(--diva-gutter) 0 284px;
}

.diva-header__logo {
	position: absolute;
	left: 60px;
	top: 10px;
	display: block;
	line-height: 0;
}
.diva-header__logo img { height: 180px; width: auto; }

.diva-nav { flex-grow: 1; }
.diva-nav__list {
	display: flex;
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 16px;
	font-weight: 500;
}
.diva-nav__list { align-items: baseline; }
.diva-nav__list a { color: var(--diva-ivory); text-decoration: none; }
.diva-nav__primary > a {
	font-family: var(--diva-font-cond);
	font-weight: 600;
	font-size: 21px;
	letter-spacing: 0.02em;
	padding-bottom: 3px;
	border-bottom: 2px solid var(--diva-orange);
	white-space: nowrap;
}
.diva-nav__primary + li:not(.diva-nav__primary) { margin-left: 8px; padding-left: 28px; border-left: 1px solid rgba(251, 250, 247, 0.25); }
.diva-mobile-nav .diva-nav__primary > a { font-size: 22px; }
.diva-mobile-nav .diva-nav__primary + li:not(.diva-nav__primary) { margin-left: 0; padding-left: 0; border-left: 0; }
.diva-nav__list a:hover,
.diva-nav__list .current-menu-item > a { color: var(--diva-orange); }

/* Menu dropdowns (Products, Case studies): open on hover or keyboard focus, under the header bar,
   lined up with the menu and clear of the hanging logo. A short close delay forgives a stray pointer. */
.diva-mega {
	position: absolute;
	top: 88px;
	left: 284px;
	width: min(920px, calc(100% - 284px - var(--diva-gutter)));
	z-index: 25;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 230px;
	gap: 28px;
	padding: 24px 28px 26px;
	background: var(--diva-ivory);
	color: var(--diva-black);
	border-bottom: 3px solid var(--diva-orange);
	border-radius: 0 0 14px 14px;
	box-shadow: 0 18px 40px rgba(27, 27, 29, 0.2);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.15s ease, transform 0.15s ease, visibility 0s linear 0.25s;
	transition-delay: 0.2s, 0.2s, 0.45s;
}
.diva-mega::before { content: ''; position: absolute; left: 0; right: 0; top: -40px; height: 40px; } /* Hover bridge from the menu item. */
.diva-nav__has-mega:hover > .diva-mega,
.diva-nav__has-mega.is-open > .diva-mega, /* nav.js keeps it open across the panel and the header above it */
.diva-nav__has-mega:focus-within > .diva-mega {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition-delay: 0.08s, 0.08s, 0s;
}
.diva-nav__has-mega:hover > a, .diva-nav__has-mega.is-open > a, .diva-nav__has-mega:focus-within > a { color: var(--diva-orange); }
/* Hover target: the whole height of the header bar and half the gap either side, not just the words,
   so the dropdown opens easily and stays open on the way down to it. */
.diva-nav__has-mega > a { position: relative; }
.diva-nav__has-mega > a::before { content: ''; position: absolute; top: -34px; bottom: -36px; left: -8px; right: -8px; }
/* With nav.js running (class on <html>), the script alone opens and closes the dropdowns: CSS :hover and the panel's
   hover bridge are switched off, because the bridge lay over the other menu label and the two fought (flicker). */
html.diva-nav-js .diva-nav__has-mega:hover:not(.is-open):not(:focus-within) > .diva-mega { opacity: 0; visibility: hidden; transform: translateY(-6px); transition-delay: 0s, 0s, 0.25s; }
html.diva-nav-js .diva-nav__has-mega:hover:not(.is-open):not(:focus-within) > a { color: inherit; }
html.diva-nav-js .diva-mega::before { display: none; }
.diva-mega a { color: var(--diva-black); text-decoration: none; }
.diva-mega__label { margin: 0 0 12px; font-family: var(--diva-font-mono); font-size: 12px; font-weight: 400; letter-spacing: 1.5px; text-transform: uppercase; color: var(--diva-accent-text); }
.diva-mega__cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px 12px; }
.diva-mega__card, .diva-mega__project { display: flex; flex-direction: column; gap: 4px; padding: 6px; margin: -6px; border-radius: 10px; }
.diva-mega__card:hover, .diva-mega__project:hover, .diva-mega__card:focus-visible, .diva-mega__project:focus-visible { background: #FFFFFF; box-shadow: inset 0 0 0 1px var(--diva-orange); outline: none; color: var(--diva-black); }
.diva-mega__img { display: block; height: 84px; border-radius: 8px; overflow: hidden; background: #FFFFFF; border: 1px solid var(--diva-border); margin-bottom: 4px; }
.diva-mega__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.diva-mega__img--cutout img { object-fit: contain; padding: 8px; mix-blend-mode: multiply; }
.diva-mega__name { font-family: var(--diva-font-cond); font-weight: 600; font-size: 18px; line-height: 1.1; letter-spacing: 0; border: 0; padding: 0; }
.diva-mega__meta { font-size: 12px; font-weight: 400; color: var(--diva-text-2); line-height: 1.3; }
.diva-mega__projects { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.diva-mega__photo { display: block; aspect-ratio: 16 / 9; border-radius: 8px; overflow: hidden; background: var(--diva-tint); margin-bottom: 6px; }
.diva-mega__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.diva-mega--projects .diva-mega__meta { font-size: 11px; }
.diva-mega--projects .diva-mega__name { font-size: 20px; }
.diva-mega__side { display: flex; flex-direction: column; border-left: 1px solid var(--diva-border); padding-left: 24px; }
.diva-mega__links { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.diva-mega__links a { display: block; padding: 5px 0; font-size: 15px; font-weight: 500; }
.diva-mega__links a:hover { color: var(--diva-accent-text); }
.diva-mega__links a { display: flex; align-items: center; gap: 10px; }
.diva-mega__icon { width: 18px; height: 18px; flex-shrink: 0; fill: none; stroke: var(--diva-orange); stroke-width: 1.6; stroke-linejoin: round; stroke-linecap: round; }
.diva-mega__ctas { margin-top: auto; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.diva-mega__cta { font-weight: 600; font-size: 15px; border-bottom: 2px solid var(--diva-orange); padding-bottom: 2px; }
.diva-mega__cta--quiet { border-bottom-color: var(--diva-badge-border); font-weight: 500; }
/* Products dropdown: categories on the left, featured luminaires on the right (Chris, Oct 2026). */
.diva-mega--products { grid-template-columns: 230px minmax(0, 1fr); }
.diva-mega--products .diva-mega__side { border-left: 0; padding-left: 0; border-right: 1px solid var(--diva-border); padding-right: 24px; }
.diva-mega__all { display: flex; flex-direction: column; gap: 2px; margin: 4px 0 14px; padding: 12px 14px; border: 2px solid var(--diva-orange); border-radius: 10px; background: #FFFFFF; font-family: var(--diva-font-cond); font-weight: 700; font-size: 18px; letter-spacing: 0.02em; text-transform: uppercase; }
.diva-mega__all .diva-mono { font-family: var(--diva-font-mono); font-weight: 400; font-size: 12px; letter-spacing: 0.5px; text-transform: none; color: var(--diva-accent-text); }
.diva-mega .diva-mega__all:hover, .diva-mega .diva-mega__all:focus-visible { background: var(--diva-orange); color: var(--diva-black); outline: none; }
.diva-mega__all:hover .diva-mono, .diva-mega__all:focus-visible .diva-mono { color: var(--diva-black); }
.diva-mega__all--top { margin: 0 0 16px; }
.diva-mega .diva-mega__card .diva-mega__name, .diva-mega .diva-mega__project .diva-mega__name { font-family: var(--diva-font-cond); }
@media (prefers-reduced-motion: reduce) { .diva-mega { transition: none; } }

.diva-header__actions { display: flex; align-items: center; gap: 16px; }
.diva-header__search {
	width: 44px;
	height: 44px;
	border: 1px solid var(--diva-text-2);
	border-radius: 22px;
	color: var(--diva-ivory);
	display: flex;
	align-items: center;
	justify-content: center;
}
.diva-header__search:hover, .diva-header__search[aria-expanded="true"] { border-color: var(--diva-orange); color: var(--diva-orange); }
.diva-header__search--mobile { display: none; }

/* Search panel: drops down under the header bar and below the hanging logo, which stays on top
   (header z-index 20); the contents start clear of the logo. */
.diva-search {
	position: absolute;
	left: 0;
	right: 0;
	top: 88px;
	z-index: 19;
	background: var(--diva-ivory);
	border-bottom: 3px solid var(--diva-orange);
	box-shadow: 0 18px 40px rgba(27, 27, 29, 0.18);
	max-height: calc(100vh - 88px);
	overflow-y: auto;
}
.diva-search[hidden] { display: none; }
/* Black wave dropping from the header behind the hanging logo (deepest under the logo, rising to the
   right) with the orange accent line, so the white reversed logo stays legible. Its height is set per
   breakpoint so the curve always clears the logo (desktop: logo ends 248px across, 102px down). */
.diva-search__wave { display: block; width: 100%; height: 132px; }
.diva-search__inner { padding-top: 8px; padding-bottom: 24px; }
.diva-search__form { display: flex; align-items: center; gap: 12px; border-bottom: 2px solid var(--diva-black); padding-bottom: 8px; }
.diva-search__icon { flex-shrink: 0; color: var(--diva-accent-text); }
.diva-search__form input {
	flex-grow: 1;
	min-width: 0;
	height: 52px;
	border: 0;
	background: transparent;
	font-family: var(--diva-font-cond);
	font-weight: 600;
	font-size: 28px;
	color: var(--diva-black);
}
.diva-search__form input:focus { outline: none; }
.diva-search__form input::placeholder { color: var(--diva-text-2); font-weight: 500; }
.diva-search__close { flex-shrink: 0; width: 44px; height: 44px; border: 1px solid var(--diva-badge-border); border-radius: 22px; background: #FFFFFF; color: var(--diva-black); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.diva-search__close:hover { border-color: var(--diva-orange); }
.diva-search__results { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 8px 32px; }
.diva-search__results:not(:empty) { padding-top: 16px; }
.diva-search__group { min-width: 0; }
.diva-search__label { margin: 8px 0 6px; font-family: var(--diva-font-mono); font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--diva-accent-text); }
.diva-search__label span { color: var(--diva-text-2); }
.diva-search__list { list-style: none; margin: 0; padding: 0; }
.diva-search__list a { display: flex; align-items: center; gap: 12px; padding: 8px; margin: 0 -8px; border-radius: 10px; text-decoration: none; color: var(--diva-black); }
.diva-search__list a:hover, .diva-search__list a:focus-visible { background: #FFFFFF; outline: none; box-shadow: inset 0 0 0 1px var(--diva-orange); }
.diva-search__thumb { width: 44px; height: 44px; flex-shrink: 0; border-radius: 8px; background: #FFFFFF; border: 1px solid var(--diva-border); overflow: hidden; }
.diva-search__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.diva-search__text { display: flex; flex-direction: column; min-width: 0; }
.diva-search__title { font-weight: 600; font-size: 16px; line-height: 1.25; }
.diva-search__title.diva-mono { font-size: 14px; }
.diva-search__meta { font-size: 13px; color: var(--diva-text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.diva-search__empty { margin: 8px 0 0; color: var(--diva-text-2); grid-column: 1 / -1; }
@media (max-width: 600px) {
	/* Phone header is 72px tall and its logo ends about 30px into the panel. */
	.diva-search { top: 72px; max-height: calc(100vh - 72px); }
	.diva-search__wave { height: 64px !important; }
}
.diva-search__all { grid-column: 1 / -1; justify-self: start; margin-top: 8px; font-weight: 600; color: var(--diva-black); text-decoration: none; border-bottom: 2px solid var(--diva-orange); padding-bottom: 2px; }

/* Search results page */
.diva-search-page { padding-top: 32px; padding-bottom: 80px; }
.diva-search-page__form { display: flex; gap: 12px; margin-top: 20px; max-width: 760px; }
.diva-search-page__form input { flex-grow: 1; min-width: 0; height: 52px; padding: 0 16px; border: 0; border-radius: 26px; font: inherit; font-size: 17px; }
.diva-search-page__form input:focus { outline: 2px solid var(--diva-orange); }
.diva-search-page__form .diva-btn { border: 0; cursor: pointer; font-family: inherit; }
.diva-search-page__group { margin-top: 28px; }
.diva-search-page__label { display: flex; align-items: baseline; gap: 10px; margin: 0 0 10px; padding-bottom: 8px; border-bottom: 2px solid var(--diva-black); font-family: var(--diva-font-cond); font-weight: 600; font-size: 26px; }
.diva-search-page__label span { font-family: var(--diva-font-mono); font-size: 13px; font-weight: 400; color: var(--diva-text-2); }
.diva-search-page__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 4px 24px; }
.diva-search-page__list a { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 12px; align-items: center; padding: 10px; margin: 0 -10px; border-radius: 10px; text-decoration: none; color: var(--diva-black); }
.diva-search-page__list a:hover { background: #FFFFFF; box-shadow: inset 0 0 0 1px var(--diva-orange); }
.diva-search-page__img { grid-row: span 2; width: 56px; height: 56px; border-radius: 8px; background: #FFFFFF; border: 1px solid var(--diva-border); overflow: hidden; }
.diva-search-page__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.diva-search-page__title { grid-column: 2; font-weight: 600; font-size: 17px; }
.diva-search-page__title.diva-mono { font-size: 15px; }
.diva-search-page__meta { grid-column: 2; font-size: 14px; color: var(--diva-text-2); }
.diva-search-page__list:not(.diva-search-page__list--product) a { grid-template-columns: minmax(0, 1fr); }
.diva-search-page__list:not(.diva-search-page__list--product) .diva-search-page__title,
.diva-search-page__list:not(.diva-search-page__list--product) .diva-search-page__meta { grid-column: 1; }
.diva-search-page__none { padding: 28px; }
.diva-search-page__none p, .diva-search-page__none .diva-h3 { margin: 0 0 8px; }
.diva-search-page__none a { color: var(--diva-accent-text); }

.diva-mobile-nav { display: none; margin-left: auto; position: relative; }
.diva-mobile-nav summary {
	list-style: none;
	width: 44px;
	height: 44px;
	border: 1px solid var(--diva-text-2);
	border-radius: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--diva-ivory);
}
.diva-mobile-nav summary::-webkit-details-marker { display: none; }
.diva-mobile-nav nav {
	position: absolute;
	right: 0;
	top: 56px;
	width: min(320px, calc(100vw - 32px));
	background: var(--diva-black);
	border: 1px solid #3A3A3E;
	border-radius: 14px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.diva-mobile-nav .diva-nav__list { flex-direction: column; gap: 14px; font-size: 17px; }

/* ---------- Hero ---------- */

.diva-hero {
	position: relative;
	min-height: 790px;
	background: var(--diva-black);
	color: var(--diva-ivory);
	overflow: hidden;
	display: flex;
}
.diva-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 15%;
}
/* Shade follows the centred text column (1440px wrap), not the screen edge:
   dense behind the headline, clear shortly after it so the rest of the photo stays crisp.
   --diva-hero-offset is the empty margin either side of the wrap on wide screens. */
.diva-hero__shade {
	--diva-hero-offset: max(0px, calc((100% - 1440px) / 2));
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg,
		rgba(27, 27, 29, 0.55) 0,
		rgba(27, 27, 29, 0.84) calc(var(--diva-hero-offset) + 40px),
		rgba(27, 27, 29, 0.78) calc(var(--diva-hero-offset) + 520px),
		rgba(27, 27, 29, 0.35) calc(var(--diva-hero-offset) + 820px),
		rgba(27, 27, 29, 0) calc(var(--diva-hero-offset) + 1020px));
}
.diva-hero__body { position: relative; padding-top: 160px; padding-bottom: 220px; }
.diva-hero__text { max-width: 756px; display: flex; flex-direction: column; gap: 28px; }
.diva-hero__title {
	margin: 0;
	font-family: var(--diva-font-cond);
	font-weight: 600;
	font-size: clamp(56px, 7.2vw, 104px);
	line-height: 0.95;
	letter-spacing: -1px;
}
.diva-hero__intro { margin: 0; font-size: 15px; line-height: 1.5; color: var(--diva-on-dark); max-width: 602px; }
.diva-hero__actions { display: flex; flex-wrap: wrap; gap: 16px; padding-top: 8px; }
.diva-hero__badge { align-self: flex-start; display: block; padding: 10px 14px; background: #FFFFFF; border-radius: 10px; }
.diva-hero__badge img { display: block; width: 180px; height: auto; }
.diva-hero__caption {
	position: absolute;
	right: var(--diva-gutter);
	bottom: 124px;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	color: var(--diva-on-dark);
}
.diva-hero__caption span:last-child { background: rgba(27, 27, 29, 0.8); border-radius: 6px; padding: 6px 12px; }
.diva-hero__caption-rule { width: 24px; height: 2px; background: var(--diva-orange); }
.diva-hero__curve {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 130px;
	display: block;
	pointer-events: none;
}

/* ---------- Routes ---------- */

.diva-routes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	padding-top: 56px;
	padding-bottom: 24px;
}
.diva-route {
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	text-decoration: none;
	color: var(--diva-black);
	transition: border-color 0.15s;
}
.diva-route:hover { border-color: var(--diva-orange); color: var(--diva-black); }
.diva-route__title { font-family: var(--diva-font-cond); font-weight: 600; font-size: 32px; line-height: 1.1; }
.diva-route__text { font-size: 17px; line-height: 1.5; color: var(--diva-text-2); }

/* ---------- Client reel ---------- */

.diva-clients { padding: 40px 0 8px; }
.diva-clients__label { display: flex; align-items: center; gap: 20px; margin-bottom: 18px; }
.diva-clients__rule { flex-grow: 1; height: 1px; background: var(--diva-border); }
.diva-reel {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 64px, #000 calc(100% - 64px), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 64px, #000 calc(100% - 64px), transparent 100%);
}
.diva-reel__track { display: flex; width: max-content; animation: diva-reel 50s linear infinite; }
.diva-reel:hover .diva-reel__track { animation-play-state: paused; }
.diva-reel__track img {
	width: 128px;
	height: 128px;
	margin-right: 48px;
	object-fit: contain;
	mix-blend-mode: multiply;
	opacity: 0.85;
	flex-shrink: 0;
}
@keyframes diva-reel { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .diva-reel__track { animation: none; } }

/* ---------- Capability ---------- */

.diva-capability { padding-top: 72px; padding-bottom: 72px; }
.diva-capability .diva-section-head { margin-bottom: 40px; }
.diva-capability__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 2px solid var(--diva-black);
}
.diva-capability__item {
	padding: 28px 28px 28px 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	border-right: 1px solid var(--diva-border);
	font-size: 16px;
	line-height: 1.55;
}
.diva-capability__item:not(:first-child) { padding-left: 28px; }
.diva-capability__item:last-child { border-right: 0; padding-right: 0; }
.diva-capability__title { font-family: var(--diva-font-cond); font-weight: 600; font-size: 28px; line-height: 1.1; }

/* ---------- Lighting design service ---------- */

.diva-design {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	overflow: hidden;
	margin-bottom: 80px;
}
.diva-design__media {
	position: relative;
	min-height: 640px;
	border-right: 1px solid var(--diva-border);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}
.diva-design__media img { width: 100%; height: auto; display: block; }
.diva-design__zoom { display: block; line-height: 0; cursor: zoom-in; }
.diva-design__tag {
	position: absolute;
	left: 24px;
	top: 20px;
	background: var(--diva-black);
	color: var(--diva-ivory);
	border-radius: 8px;
	padding: 8px 12px;
	font-family: var(--diva-font-mono);
	font-size: 12px;
}
.diva-design__body { padding: 52px 56px; display: flex; flex-direction: column; gap: 24px; }
.diva-steps { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--diva-black); }
.diva-steps li { padding: 14px 0; border-bottom: 1px solid var(--diva-border); display: flex; gap: 18px; }
.diva-steps .diva-mono { font-size: 14px; padding-top: 3px; }
.diva-steps strong { display: block; font-size: 17px; margin-bottom: 4px; }
.diva-steps .diva-muted { display: block; font-size: 15px; line-height: 1.5; }
.diva-design__cta { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; }

/* Example design reports: render, false-colour plan and results */
.diva-report__head { display: flex; flex-direction: column; gap: 16px; }
.diva-report { margin-bottom: 24px; }
.diva-report__tabs { display: none; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.diva-report.is-tabbed .diva-report__tabs { display: flex; }
.diva-report__tabs button {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	padding: 10px 20px;
	border: 1px solid var(--diva-badge-border);
	border-radius: 12px;
	background: #FFF;
	color: var(--diva-black);
	font: 600 20px/1.2 var(--diva-font-cond);
	text-align: left;
	cursor: pointer;
}
.diva-report__tabs button .diva-mono { font-size: 11px; font-weight: 400; letter-spacing: 1.5px; text-transform: uppercase; color: var(--diva-accent-text); }
.diva-report__tabs button:hover { border-color: var(--diva-orange); }
.diva-report__tabs button[aria-selected="true"] { background: var(--diva-black); border-color: var(--diva-black); color: var(--diva-ivory); }
.diva-report__tabs button[aria-selected="true"] .diva-mono { color: var(--diva-orange); }
.diva-report__panel[hidden] { display: none; }
.diva-report__panel {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	background: #FFF;
	border: 1px solid var(--diva-border);
	border-radius: 14px;
	overflow: hidden;
}
.diva-report__panel + .diva-report__panel { margin-top: 24px; }
.diva-report__render { position: relative; margin: 0; min-height: 560px; background: var(--diva-black); }
.diva-report__render img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.diva-report__render figcaption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 72px 28px 24px;
	background: linear-gradient(180deg, rgba(27, 27, 29, 0) 0, rgba(27, 27, 29, 0.88) 60%);
	color: var(--diva-on-dark);
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 15px;
	line-height: 1.5;
}
.diva-report__render figcaption strong { font-family: var(--diva-font-cond); font-weight: 600; font-size: 28px; line-height: 1.1; color: var(--diva-ivory); }
.diva-report__data { padding: 28px 32px; display: flex; flex-direction: column; gap: 18px; }
.diva-report__plan { margin: 0; position: relative; border: 1px solid var(--diva-border); border-radius: 10px; overflow: hidden; background: #FFF; }
.diva-report__plan img { display: block; width: 100%; height: 250px; object-fit: contain; }
.diva-report__plan figcaption {
	position: absolute;
	left: 10px;
	top: 10px;
	background: var(--diva-black);
	color: var(--diva-ivory);
	border-radius: 6px;
	padding: 5px 9px;
	font-size: 11px;
}
.diva-report__scale { display: flex; flex-direction: column; gap: 4px; }
.diva-report__bar { position: relative; display: flex; height: 12px; border: 1px solid var(--diva-badge-border); }
.diva-report__bar i { flex: 1 1 0; }
.diva-report__bar b {
	position: absolute;
	top: -9px;
	width: 0;
	height: 0;
	margin-left: -6px;
	border: 6px solid transparent;
	border-top: 7px solid var(--diva-black);
	border-bottom: 0;
}
.diva-report__ticks { position: relative; height: 16px; font-size: 11px; color: var(--diva-text-2); }
.diva-report__ticks span { position: absolute; top: 0; transform: translateX(-50%); }
.diva-report__ticks span:first-child { transform: none; }
.diva-report__ticks span:last-child { left: auto !important; right: 0; transform: none; }
.diva-report__figures { margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid var(--diva-black); }
.diva-report__figures div { padding: 12px 12px 0 0; }
.diva-report__figures div + div { padding-left: 12px; border-left: 1px solid var(--diva-border); }
.diva-report__figures dt { font-family: var(--diva-font-mono); font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: var(--diva-text-2); }
.diva-report__figures dd { margin: 4px 0 0; font-family: var(--diva-font-cond); font-weight: 600; font-size: 38px; line-height: 1; }
.diva-report__figures small { margin-left: 4px; font-size: 16px; font-weight: 500; color: var(--diva-accent-text); }
.diva-report__areas { width: 100%; border-collapse: collapse; font-family: var(--diva-font-mono); font-size: 13px; }
.diva-report__areas th, .diva-report__areas td { padding: 6px 0; border-bottom: 1px solid var(--diva-border); text-align: right; font-weight: 400; }
.diva-report__areas thead th { font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: var(--diva-text-2); border-bottom-color: var(--diva-black); }
.diva-report__areas th:first-child { text-align: left; font-family: var(--diva-font); font-size: 14px; }
.diva-report__areas thead th:first-child { font-family: var(--diva-font-mono); font-size: 11px; }
.diva-report__note { margin: 0; font-size: 13px; line-height: 1.5; color: var(--diva-text-2); }
.diva-report__gallery { grid-column: 1 / -1; margin: 0; padding: 12px; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; background: var(--diva-black); }
.diva-report__gallery a { display: block; line-height: 0; border-radius: 8px; overflow: hidden; cursor: zoom-in; }
.diva-report__gallery img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; transition: opacity 0.15s; }
.diva-report__gallery a:hover img { opacity: 0.85; }
.diva-report__gallery .is-tall img { object-fit: contain; background: #000; }
.diva-report__includes {
	margin: 0 0 32px;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 2px solid var(--diva-black);
}
.diva-report__includes li { padding: 20px 20px 20px 0; border-bottom: 1px solid var(--diva-border); display: flex; flex-direction: column; gap: 6px; }
.diva-report__includes li:not(:nth-child(4n+1)) { padding-left: 20px; border-left: 1px solid var(--diva-border); }
.diva-report__includes strong { font-family: var(--diva-font-cond); font-weight: 600; font-size: 24px; line-height: 1.1; }
.diva-report__includes strong::before { content: ""; display: inline-block; width: 14px; height: 3px; margin: 0 10px 6px 0; background: var(--diva-orange); vertical-align: middle; }
.diva-report__includes .diva-muted { font-size: 15px; line-height: 1.5; }
/* Homepage: one example report and the markup card, kept compact */
.diva-design-home .diva-section-head { margin-bottom: 28px; }
.diva-design-home .diva-report__render { min-height: 440px; }
.diva-design-home .diva-report__data { padding: 22px 28px; gap: 14px; }
.diva-design-home .diva-report__plan img { height: 180px; }
.diva-design-home .diva-report__figures dd { font-size: 34px; }
.diva-design-home .diva-design__media { min-height: 0; padding: 60px 20px 20px; }
.diva-design-home .diva-design__media img { max-height: 500px; width: auto; max-width: 100%; }
.diva-design-home .diva-design__body { padding: 32px 44px; gap: 18px; }
.diva-design-home .diva-steps li { padding: 10px 0; }

/* Lighting design page */
.diva-design-page__section { padding-top: 56px; }
.diva-design-page__section:last-child { padding-bottom: 24px; }
.diva-design-page .diva-report__includes { margin-bottom: 0; }
.diva-design-page .diva-design { margin-bottom: 16px; }
.diva-design-page__terms { margin: 0 0 64px; font-size: 14px; }
.diva-design-page__terms a { color: var(--diva-accent-text); }

/* ---------- Projects ---------- */

.diva-projects { background: var(--diva-black); color: var(--diva-ivory); padding: 80px 0; }
.diva-projects__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.diva-projects__side { display: flex; flex-direction: column; gap: 24px; }
.diva-project { display: flex; flex-direction: column; gap: 10px; color: var(--diva-ivory); text-decoration: none; }
.diva-project:hover { color: var(--diva-ivory); }
.diva-project:hover img { opacity: 0.9; }
.diva-project img { width: 100%; height: 188px; object-fit: cover; border-radius: 14px; display: block; }
.diva-project__title { font-family: var(--diva-font-cond); font-weight: 600; font-size: 26px; line-height: 1.1; }
.diva-project__text { font-size: 14px; line-height: 1.5; color: var(--diva-on-dark); }
.diva-project--lead { grid-column: span 2; gap: 16px; }
.diva-project--lead img { height: 400px; object-position: center 30%; }
.diva-project--lead .diva-project__title { font-size: 34px; }
.diva-project--lead .diva-project__text { font-size: 16px; }

/* ---------- Key ranges ---------- */

.diva-ranges { padding-top: 72px; padding-bottom: 0; }
.diva-ranges__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; } /* Twelve featured, four per row, as the Products menu (Chris, 6 Oct 2026). */
.diva-range {
	overflow: hidden;
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: var(--diva-black);
	transition: border-color 0.15s;
}
.diva-range:hover { border-color: var(--diva-orange); color: var(--diva-black); }
.diva-range__media { display: block; height: 180px; background: #FFFFFF; border-bottom: 1px solid var(--diva-border); overflow: hidden; }
.diva-range__media img { width: 100%; height: 180px; display: block; object-fit: cover; }
.diva-range__media--cutout img { object-fit: contain; padding: 16px; mix-blend-mode: multiply; }
.diva-range__media--whole img { object-fit: contain; }
.diva-range__body { padding: 18px; display: flex; flex-direction: column; gap: 8px; }
.diva-range__cat { font-size: 11px; }
.diva-range__name { font-family: var(--diva-font-cond); font-weight: 600; font-size: 24px; line-height: 1.1; }
.diva-range__facts { display: grid; gap: 4px; font-family: var(--diva-font-mono); font-size: 12px; }

/* ---------- Browse ---------- */

.diva-browse { padding-top: 80px; padding-bottom: 80px; display: flex; flex-direction: column; gap: 48px; }
.diva-browse p { margin: 0 0 20px; font-size: 16px; line-height: 1.55; }
.diva-browse__cats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.diva-browse__cat {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 20px;
	border: 1px solid var(--diva-badge-border);
	border-radius: 10px;
	font-weight: 600;
	font-size: 17px;
	text-decoration: none;
	color: var(--diva-black);
}
.diva-browse__cat:hover { border-color: var(--diva-orange); color: var(--diva-black); }
.diva-browse__apps { display: flex; flex-wrap: wrap; gap: 10px; }
.diva-chip {
	background: var(--diva-black);
	color: var(--diva-ivory);
	border-radius: 22px;
	padding: 12px 20px;
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
}
.diva-chip:hover { background: var(--diva-orange); color: var(--diva-black); }

/* ---------- Register ---------- */

.diva-register {
	margin-bottom: 80px;
	padding: 40px 48px;
	display: flex;
	align-items: center;
	gap: 48px;
}
.diva-register > div { flex-grow: 1; display: flex; flex-direction: column; gap: 10px; }
.diva-register__title { font-family: var(--diva-font-cond); font-weight: 600; font-size: 38px; line-height: 1.1; }
.diva-register .diva-muted { font-size: 17px; max-width: 760px; }

/* ---------- Contact ---------- */

.diva-contact { background: var(--diva-tint); border-top: 1px solid var(--diva-border); border-bottom: 1px solid var(--diva-border); padding: 56px 0; margin-top: 40px; }
.diva-contact__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: center; }
.diva-contact__intro { display: flex; flex-direction: column; gap: 18px; }
.diva-contact__intro p { margin: 0; font-size: 18px; line-height: 1.55; color: var(--diva-text-2); max-width: 460px; }
.diva-contact__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.diva-contact .diva-btn--ghost { border-color: var(--diva-black); color: var(--diva-black); }
.diva-contact .diva-btn--ghost:hover { background: rgba(27, 27, 29, 0.06); color: var(--diva-black); }
.diva-contact__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 40px; }
.diva-contact__list li { display: flex; gap: 16px; align-items: flex-start; font-size: 17px; line-height: 1.5; font-weight: 500; }
.diva-contact__list li > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.diva-contact__icon {
	width: 44px;
	height: 44px;
	border-radius: 22px;
	background: var(--diva-orange);
	color: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.diva-contact__label { font-family: var(--diva-font-mono); font-size: 12px; font-weight: 400; letter-spacing: 1px; text-transform: uppercase; color: var(--diva-accent-text); margin-bottom: 2px; }
/* Phone and email get a full-width row each so the address never wraps; address and hours share the row below. */
.diva-contact__list li:nth-child(-n+2) { grid-column: 1 / -1; }
/* Sized so the email address still fits on one line at every width (46px on a full-width desktop). */
.diva-contact__big { font-family: var(--diva-font-cond); font-weight: 600; font-size: clamp(22px, 3.4vw, 46px); line-height: 1.1; text-decoration: none; white-space: nowrap; }
.diva-contact__list li:nth-child(-n+2) { align-items: center; }
.diva-contact__list li:nth-child(-n+2) .diva-contact__icon { width: 52px; height: 52px; border-radius: 26px; }
.diva-contact__big:hover { color: var(--diva-accent-text); }
.diva-contact__list small { font-size: 13px; font-weight: 400; color: var(--diva-text-2); margin-top: 2px; }

@media (max-width: 1100px) {
	.diva-contact__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
}
@media (max-width: 700px) {
	.diva-contact { padding: 48px 0; }
	.diva-contact__list { grid-template-columns: minmax(0, 1fr); gap: 22px; }
}

/* ---------- Inner pages ---------- */

.diva-pagehead {
	position: relative;
	background: var(--diva-black);
	color: var(--diva-ivory);
	padding-top: 130px;
	padding-bottom: 90px;
}
.diva-pagehead__title {
	margin: 0;
	font-family: var(--diva-font-cond);
	font-weight: 600;
	font-size: clamp(40px, 5vw, 64px);
	line-height: 1;
}
.diva-pagehead__curve { position: absolute; left: 0; bottom: -1px; width: 100%; height: 70px; display: block; }
.diva-content { padding-top: 40px; padding-bottom: 80px; max-width: 1040px; font-size: 17px; line-height: 1.65; }
.diva-content--wide { max-width: 1440px; }
.diva-content a { color: var(--diva-accent-text); }

/* ---------- Product family page ---------- */

.diva-btn--outline { border: 1px solid var(--diva-black); color: var(--diva-black); background: transparent; }
.diva-btn--outline:hover { border-color: var(--diva-orange); color: var(--diva-black); }

.diva-crumbs { display: flex; flex-wrap: wrap; gap: 10px; font-size: 14px; color: var(--diva-on-dark); margin-bottom: 14px; }
.diva-crumbs a { color: var(--diva-on-dark); }
.diva-crumbs a:hover { color: var(--diva-orange); }
.diva-crumbs [aria-current] { color: var(--diva-ivory); }
.diva-prod-band__row { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.diva-prod-band .diva-eyebrow { margin-bottom: 8px; }
.diva-prod-band__code { color: var(--diva-on-dark); font-size: 15px; padding-bottom: 8px; }

.diva-prod-hero {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 56px;
	padding-top: 32px;
	padding-bottom: 48px;
}
.diva-prod-hero__media {
	min-height: 440px;
	background: #FFFFFF;
	border: 1px solid var(--diva-border);
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 32px;
}
.diva-prod-hero__media img { max-height: 420px; width: auto; mix-blend-mode: multiply; }
/* Lithium battery badge in the picture corner (LiFePO4 emergency products, Chris Oct 2026). */
.diva-prod-hero__media { position: relative; }
.diva-prod-hero__badges { position: absolute; left: 16px; bottom: 16px; display: flex; flex-direction: column; gap: 8px; z-index: 2; }
.diva-prod-hero__media img.diva-prod-hero__badge { width: 166px; height: 42px; max-height: none; max-width: none; mix-blend-mode: normal; }
.diva-lithium { width: 206px; height: 52px; flex-shrink: 0; }
/* Full-bleed pictures (e.g. renders on a shaded panel): fill the frame, slightly zoomed, no padding. */
.diva-prod-hero__media--fill { padding: 0; overflow: hidden; position: relative; min-height: 0; aspect-ratio: 1200 / 760; align-self: start; }
.diva-prod-hero__media--fill img { position: absolute; inset: 0; width: 100%; height: 100%; max-height: none; object-fit: cover; transform: scale(1.08); mix-blend-mode: normal; }
.diva-prod-hero__body { display: flex; flex-direction: column; gap: 24px; }
.diva-prod-hero__intro p { margin: 0; font-size: 19px; line-height: 1.55; }
.diva-prod-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }

.diva-keyfigs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 2px solid var(--diva-black);
	border-bottom: 1px solid var(--diva-border);
}
.diva-keyfig { padding: 16px 12px; display: flex; flex-direction: column; gap: 6px; border-right: 1px solid var(--diva-border); }
.diva-keyfig:first-child { padding-left: 0; }
.diva-keyfig:last-child { border-right: 0; }
.diva-keyfig { min-width: 0; }
.diva-keyfig__value { display: block; font-family: var(--diva-font-cond); font-weight: 700; font-size: 42px; line-height: 1; white-space: nowrap; overflow: hidden; } /* shrunk to fit its column by product.js (Chris, 5 Oct 2026) */
.diva-keyfig__value small { font-size: 0.38em; font-weight: 600; margin: 0 0.1em; } /* scales with the figure */
.diva-keyfig__value small.diva-keyfig__pre { margin: 0 0.15em 0 0; }
.diva-keyfig__label { font-size: 13px; line-height: 1.35; color: var(--diva-text-2); }

.diva-prod-chips { display: flex; flex-wrap: wrap; gap: 8px; font-family: var(--diva-font-mono); font-size: 13px; }
.diva-prod-chips span { border: 1px solid var(--diva-badge-border); border-radius: 6px; padding: 6px 10px; }

.diva-prod-apps { display: flex; flex-direction: column; gap: 8px; }
.diva-prod-apps__label { font-size: 14px; font-weight: 600; }
.diva-prod-apps div { display: flex; flex-wrap: wrap; gap: 8px; }
.diva-prod-apps div span { border: 1px solid var(--diva-black); border-radius: 999px; padding: 5px 12px; font-size: 14px; }

.diva-prod-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 32px;
	align-items: center;
	min-height: 60px;
	border-top: 1px solid var(--diva-border);
	border-bottom: 1px solid var(--diva-border);
	font-weight: 600;
}
.diva-prod-nav a { text-decoration: none; }

.diva-prod-section { padding-top: 56px; }
.diva-prod-section .diva-section-head p { margin: 0; }

.diva-prod-tech { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px; align-items: start; }
.diva-prod-tech--single { grid-template-columns: minmax(0, 1fr); max-width: 900px; }
/* Several size panels: panels take the full width, the distribution curve sits beneath. */
.diva-prod-tech:has(.diva-variants-set--multi) { grid-template-columns: minmax(0, 1fr); }
.diva-prod-tech:has(.diva-variants-set--multi) .diva-polar-card { max-width: 640px; }

.diva-variants { overflow: hidden; }
.diva-variants-set { display: grid; gap: 16px; }
.diva-variants-set--multi { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.diva-variants__head {
	background: var(--diva-black);
	color: var(--diva-ivory);
	padding: 14px 24px;
	font-family: var(--diva-font-cond);
	font-weight: 600;
	font-size: 22px;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
}
.diva-variants__head small { font-family: var(--diva-font); font-weight: 400; font-size: 13px; color: var(--diva-on-dark); }
.diva-variants-set--multi .diva-variants__head { padding: 10px 16px; font-family: var(--diva-font-mono); font-size: 17px; }
.diva-variants-set--multi .diva-variants__table { font-size: 14px; }
.diva-variants-set--multi .diva-variants__table th:first-child, .diva-variants-set--multi .diva-variants__table td:first-child { padding-left: 16px; }
.diva-variants-set--multi .diva-variants__table td, .diva-variants-set--multi .diva-variants__table th { padding-left: 10px; padding-right: 10px; }
.diva-variants__scroll { overflow-x: auto; }
.diva-variants__table { width: 100%; border-collapse: collapse; font-family: var(--diva-font-mono); font-size: 15px; }
.diva-variants__table th {
	text-align: left;
	font-weight: 500;
	font-size: 12px;
	text-transform: uppercase;
	color: var(--diva-text-2);
	padding: 12px 16px;
	border-bottom: 1px solid var(--diva-border);
}
.diva-variants__table td { padding: 13px 16px; border-bottom: 1px solid #EEEBE4; white-space: nowrap; }
.diva-variants__table th:first-child, .diva-variants__table td:first-child { padding-left: 24px; }
.diva-variants__table tr:last-child td { border-bottom: 0; }
.diva-variants__lm { font-weight: 600; }
.diva-variants__ldt { font-size: 13px; }
.diva-variants__ldt svg { vertical-align: -2px; }
.diva-std {
	margin-left: 8px;
	font-family: var(--diva-font);
	font-size: 11px;
	font-weight: 600;
	background: var(--diva-orange);
	color: var(--diva-black);
	border-radius: 4px;
	padding: 2px 6px;
}

.diva-polar-card { padding: 20px 24px; display: flex; flex-direction: column; gap: 10px; }
.diva-polar-card__head { display: flex; justify-content: space-between; align-items: baseline; }
.diva-polar-card__head h3 { margin: 0; font-family: var(--diva-font-cond); font-weight: 600; font-size: 24px; }
.diva-polar { width: 100%; height: auto; }
.diva-polar-card__key { display: flex; gap: 24px; font-size: 12px; }
.diva-polar-card__key span { display: flex; align-items: center; gap: 8px; }
.diva-key { display: inline-block; width: 22px; }
.diva-key--c0 { height: 3px; background: var(--diva-orange); }
.diva-key--c90 { border-top: 2px dashed var(--diva-black); }
.diva-polar-card p { margin: 0; font-size: 13px; }

.diva-builder { padding: 40px 44px; }
.diva-builder .diva-section-head { margin-bottom: 24px; }
.diva-codebar { display: flex; flex-wrap: wrap; min-height: 52px; background: var(--diva-black); border-radius: 8px; overflow: hidden; margin-bottom: 28px; }
.diva-codebar__seg { flex: 1 1 auto; display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-right: 1px solid #3A3A3E; color: var(--diva-ivory); }
.diva-codebar__seg:last-child { border-right: 0; }
.diva-codebar__n {
	width: 22px;
	height: 22px;
	border-radius: 11px;
	background: var(--diva-orange);
	color: var(--diva-black);
	font-size: 12px;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.diva-codebar__code { font-family: var(--diva-font-mono); font-size: 18px; font-weight: 500; }
.diva-codebar__code.is-empty { color: #8A8A90; }
.diva-builder__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 32px; }
.diva-builder__pos { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.diva-builder__pos legend { padding: 0 0 10px; font-size: 14px; font-weight: 600; }
.diva-builder__opts { display: flex; flex-wrap: wrap; gap: 8px; }
.diva-opt {
	min-width: 52px;
	height: 44px;
	padding: 0 14px;
	border-radius: 8px;
	border: 1px solid var(--diva-badge-border);
	background: #FFFFFF;
	color: var(--diva-black);
	font-family: var(--diva-font-mono);
	font-size: 15px;
	cursor: pointer;
}
.diva-opt:hover { border-color: var(--diva-orange); }
.diva-opt.is-on { background: var(--diva-black); border-color: var(--diva-black); color: var(--diva-ivory); font-weight: 500; }
.diva-opt:disabled { cursor: default; }
.diva-opt:focus-visible { outline: 2px solid var(--diva-orange); outline-offset: 2px; }
.diva-builder__meaning { font-size: 13px; min-height: 18px; }
.diva-builder__rules { display: block; font-size: 12px; line-height: 1.35; }
.diva-builder__rules:empty { display: none; }
.diva-builder__result {
	margin-top: 28px;
	padding-top: 24px;
	border-top: 1px solid var(--diva-border);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}
.diva-builder__result > div { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.diva-builder__label { font-size: 13px; font-weight: 600; color: var(--diva-text-2); text-transform: uppercase; }
.diva-builder__code { font-family: var(--diva-font-mono); font-size: 26px; font-weight: 500; overflow-wrap: anywhere; }
.diva-builder__ldt { font-size: 14px; }
.diva-builder__ldt-link { margin-left: 6px; font-family: 'Barlow', sans-serif; font-weight: 600; color: var(--diva-accent-text); text-decoration: underline; text-underline-offset: 3px; }
.diva-builder__ldt-link:hover { color: var(--diva-black); }

.diva-prod-cta {
	background: var(--diva-black);
	color: var(--diva-ivory);
	border-radius: 14px;
	padding: 28px 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}
.diva-prod-cta > div { display: flex; flex-direction: column; gap: 6px; }
.diva-prod-cta__title { font-family: var(--diva-font-cond); font-weight: 600; font-size: 32px; line-height: 1.1; }
.diva-prod-cta__text { color: var(--diva-on-dark); }

.diva-ordercode__example { margin: -16px 0 20px; font-size: 14px; }
.diva-ordercode__key { margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 0 32px; border-top: 2px solid var(--diva-black); }
.diva-ordercode__key div { display: flex; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--diva-border); }
.diva-ordercode__key dt { font-weight: 500; font-size: 14px; min-width: 64px; }
.diva-ordercode__key dd { margin: 0; font-size: 14px; color: var(--diva-text-2); }

.diva-prod-spec { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; }
.diva-featlist { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--diva-black); }
.diva-featlist li { display: flex; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--diva-border); font-size: 16px; }
.diva-speclist { margin: 0; display: grid; grid-template-columns: auto 1fr; border-top: 2px solid var(--diva-black); font-size: 15px; }
.diva-speclist dt { padding: 11px 24px 11px 0; border-bottom: 1px solid var(--diva-border); color: var(--diva-text-2); }
.diva-speclist dd { margin: 0; padding: 11px 0; border-bottom: 1px solid var(--diva-border); font-family: var(--diva-font-mono); font-size: 14px; }

.diva-compliance { padding: 32px 40px; display: flex; align-items: center; gap: 40px; }
.diva-compliance__body { flex-grow: 1; display: flex; flex-direction: column; gap: 16px; }
.diva-compliance__body .diva-h3, .diva-compliance__body p { margin: 0; }
.diva-tiles { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; }
.diva-tiles li {
	background: #EEEBE4;
	border-radius: 10px;
	min-height: 72px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-weight: 600;
	font-size: 14px;
	padding: 8px;
}
.diva-warranty { width: 140px; height: 140px; flex-shrink: 0; }

.diva-improving {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-top: 24px;
	padding: 18px 24px;
	background: var(--diva-black);
	color: var(--diva-ivory);
	border-radius: 14px;
}
.diva-improving__icon { flex-shrink: 0; margin-top: 1px; color: var(--diva-orange); }
.diva-improving p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--diva-on-dark); }
.diva-improving strong { color: var(--diva-ivory); font-weight: 600; margin-right: 4px; }
.diva-improving a { color: var(--diva-orange); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.diva-improving a:hover { color: var(--diva-ivory); }

.diva-prod-downloads { padding-bottom: 80px; }
.diva-prod-downloads .diva-h2 { margin-bottom: 24px; }
.diva-dl { margin: 0 0 20px; padding: 0; list-style: none; border-top: 2px solid var(--diva-black); }
.diva-dl li {
	display: grid;
	grid-template-columns: 2fr 2fr 1fr auto;
	gap: 16px;
	align-items: center;
	padding: 16px 0;
	border-bottom: 1px solid var(--diva-border);
}
.diva-dl__type { font-weight: 600; font-size: 17px; }
.diva-dl__access { display: flex; align-items: center; gap: 6px; font-size: 14px; color: var(--diva-text-2); }
.diva-prod-downloads p a { color: var(--diva-accent-text); }
.diva-dl__files { grid-column: 1 / -1; }
.diva-dl__files summary { cursor: pointer; font-weight: 600; color: var(--diva-accent-text); }
.diva-dl__files ul { list-style: none; margin: 12px 0 0; padding: 0; columns: 3 260px; column-gap: 32px; }
.diva-dl__files li { padding: 4px 0; break-inside: avoid; }
.diva-dl__files a { font-size: 13px; }

@media (max-width: 1100px) {
	.diva-prod-hero, .diva-prod-tech, .diva-prod-spec { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.diva-builder__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.diva-keyfigs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.diva-keyfig:nth-child(2n) { border-right: 0; }
	.diva-keyfig:nth-child(2n + 1) { padding-left: 0; }
}

@media (max-width: 700px) {
	.diva-prod-hero__media { min-height: 260px; }
	.diva-builder { padding: 24px 18px; }
	.diva-builder__grid { grid-template-columns: minmax(0, 1fr); }
	.diva-builder__result, .diva-prod-cta, .diva-compliance { flex-direction: column; align-items: flex-start; }
	.diva-prod-cta { padding: 24px 20px; }
	.diva-compliance { padding: 24px 20px; }
	.diva-dl li { grid-template-columns: 1fr; gap: 8px; }
	.diva-keyfig__value { font-size: 34px; }
}

/* ---------- Product catalogue ---------- */

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.diva-catalogue { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 40px; padding-top: 32px; padding-bottom: 80px; align-items: start; }
.diva-catalogue__side { display: flex; flex-direction: column; gap: 24px; position: sticky; top: 24px; max-height: calc(100vh - 48px); overflow-y: auto; padding-right: 4px; }
.diva-filters__toggle { display: none; }
.diva-filters__group { border-top: 1px solid var(--diva-border); padding: 16px 0; }
.diva-filters__group:first-of-type { border-top: 2px solid var(--diva-black); }
.diva-filters__title { margin: 0 0 10px; font-family: var(--diva-font-cond); font-weight: 600; font-size: 20px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; }
.diva-filters__title::-webkit-details-marker { display: none; }
details.diva-filters__group > .diva-filters__title::after { content: '+'; color: var(--diva-accent-text); }
details.diva-filters__group[open] > .diva-filters__title::after { content: '–'; }
.diva-filters__cats, .diva-filters__opts { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.diva-filters__cats a {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	padding: 7px 10px;
	border-radius: 8px;
	text-decoration: none;
	font-size: 15px;
}
.diva-filters__cats a span, .diva-filters__count { font-family: var(--diva-font-mono); font-size: 12px; color: var(--diva-text-2); }
.diva-filters__cats a:hover { background: var(--diva-tint); color: var(--diva-black); }
.diva-filters__cats a.is-on { background: var(--diva-black); color: var(--diva-ivory); font-weight: 600; }
.diva-filters__cats a.is-on span { color: var(--diva-on-dark); }
.diva-filters__opt { display: flex; align-items: center; gap: 10px; padding: 6px 4px; text-decoration: none; font-size: 15px; }
.diva-filters__opt:hover { color: var(--diva-black); }
.diva-filters__opt:hover .diva-filters__box { border-color: var(--diva-orange); }
.diva-filters__box { width: 18px; height: 18px; border: 1.5px solid var(--diva-badge-border); border-radius: 4px; flex-shrink: 0; background: #FFFFFF; }
.diva-filters__opt.is-on .diva-filters__box {
	background: var(--diva-black) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23FBFAF7' stroke-width='2'/%3E%3C/svg%3E") center / 14px no-repeat;
	border-color: var(--diva-black);
}
.diva-filters__opt.is-on .diva-filters__name { font-weight: 600; }
.diva-filters__name { flex-grow: 1; }
.diva-catalogue__help { background: var(--diva-tint); border-radius: 14px; padding: 20px; display: flex; flex-direction: column; gap: 8px; }
.diva-catalogue__help p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--diva-text-2); }
.diva-catalogue__help .diva-underline { font-size: 14px; }

.diva-catalogue__bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 16px; }
.diva-catalogue__count { margin: 0; font-size: 16px; color: var(--diva-text-2); }
.diva-catalogue__count strong { color: var(--diva-black); font-family: var(--diva-font-mono); }
.diva-catalogue__sort { display: flex; align-items: center; gap: 10px; font-size: 14px; }
.diva-catalogue__sort select { height: 40px; padding: 0 12px; border: 1px solid var(--diva-badge-border); border-radius: 8px; background: #FFFFFF; font: inherit; }
.diva-catalogue__active { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 20px; }
.diva-chip--remove { display: inline-flex; gap: 8px; align-items: center; padding: 8px 14px; font-size: 14px; }
.diva-chip--remove span[aria-hidden] { font-size: 16px; line-height: 1; }
.diva-catalogue__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.diva-catcard .diva-range__media { height: 200px; }
.diva-catcard .diva-range__media img { height: 200px; }
.diva-catalogue__empty { padding: 32px; display: flex; flex-direction: column; gap: 12px; }
.diva-catalogue__empty .diva-h3, .diva-catalogue__empty p { margin: 0; }
.diva-catalogue .navigation.pagination { margin-top: 32px; }
.diva-catalogue .nav-links { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.diva-catalogue .page-numbers {
	min-width: 44px;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--diva-badge-border);
	border-radius: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	font-family: var(--diva-font-mono);
	font-size: 14px;
	background: #FFFFFF;
}
.diva-catalogue .page-numbers.current { background: var(--diva-black); border-color: var(--diva-black); color: var(--diva-ivory); }
.diva-catalogue .page-numbers.dots { border: 0; background: none; }

@media (max-width: 1200px) {
	.diva-catalogue__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.diva-catalogue { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.diva-catalogue__side { position: static; max-height: none; overflow: visible; }
	.diva-filters { border: 1px solid var(--diva-border); border-radius: 14px; padding: 0 16px; background: #FFFFFF; }
	.diva-filters__toggle { display: flex; justify-content: space-between; align-items: center; min-height: 52px; font-weight: 600; cursor: pointer; list-style: none; }
	.diva-filters__toggle::-webkit-details-marker { display: none; }
	.diva-filters__toggle span { background: var(--diva-orange); color: var(--diva-black); border-radius: 10px; padding: 0 8px; font-size: 13px; }
	.diva-catalogue__help { display: none; }
}
@media (max-width: 600px) {
	.diva-catalogue__grid { grid-template-columns: minmax(0, 1fr); }
	.diva-catalogue__bar { flex-wrap: wrap; }
}

/* ---------- Contact page ---------- */

.diva-contactpage { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px; align-items: start; padding-top: 32px; padding-bottom: 80px; }
.diva-enquiry { padding: 40px; scroll-margin-top: 24px; }
.diva-enquiry > .diva-h3 { margin: 0 0 20px; }
.diva-enquiry__form { display: flex; flex-direction: column; gap: 18px; }
.diva-enquiry__form textarea {
	padding: 12px 14px;
	border: 1px solid var(--diva-badge-border);
	border-radius: 8px;
	font: inherit;
	line-height: 1.5;
	resize: vertical;
	background: #FFFFFF;
	color: var(--diva-black);
}
.diva-enquiry__form textarea:focus { outline: 2px solid var(--diva-orange); outline-offset: 1px; border-color: var(--diva-orange); }
.diva-enquiry__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.diva-enquiry__trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.diva-enquiry__types { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.diva-enquiry__types legend { font-weight: 600; font-size: 15px; margin-bottom: 10px; padding: 0; }
.diva-enquiry__type { position: relative; }
.diva-enquiry__type input { position: absolute; opacity: 0; }
.diva-enquiry__type span {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 16px;
	border: 1px solid var(--diva-badge-border);
	border-radius: 22px;
	font-size: 15px;
	cursor: pointer;
	background: #FFFFFF;
}
.diva-enquiry__type input:checked + span { background: var(--diva-black); border-color: var(--diva-black); color: var(--diva-ivory); font-weight: 600; }
.diva-enquiry__type input:focus-visible + span { outline: 2px solid var(--diva-orange); outline-offset: 2px; }
.diva-enquiry__file input[type="file"] { font: inherit; font-size: 15px; padding: 10px; border: 1px dashed var(--diva-badge-border); border-radius: 8px; background: var(--diva-tint); }
.diva-enquiry__file p { margin: 0; font-size: 13px; }
.diva-enquiry .diva-btn { align-self: flex-start; border: 0; cursor: pointer; font-family: inherit; }
.diva-enquiry .diva-btn--outline { border: 1px solid var(--diva-black); }
.diva-enquiry__done { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.diva-enquiry__done .diva-h3, .diva-enquiry__done p { margin: 0; }
.diva-enquiry__done p a, .diva-check a { color: var(--diva-accent-text); }
.diva-contactpage__side { display: flex; flex-direction: column; gap: 32px; position: sticky; top: 24px; }
.diva-contact__list--stack { grid-template-columns: minmax(0, 1fr); gap: 24px; }
.diva-contact__list--stack .diva-contact__big { font-size: clamp(22px, 2.2vw, 32px); }
.diva-contactpage__dir { margin-top: 6px; font-size: 14px; }
.diva-contactpage__design { background: var(--diva-black); color: var(--diva-on-dark); border-radius: 14px; padding: 24px 28px; display: flex; flex-direction: column; gap: 10px; }
.diva-contactpage__design p { margin: 0; font-size: 15px; line-height: 1.6; }

@media (max-width: 1100px) {
	.diva-contactpage { grid-template-columns: minmax(0, 1fr); }
	.diva-contactpage__side { position: static; }
}
@media (max-width: 700px) {
	.diva-enquiry { padding: 24px 18px; }
	.diva-enquiry__row { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Case studies ---------- */

.diva-pagehead__lead { margin: 16px 0 0; max-width: 760px; font-size: 18px; line-height: 1.55; color: var(--diva-on-dark); }
.diva-cs { padding-top: 32px; padding-bottom: 80px; }
.diva-cs__filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 32px; }
.diva-cs__filter {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--diva-badge-border);
	border-radius: 22px;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	color: var(--diva-black);
	background: #FFFFFF;
}
.diva-cs__filter span { font-family: var(--diva-font-mono); font-size: 12px; font-weight: 400; color: var(--diva-text-2); }
.diva-cs__filter:hover { border-color: var(--diva-orange); color: var(--diva-black); }
.diva-cs__filter.is-on { background: var(--diva-black); border-color: var(--diva-black); color: var(--diva-ivory); }
.diva-cs__filter.is-on span { color: var(--diva-on-dark); }
.diva-cs__filter.is-soon { border-style: dashed; }
.diva-cs__filter.is-soon span { font-family: var(--diva-font); font-size: 12px; font-style: italic; }
.diva-cs__soon { padding: 40px; display: flex; flex-direction: column; gap: 14px; max-width: 860px; }
.diva-cs__soon .diva-h3, .diva-cs__soon p { margin: 0; }
.diva-cs__soon p { font-size: 17px; line-height: 1.6; color: var(--diva-text-2); }
.diva-cs__soon-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }
.diva-cs__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.diva-cs__cta { margin-top: 56px; }

.diva-pcard { display: flex; flex-direction: column; overflow: hidden; text-decoration: none; color: var(--diva-black); transition: border-color 0.15s; }
.diva-pcard:hover { border-color: var(--diva-orange); color: var(--diva-black); }
.diva-pcard__media { display: block; aspect-ratio: 16 / 10; background: var(--diva-tint); overflow: hidden; }
.diva-pcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s; }
.diva-pcard:hover .diva-pcard__media img { transform: scale(1.03); }
.diva-pcard__body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 8px; flex-grow: 1; }
.diva-pcard__meta { font-size: 12px; }
.diva-pcard__name { font-family: var(--diva-font-cond); font-weight: 600; font-size: 28px; line-height: 1.1; }
.diva-pcard__headline { font-size: 15px; line-height: 1.5; color: var(--diva-text-2); flex-grow: 1; }
.diva-pcard__more { margin-top: 8px; font-size: 15px; }

.diva-proj { padding-top: 32px; padding-bottom: 80px; }
.diva-proj__hero { margin: 0 0 48px; border-radius: 14px; overflow: hidden; background: var(--diva-tint); }
.diva-proj__hero img { width: 100%; max-height: 640px; object-fit: cover; display: block; }
.diva-proj__intro { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 56px; align-items: start; }
.diva-proj__story .diva-h2 { font-size: 44px; margin-bottom: 20px; }
.diva-proj__body { font-size: 18px; line-height: 1.65; }
.diva-proj__body p { margin: 0 0 16px; }
.diva-proj__details { padding: 28px; display: flex; flex-direction: column; gap: 24px; position: sticky; top: 24px; }
.diva-proj__details dl { margin: 0; }
.diva-proj__details dt { font-family: var(--diva-font-mono); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: var(--diva-accent-text); margin-bottom: 4px; }
.diva-proj__details dd { margin: 0 0 18px; font-size: 16px; line-height: 1.5; font-weight: 500; }
.diva-proj__details dd:last-child { margin-bottom: 0; }
.diva-proj__section { margin-top: 64px; }
.diva-proj__section > .diva-h3 { margin-bottom: 20px; }
.diva-proj__more .diva-section-head { margin-bottom: 20px; }
.diva-proj__more .diva-section-head .diva-h3 { margin: 0; }
.diva-proj__products { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px; }
.diva-proj__products .diva-underline { font-size: 14px; margin-top: 4px; }

.diva-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.diva-gallery__item { display: block; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: var(--diva-tint); }
.diva-gallery__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s; }
.diva-gallery__item:hover img { transform: scale(1.04); }
.diva-gallery__item:focus-visible { outline: 3px solid var(--diva-orange); outline-offset: 2px; }

.diva-lightbox { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(27, 27, 29, 0.94); }
.diva-lightbox[open] { display: flex; align-items: center; justify-content: center; }
.diva-lightbox::backdrop { background: transparent; }
.diva-lightbox img { max-width: calc(100vw - 160px); max-height: calc(100vh - 80px); object-fit: contain; }
.diva-lightbox button {
	position: absolute;
	width: 52px;
	height: 52px;
	border-radius: 26px;
	border: 1px solid rgba(251, 250, 247, 0.4);
	background: rgba(27, 27, 29, 0.6);
	color: var(--diva-ivory);
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
}
.diva-lightbox button:hover { border-color: var(--diva-orange); color: var(--diva-orange); }
.diva-lightbox__close { top: 20px; right: 20px; }
.diva-lightbox__prev { left: 20px; top: calc(50% - 26px); }
.diva-lightbox__next { right: 20px; top: calc(50% - 26px); }

@media (max-width: 1100px) {
	.diva-cs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.diva-proj__intro { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.diva-proj__details { position: static; }
	.diva-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
	.diva-cs__grid { grid-template-columns: minmax(0, 1fr); }
	.diva-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.diva-proj__story .diva-h2 { font-size: 32px; }
	.diva-lightbox img { max-width: 100vw; }
	.diva-lightbox__prev, .diva-lightbox__next { top: auto; bottom: 20px; }
}

/* ---------- Specifier access ---------- */

.diva-gate { padding-top: 32px; padding-bottom: 80px; }
.diva-gate__intro { max-width: 820px; margin-bottom: 28px; }
.diva-gate__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 24px; align-items: start; }
.diva-gate__panel { padding: 32px; display: flex; flex-direction: column; gap: 16px; max-width: 860px; }
.diva-gate__panel .diva-h3, .diva-gate__panel p { margin: 0; }
.diva-gate__panel.is-focus { border-color: var(--diva-orange); }
.diva-gate__optional { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.diva-gate__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.diva-gate__signout { color: var(--diva-black); }
.diva-gate__small { font-size: 13px; }
.diva-gate__small a, .diva-gate__panel p a { color: var(--diva-accent-text); }
.diva-gate__error { background: #FBE9DD; border-left: 3px solid var(--diva-orange); padding: 12px 16px; margin: 0 0 20px; border-radius: 4px; }
.diva-gate__ok { background: #EAF4EA; border-left: 3px solid #3B7A3B; padding: 12px 16px; margin: 0 0 16px; border-radius: 4px; }
.diva-gate__password { margin-top: 24px; max-width: 560px; }
.diva-gate .diva-btn { align-self: flex-start; border: 0; cursor: pointer; font-family: inherit; }
.diva-gate .diva-btn--outline { border: 1px solid var(--diva-black); }
.diva-field { display: flex; flex-direction: column; gap: 6px; }
.diva-field label { font-weight: 600; font-size: 15px; }
.diva-field label span { font-weight: 400; color: var(--diva-text-2); }
.diva-field input, .diva-field select {
	height: 48px;
	padding: 0 14px;
	border: 1px solid var(--diva-badge-border);
	border-radius: 8px;
	background: #FFFFFF;
	font: inherit;
	color: var(--diva-black);
}
.diva-field input:focus, .diva-field select:focus { outline: 2px solid var(--diva-orange); outline-offset: 1px; border-color: var(--diva-orange); }
.diva-check { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.5; }
.diva-check input { width: 18px; height: 18px; margin-top: 3px; accent-color: var(--diva-orange); flex-shrink: 0; }

@media (max-width: 900px) {
	.diva-gate__grid, .diva-gate__optional { grid-template-columns: minmax(0, 1fr); }
	.diva-gate__panel { padding: 24px 20px; }
}

/* ---------- About ---------- */

.diva-hero--about { min-height: 680px; }
.diva-hero--about .diva-hero__body { padding-top: 140px; padding-bottom: 200px; }
.diva-hero--about .diva-hero__img { object-position: center 40%; }
.diva-hero--about .diva-hero__intro { font-size: 18px; }

.diva-about__story {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	gap: 72px;
	align-items: center;
	padding-top: 72px;
	padding-bottom: 80px;
}
.diva-about__copy { display: flex; flex-direction: column; gap: 20px; }
.diva-about__copy .diva-lead { color: var(--diva-black); font-size: 20px; }
.diva-about__copy p:not(.diva-lead) { margin: 0; font-size: 17px; line-height: 1.65; color: var(--diva-text-2); }
.diva-about__figures { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 2px solid var(--diva-black); }
.diva-about__figure { padding: 28px 24px 28px 0; border-bottom: 1px solid var(--diva-border); }
.diva-about__figure:nth-child(2n) { padding-left: 24px; padding-right: 0; border-left: 1px solid var(--diva-border); }
.diva-about__figure dt { font-family: var(--diva-font-cond); font-weight: 700; font-size: clamp(48px, 5vw, 72px); line-height: 1; color: var(--diva-black); }
.diva-about__figure:first-child dt { color: var(--diva-orange); }
.diva-about__figure dd { margin: 10px 0 0; font-size: 15px; line-height: 1.45; color: var(--diva-text-2); }

.diva-about__work { position: relative; background: var(--diva-black); color: var(--diva-ivory); padding: 88px 0; overflow: hidden; }
.diva-about__work::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 3px;
	background: var(--diva-orange);
}
.diva-about__work .diva-lead { color: var(--diva-on-dark); }
.diva-about__steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; counter-reset: none; }
.diva-about__steps li {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 28px 24px 32px;
	border: 1px solid rgba(251, 250, 247, 0.16);
	border-radius: 14px;
	transition: border-color 0.2s, transform 0.2s;
}
.diva-about__steps li:hover { border-color: var(--diva-orange); transform: translateY(-4px); }
.diva-about__steps li:not(:last-child)::after {
	content: '→';
	position: absolute;
	right: -19px;
	top: 30px;
	color: var(--diva-orange);
	font-size: 18px;
}
.diva-about__steps .diva-mono { font-size: 14px; }
.diva-about__step-title { font-family: var(--diva-font-cond); font-weight: 600; font-size: 34px; line-height: 1; }
.diva-about__step-text { font-size: 16px; line-height: 1.55; color: var(--diva-on-dark); }

.diva-about__standards {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
	gap: 56px;
	align-items: center;
	padding-top: 72px;
	padding-bottom: 72px;
	border-bottom: 1px solid var(--diva-border);
}
.diva-about__standards .diva-h3 { margin: 10px 0 12px; }
.diva-about__standards p { margin: 0; font-size: 16px; line-height: 1.55; }
.diva-about__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.diva-about__chips li {
	padding: 12px 18px;
	border: 1px solid var(--diva-badge-border);
	border-radius: 10px;
	background: #FFFFFF;
	font-size: 15px;
	font-weight: 600;
}
.diva-about__chips li:nth-child(3n + 1) { border-color: var(--diva-orange); }

.diva-about__projects { padding-top: 72px; padding-bottom: 32px; }
.diva-about__projects .diva-section-head > div { display: flex; flex-direction: column; gap: 16px; }
.diva-about__projects .diva-section-head .diva-lead { max-width: 640px; }
.diva-about__cta { padding-top: 48px; }
.diva-register > .diva-about__cta-actions { flex-grow: 0; flex-direction: row; flex-wrap: wrap; gap: 12px; }

@media (max-width: 1100px) {
	.diva-about__story, .diva-about__standards { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.diva-about__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.diva-about__steps li:nth-child(2)::after { display: none; }
}
@media (max-width: 700px) {
	.diva-about__steps { grid-template-columns: minmax(0, 1fr); }
	.diva-about__steps li::after { display: none; }
	.diva-hero--about { min-height: 560px; }
	.diva-hero--about .diva-hero__body { padding-top: 110px; padding-bottom: 170px; }
	.diva-about__figure dt { font-size: 44px; }
}

/* ---------- Policy pages (Warranty, WEEE) ---------- */

.diva-legal { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 56px; align-items: start; padding-top: 40px; padding-bottom: 80px; }
.diva-legal__side { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 24px; }
.diva-legal__side > img { width: 160px; height: 160px; }
.diva-legal__toc { display: flex; flex-direction: column; border-top: 2px solid var(--diva-black); }
.diva-legal__toc a { padding: 9px 0; border-bottom: 1px solid var(--diva-border); font-size: 15px; text-decoration: none; color: var(--diva-black); }
.diva-legal__toc a:hover { color: var(--diva-accent-text); }
.diva-legal__body { max-width: 860px; }
.diva-legal__body section { padding-top: 36px; scroll-margin-top: 24px; }
.diva-legal__body h2 {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin: 0 0 16px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--diva-black);
	font-family: var(--diva-font-cond);
	font-weight: 600;
	font-size: 30px;
	line-height: 1.1;
}
.diva-legal__body h2 .diva-mono { font-size: 15px; color: var(--diva-accent-text); }
.diva-legal__body p, .diva-legal__body li { font-size: 16px; line-height: 1.7; color: var(--diva-text-2); }
.diva-legal__body p { margin: 0 0 14px; }
.diva-legal__body strong { color: var(--diva-black); }
.diva-legal__body ul { margin: 0 0 14px; padding-left: 22px; }
.diva-legal__body li { margin-bottom: 6px; }
.diva-legal__body li::marker { color: var(--diva-orange); }
.diva-legal__intro { padding: 28px 32px; }
.diva-legal__body ol { margin: 0 0 14px; padding-left: 28px; }
.diva-legal__body ol.diva-legal__alpha { list-style: lower-alpha; }
.diva-legal__body ol.diva-legal__roman { list-style: lower-roman; margin: 10px 0 4px; padding-left: 32px; }
.diva-legal__body ol > li::marker { color: var(--diva-accent-text); font-weight: 600; }
.diva-legal__intro p:last-child { margin-bottom: 0; }
.diva-legal__small { font-size: 14px !important; }
.diva-legal__tbc { background: #FFF1A8; color: var(--diva-black); padding: 0 3px; border-radius: 3px; }
.diva-legal__clause, .diva-legal__sub { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 8px; }
.diva-legal__sub { margin-left: 48px !important; grid-template-columns: 36px minmax(0, 1fr); }
.diva-legal__num { font-weight: 600; color: var(--diva-black); }
.diva-legal__clause .diva-legal__num { font-family: var(--diva-font-mono); font-size: 14px; padding-top: 2px; color: var(--diva-accent-text); }
.diva-legal__body--terms > p.diva-legal__small a, .diva-pagehead__lead a { color: inherit; text-decoration: underline; text-decoration-color: var(--diva-orange); text-underline-offset: 3px; }
.diva-legal__previous { margin-top: 48px; border-top: 2px solid var(--diva-black); padding-top: 16px; }
.diva-legal__previous > summary { cursor: pointer; font-family: var(--diva-font-cond); font-weight: 600; font-size: 22px; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.diva-legal__previous > summary::-webkit-details-marker { display: none; }
.diva-legal__previous > summary::after { content: '+'; color: var(--diva-accent-text); }
.diva-legal__previous[open] > summary::after { content: '–'; }
.diva-legal__previous section h2 { font-size: 22px; }
@media (max-width: 700px) {
	.diva-legal__sub { margin-left: 16px !important; }
}
.diva-legal__table { width: 100%; margin: 8px 0 14px; border-collapse: collapse; font-size: 15px; background: #FFFFFF; border: 1px solid var(--diva-border); border-radius: 12px; overflow: hidden; }
.diva-legal__table thead th { background: var(--diva-black); color: var(--diva-ivory); text-align: left; padding: 12px 16px; font-family: var(--diva-font-cond); font-weight: 600; font-size: 17px; letter-spacing: 0.02em; }
.diva-legal__table td, .diva-legal__table tbody th { padding: 10px 16px; border-top: 1px solid var(--diva-border); text-align: left; vertical-align: top; }
.diva-legal__table tbody th { font-weight: 600; color: var(--diva-black); width: 36%; }
.diva-legal__table tr.is-first td, .diva-legal__table tr.is-first th { border-top: 1px solid var(--diva-badge-border); }
.diva-legal__table td.diva-mono { font-size: 14px; white-space: nowrap; }
.diva-legal__table td.is-strong { color: var(--diva-black); font-weight: 600; }
.diva-legal__cta { margin-top: 40px; padding: 24px 28px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; }
.diva-legal__cta > div:first-child { display: flex; flex-direction: column; gap: 6px; max-width: 520px; font-size: 16px; line-height: 1.5; }
.diva-legal__cta-actions { display: flex; flex-wrap: wrap; gap: 10px; }

.diva-legal__id { padding: 24px; border-radius: 14px; background: var(--diva-black); display: flex; flex-direction: column; gap: 10px; }
.diva-legal__id .diva-mono { font-size: 12px; letter-spacing: 0.06em; }
.diva-legal__id-value { color: var(--diva-ivory); font-size: 24px !important; font-weight: 600; letter-spacing: 0.04em; }
.diva-legal__lead { font-size: 19px !important; color: var(--diva-black) !important; }
.diva-legal--weee .diva-legal__body h2 { margin-top: 28px; }
.diva-legal__checks { list-style: none; padding-left: 0 !important; }
.diva-legal__checks li { position: relative; padding-left: 30px; }
.diva-legal__checks li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 6px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--diva-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5 5.5-6' fill='none' stroke='%231B1B1D' stroke-width='2'/%3E%3C/svg%3E") center / 12px no-repeat;
}

@media (max-width: 900px) {
	.diva-legal { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.diva-legal__side { position: static; flex-direction: row; flex-wrap: wrap; align-items: center; }
	.diva-legal__side > img { width: 110px; height: 110px; }
	.diva-legal__toc { display: none; }
	.diva-legal__table td.diva-mono { white-space: normal; }
}

/* ---------- Technical ---------- */

.diva-tech { padding-top: 24px; }
.diva-tech [hidden] { display: none !important; }
.diva-tech__toc { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 8px; }
.diva-tech__toc a {
	padding: 10px 16px;
	border: 1px solid var(--diva-badge-border);
	border-radius: 22px;
	background: #FFFFFF;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	color: var(--diva-black);
}
.diva-tech__toc a:hover { border-color: var(--diva-orange); color: var(--diva-black); }
.diva-tech section[id] { scroll-margin-top: 24px; }

.diva-tech__links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; padding-top: 24px; padding-bottom: 16px; }
.diva-tech__link { padding: 22px; display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: var(--diva-black); transition: border-color 0.15s; }
.diva-tech__link:hover { border-color: var(--diva-orange); color: var(--diva-black); }
.diva-tech__link-title { font-family: var(--diva-font-cond); font-weight: 600; font-size: 26px; line-height: 1.1; }
.diva-tech__link .diva-muted { font-size: 15px; line-height: 1.5; }

.diva-tech__section { padding-top: 72px; padding-bottom: 8px; }
.diva-tech__head { display: flex; flex-direction: column; gap: 12px; max-width: 760px; margin-bottom: 32px; }
.diva-tech__head .diva-mono { font-size: 14px; }

.diva-tech__anatomy { list-style: none; margin: 0 0 28px; padding: 0; display: flex; background: var(--diva-black); border-radius: 14px; overflow: hidden; }
.diva-tech__anatomy li { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 18px 8px; text-align: center; }
.diva-tech__anatomy li + li { border-left: 1px solid #3A3A3E; }
.diva-tech__anatomy-n { color: var(--diva-orange); font-size: 12px; }
.diva-tech__anatomy-code { color: var(--diva-ivory); font-size: clamp(18px, 2.2vw, 30px); font-weight: 600; }
.diva-tech__anatomy-label { color: var(--diva-on-dark); font-size: 14px; }
.diva-tech__rules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 40px; }
.diva-tech__rules p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--diva-text-2); }
.diva-tech__rules strong { color: var(--diva-black); }
.diva-tech__rules a, .diva-tech__note a, .diva-tech__warranty p a, .diva-tech__empty a { color: var(--diva-accent-text); font-weight: 600; }
.diva-tech__small { margin: 24px 0 0; font-size: 14px; }

.diva-tech__search { display: flex; flex-direction: column; gap: 6px; max-width: 420px; margin-bottom: 28px; }
.diva-tech__search label { font-weight: 600; font-size: 15px; }
.diva-tech__search input { height: 48px; padding: 0 14px; border: 1px solid var(--diva-badge-border); border-radius: 8px; background: #FFFFFF; font: inherit; }
.diva-tech__search input:focus { outline: 2px solid var(--diva-orange); outline-offset: 1px; border-color: var(--diva-orange); }
.diva-tech__dict { columns: 3 320px; column-gap: 32px; }
.diva-tech__group { break-inside: avoid; margin-bottom: 28px; }
.diva-tech__group-title { margin: 0 0 10px; padding-bottom: 8px; border-bottom: 2px solid var(--diva-black); font-family: var(--diva-font-cond); font-weight: 600; font-size: 22px; line-height: 1.1; }
.diva-tech__group dl { margin: 0; }
.diva-tech__code { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--diva-border); font-size: 15px; line-height: 1.45; }
.diva-tech__code dt { font-size: 14px; font-weight: 600; color: var(--diva-accent-text); }
.diva-tech__code dd { margin: 0; }
.diva-tech__empty { margin: 0; }
.diva-tech__ranges { margin-bottom: 40px; }
/* Range codes run longer than option codes (e.g. EXITLEDBOXIP65); anything longer still wraps instead of overlapping. */
.diva-tech__ranges .diva-tech__code { grid-template-columns: 128px minmax(0, 1fr); }
.diva-tech__code dt { overflow-wrap: anywhere; }
.diva-tech__ranges dl { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); column-gap: 32px; }
.diva-tech__ranges .diva-tech__group-title .diva-muted { font-family: var(--diva-font); font-size: 15px; font-weight: 400; }
.diva-tech__ranges dd a { color: var(--diva-black); text-decoration: none; }
.diva-tech__ranges dd a:hover { color: var(--diva-accent-text); text-decoration: underline; }

.diva-tech__band { position: relative; margin-top: 72px; padding: 80px 0; background: var(--diva-black); color: var(--diva-ivory); scroll-margin-top: 24px; }
.diva-tech__band::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--diva-orange); }
.diva-tech__band .diva-lead { color: var(--diva-on-dark); }
.diva-tech__band-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 56px; align-items: start; }
.diva-tech__band-grid .diva-tech__head { margin-bottom: 0; }
.diva-tech__points { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.diva-tech__points li { padding-left: 22px; position: relative; font-size: 16px; line-height: 1.6; color: var(--diva-on-dark); }
.diva-tech__points li::before { content: ''; position: absolute; left: 2px; top: 9px; width: 8px; height: 8px; background: var(--diva-orange); transform: rotate(45deg); }
.diva-tech__points strong { color: var(--diva-ivory); }
.diva-tech__points .diva-mono { color: var(--diva-orange); }
.diva-tech__band-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }

.diva-tech__emergency { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.diva-tech__em { padding: 24px; }
.diva-tech__em p { margin: 0; font-size: 15px; line-height: 1.7; }
.diva-tech__em .diva-mono { padding: 1px 6px; border-radius: 4px; background: var(--diva-tint); font-weight: 600; color: var(--diva-black); }
.diva-tech__note { margin: 20px 0 0; font-size: 16px; color: var(--diva-text-2); }

.diva-tech__standards { margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 2px solid var(--diva-black); }
.diva-tech__standards > div { padding: 20px 20px 22px 0; border-bottom: 1px solid var(--diva-border); }
.diva-tech__standards > div:not(:nth-child(4n + 1)) { padding-left: 20px; border-left: 1px solid var(--diva-border); }
.diva-tech__standards dt { font-size: 16px; font-weight: 600; color: var(--diva-black); margin-bottom: 8px; }
.diva-tech__standards dd { margin: 0; font-size: 15px; line-height: 1.5; color: var(--diva-text-2); }

.diva-tech__warranty { display: flex; gap: 36px; align-items: center; padding: 36px 40px; }
.diva-tech__warranty img { width: 140px; height: 140px; flex-shrink: 0; }
.diva-tech__warranty .diva-h3 { margin: 8px 0 12px; }
.diva-tech__warranty p { margin: 0 0 10px; font-size: 16px; line-height: 1.6; color: var(--diva-text-2); }
.diva-tech .diva-register { margin-top: 56px; }

@media (max-width: 1100px) {
	.diva-tech__links, .diva-tech__standards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.diva-tech__standards > div:not(:nth-child(4n + 1)) { padding-left: 0; border-left: 0; }
	.diva-tech__standards > div:nth-child(2n) { padding-left: 20px; border-left: 1px solid var(--diva-border); }
	.diva-tech__band-grid, .diva-tech__emergency, .diva-tech__rules { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 700px) {
	.diva-tech__links, .diva-tech__standards { grid-template-columns: minmax(0, 1fr); }
	.diva-tech__standards > div:nth-child(2n) { padding-left: 0; border-left: 0; }
	.diva-tech__anatomy { flex-wrap: wrap; }
	.diva-tech__anatomy li { flex: 1 0 30%; border-top: 1px solid #3A3A3E; }
	.diva-tech__warranty { flex-direction: column; align-items: flex-start; padding: 24px; }
}

/* ---------- Controls ---------- */

.diva-controls { padding-top: 32px; }
.diva-controls__banner { display: block; width: 100%; height: auto; aspect-ratio: 1600 / 366; object-fit: cover; border-radius: 14px; }
.diva-controls__intro {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 64px;
	align-items: center;
	padding-top: 72px;
	padding-bottom: 80px;
}
.diva-controls__copy { display: flex; flex-direction: column; gap: 18px; }
.diva-controls__copy .diva-lead { color: var(--diva-black); font-size: 20px; }
.diva-controls__copy p:not(.diva-lead) { margin: 0; font-size: 17px; line-height: 1.65; color: var(--diva-text-2); }
.diva-controls__network { margin: 0; padding: 24px; background: #FFFFFF; border: 1px solid var(--diva-border); border-radius: 14px; }
.diva-controls__network img { display: block; width: 100%; height: auto; }

.diva-controls__codes-band { position: relative; background: var(--diva-black); color: var(--diva-ivory); padding: 88px 0; }
.diva-controls__codes-band::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--diva-orange); }
.diva-controls__codes-band .diva-lead { color: var(--diva-on-dark); }
.diva-controls__codes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.diva-controls__codes li {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 22px;
	border: 1px solid rgba(251, 250, 247, 0.16);
	border-radius: 14px;
	transition: border-color 0.2s;
}
.diva-controls__codes li:hover { border-color: var(--diva-orange); }
.diva-controls__code {
	align-self: flex-start;
	padding: 6px 12px;
	border-radius: 6px;
	background: var(--diva-orange);
	color: var(--diva-black);
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.02em;
}
.diva-controls__code-name { font-family: var(--diva-font-cond); font-weight: 600; font-size: 24px; line-height: 1.1; }
.diva-controls__code-text { font-size: 15px; line-height: 1.5; color: var(--diva-on-dark); }
.diva-controls__extras { margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(251, 250, 247, 0.16); display: grid; grid-template-columns: auto repeat(3, minmax(0, 1fr)); gap: 24px; align-items: baseline; }
.diva-controls__extras p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--diva-on-dark); }
.diva-controls__extras strong { display: block; color: var(--diva-ivory); font-size: 17px; margin-bottom: 4px; }

.diva-controls__systems { padding-top: 80px; padding-bottom: 32px; }
.diva-controls__group {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	gap: 48px;
	align-items: start;
	padding: 36px 0;
	border-top: 1px solid var(--diva-border);
}
.diva-controls__group:first-of-type { border-top: 2px solid var(--diva-black); }
.diva-controls__group-head { display: flex; flex-direction: column; gap: 8px; }
.diva-controls__group-head .diva-h3 { margin: 0; }
.diva-controls__group-head p { margin: 0; font-size: 16px; line-height: 1.55; }
.diva-controls__logos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 14px; }
/* The logo images carry their own frame. */
.diva-controls__logos li { transition: transform 0.2s; }
.diva-controls__logos li:hover { transform: translateY(-3px); }
.diva-controls__logos img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; mix-blend-mode: multiply; }
.diva-controls .diva-register { margin-top: 48px; }

@media (max-width: 1100px) {
	.diva-controls__intro, .diva-controls__group { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.diva-controls__codes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.diva-controls__extras { grid-template-columns: minmax(0, 1fr); gap: 14px; }
}
@media (max-width: 700px) {
	.diva-controls__codes { grid-template-columns: minmax(0, 1fr); }
	.diva-controls__banner { aspect-ratio: 16 / 7; }
}

/* ---------- Downloads library ---------- */

.diva-library { padding-top: 32px; padding-bottom: 80px; }
.diva-library__tools { display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: flex-end; margin-bottom: 20px; }
.diva-library__search, .diva-library__cat { display: flex; flex-direction: column; gap: 6px; }
.diva-library__search { flex: 1 1 320px; }
.diva-library__search label, .diva-library__cat label { font-weight: 600; font-size: 15px; }
.diva-library__search input, .diva-library__cat select {
	height: 48px;
	padding: 0 14px;
	border: 1px solid var(--diva-badge-border);
	border-radius: 8px;
	background: #FFFFFF;
	font: inherit;
	color: var(--diva-black);
}
.diva-library__cat select { min-width: 220px; }
.diva-library__search input:focus, .diva-library__cat select:focus { outline: 2px solid var(--diva-orange); outline-offset: 1px; border-color: var(--diva-orange); }
.diva-library__types { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; border: 0; }
.diva-library__type { position: relative; cursor: pointer; }
.diva-library__type input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.diva-library__type span {
	display: inline-flex;
	align-items: center;
	height: 48px;
	padding: 0 18px;
	border: 1px solid var(--diva-badge-border);
	border-radius: 24px;
	background: #FFFFFF;
	font-size: 15px;
	font-weight: 500;
}
.diva-library__type:hover span { border-color: var(--diva-orange); }
.diva-library__type input:checked + span { background: var(--diva-black); border-color: var(--diva-black); color: var(--diva-ivory); font-weight: 600; }
.diva-library__type input:focus-visible + span { outline: 2px solid var(--diva-orange); outline-offset: 2px; }
.diva-library__bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.diva-library__note { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; color: var(--diva-text-2); }
.diva-library__note a { color: var(--diva-accent-text); font-weight: 600; }

.diva-lib { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--diva-black); }
.diva-lib__head, .diva-lib__row {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) repeat(var(--diva-lib-cols, 3), minmax(0, 1fr));
	gap: 20px;
	align-items: start;
	padding: 14px 0;
	border-bottom: 1px solid var(--diva-border);
}
.diva-lib__head { font-family: var(--diva-font-cond); font-weight: 600; font-size: 15px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--diva-text-2); padding: 10px 0; }
.diva-lib__row[hidden] { display: none; }
.diva-lib__name { font-weight: 600; font-size: 17px; }
.diva-lib__name a { color: var(--diva-black); text-decoration: none; }
.diva-lib__name a:hover { color: var(--diva-accent-text); text-decoration: underline; }
.diva-lib__cell { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.diva-lib__label { display: none; }
.diva-lib__file { display: inline-flex; align-items: center; gap: 6px; color: var(--diva-accent-text); text-decoration: none; min-width: 0; }
.diva-lib__file .diva-mono { font-size: 13px; overflow-wrap: anywhere; }
.diva-lib__file:hover .diva-mono { text-decoration: underline; }
.diva-lib__file svg { flex-shrink: 0; color: var(--diva-text-2); }
.diva-lib__more summary { cursor: pointer; font-weight: 600; font-size: 14px; color: var(--diva-accent-text); }
.diva-lib__more[open] summary { margin-bottom: 6px; }
.diva-lib__more .diva-lib__file { display: flex; padding: 2px 0; }
/* One file type chosen: show that column only. */
.diva-lib[data-type] .diva-lib__cell { display: none; }
.diva-lib[data-type="datasheet"] .diva-lib__cell[data-type="datasheet"],
.diva-lib[data-type="ldt"] .diva-lib__cell[data-type="ldt"],
.diva-lib[data-type="bim"] .diva-lib__cell[data-type="bim"] { display: flex; }
.diva-lib[data-type] .diva-lib__head, .diva-lib[data-type] .diva-lib__row { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.diva-library__empty { margin: 24px 0 0; }
.diva-library__empty a, .diva-library__foot a { color: var(--diva-accent-text); }
.diva-library__foot { margin-top: 32px; display: flex; flex-direction: column; gap: 6px; }
.diva-library__foot p { margin: 0; font-size: 15px; color: var(--diva-text-2); }
.diva-library__gate { padding: 32px; max-width: 760px; display: flex; flex-direction: column; gap: 14px; }
.diva-library__gate .diva-h3, .diva-library__gate p { margin: 0; }
.diva-library__gate-icon svg { width: 28px; height: 28px; color: var(--diva-accent-text); }

@media (max-width: 900px) {
	.diva-lib__head { display: none; }
	.diva-lib__row, .diva-lib[data-type] .diva-lib__row { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.diva-lib__cell { flex-direction: row; flex-wrap: wrap; gap: 6px 14px; align-items: baseline; }
	.diva-lib__label { display: block; flex-basis: 100%; font-size: 13px; font-weight: 600; color: var(--diva-text-2); }
	.diva-lib__more { flex-basis: 100%; }
	.diva-lib__cell.is-empty { display: none; }
	.diva-library__cat, .diva-library__cat select { width: 100%; }
}

/* ---------- Footer ---------- */

.diva-footer__wave { display: block; width: 100%; height: 56px; }.diva-footer { background: var(--diva-black); color: var(--diva-on-dark); padding: 40px 0; font-size: 15px; }
.diva-footer a { color: var(--diva-on-dark); text-decoration: none; }
.diva-footer a:hover { color: var(--diva-orange); }
.diva-footer__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 32px; }
.diva-footer__contact, .diva-footer__col { display: flex; flex-direction: column; gap: 10px; line-height: 1.6; }
.diva-footer__contact { gap: 14px; }
.diva-footer .diva-footer__phone {
	font-family: var(--diva-font-cond);
	font-weight: 700;
	font-size: clamp(26px, 2.4vw, 34px);
	line-height: 1;
	letter-spacing: 0.01em;
	color: var(--diva-orange);
	white-space: nowrap;
}
.diva-footer .diva-footer__phone:hover { color: var(--diva-ivory); }
.diva-footer .diva-footer__email {
	align-self: flex-start;
	margin-top: -4px;
	font-size: 16px;
	font-weight: 600;
	color: var(--diva-ivory);
	border-bottom: 2px solid var(--diva-orange);
	padding-bottom: 2px;
}
.diva-footer .diva-footer__email:hover { color: var(--diva-orange); }
.diva-footer__address { color: var(--diva-ivory); padding-left: 12px; border-left: 3px solid var(--diva-orange); }
.diva-footer .diva-footer__warranty { display: flex; align-items: center; gap: 14px; margin-top: 6px; font-size: 14px; line-height: 1.45; color: var(--diva-ivory); }
.diva-footer__warranty img { width: 88px; height: 88px; flex-shrink: 0; display: block; }
.diva-footer .diva-footer__warranty:hover span { color: var(--diva-orange); }
/* Made in Britain sits at the foot of the Company column, level with the warranty badge opposite. */
.diva-footer__mib { margin-top: auto; align-self: flex-start; display: block; padding: 12px 16px; background: #FFFFFF; border-radius: 10px; }
.diva-footer__mib img { display: block; width: 200px; max-width: 100%; height: auto; }
.diva-footer__brand { display: flex; align-items: flex-end; gap: 8px; }
.diva-footer__brand img { height: 30px; width: auto; display: block; }
.diva-footer__brand span {
	font-family: var(--diva-font-cond);
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0.04em;
	line-height: 1;
	color: var(--diva-ivory);
}
.diva-footer__heading { font-weight: 600; color: var(--diva-ivory); }
.diva-footer__base {
	margin-top: 40px;
	padding-top: 20px;
	border-top: 1px solid var(--diva-text-2);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	font-size: 14px;
}
.diva-footer__legal { display: flex; gap: 24px; }
.diva-footer__statutory { display: flex; flex-wrap: wrap; row-gap: 6px; }
.diva-footer__statutory > * + *::before { content: '|'; margin: 0 12px; color: var(--diva-text-2); }

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

@media (max-width: 1280px) {
	.diva-header { gap: 24px; }
	.diva-nav__list { gap: 18px; font-size: 15px; }
	.diva-nav__primary > a { font-size: 19px; }
	.diva-nav__primary + li:not(.diva-nav__primary) { padding-left: 18px; margin-left: 4px; }
	.diva-ranges__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.diva-browse__cats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1100px) {
	:root { --diva-gutter: 40px; }
	.diva-header { padding-left: var(--diva-gutter); }
	.diva-header__logo { left: 36px; }
	.diva-header__logo img { height: 130px; }
	.diva-nav, .diva-header__actions { display: none; }
	.diva-mobile-nav { display: block; margin-left: 12px; }
	.diva-header__search--mobile { display: flex; margin-left: auto; }
	.diva-search__form input { font-size: 22px; }
	/* The smaller logo hangs to about 140px; start the search box below it. */
	.diva-search__wave { height: 84px; } /* Tablet logo ends about 52px into the panel. */
	.diva-capability__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.diva-capability__item:nth-child(2n) { border-right: 0; padding-right: 0; }
	.diva-capability__item:nth-child(2n + 1) { padding-left: 0; }
	.diva-design { grid-template-columns: 1fr; }
	.diva-report__panel { grid-template-columns: 1fr; }
	.diva-report__render, .diva-design-home .diva-report__render { min-height: 0; aspect-ratio: 4 / 3; }
	.diva-report__includes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.diva-report__includes li:not(:nth-child(4n+1)) { padding-left: 0; border-left: 0; }
	.diva-report__includes li:nth-child(2n) { padding-left: 20px; border-left: 1px solid var(--diva-border); }
	.diva-design__media { min-height: 0; border-right: 0; border-bottom: 1px solid var(--diva-border); padding-top: 64px; }
	.diva-hero__body { padding-top: 130px; }
	.diva-pagehead { padding-top: 90px; }
}

@media (max-width: 900px) {
	.diva-routes { grid-template-columns: 1fr; }
	.diva-section-head { flex-direction: column; align-items: flex-start; gap: 16px; }
	.diva-projects__grid { grid-template-columns: 1fr; }
	.diva-project--lead { grid-column: auto; }
	.diva-project--lead img { height: 300px; }
	.diva-ranges__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.diva-ranges__grid > :nth-child(10) { display: flex; } /* Back to all ten in two columns. */
	.diva-browse__cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.diva-register { flex-direction: column; align-items: flex-start; gap: 24px; }
	.diva-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.diva-hero__caption { display: none; }
	.diva-hero { min-height: 680px; }
	.diva-hero__shade { background: rgba(27, 27, 29, 0.72); }
}

@media (max-width: 600px) {
	:root { --diva-gutter: 16px; }
	.diva-header { height: 72px; }
	.diva-header__logo { left: 12px; top: 6px; }
	.diva-header__logo img { height: 96px; }
	.diva-hero__body { padding-top: 90px; padding-bottom: 160px; }
	.diva-hero__curve { height: 70px; }
	.diva-h2 { font-size: 40px; }
	.diva-route { padding: 24px; }
	.diva-capability__grid { grid-template-columns: 1fr; }
	.diva-capability__item { padding-left: 0 !important; padding-right: 0; border-right: 0; border-bottom: 1px solid var(--diva-border); }
	.diva-design__body { padding: 32px 20px; }
	.diva-report__data { padding: 20px 16px; }
	.diva-report__figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.diva-report__figures div:nth-child(3) { padding-left: 0; border-left: 0; }
	.diva-report__figures dd { font-size: 32px; }
	.diva-report__plan img { height: 200px; }
	.diva-report__render figcaption { padding: 48px 16px 16px; }
	.diva-report__render figcaption span { display: none; }
	.diva-report__includes { grid-template-columns: 1fr; }
	.diva-report__includes li:nth-child(2n) { padding-left: 0; border-left: 0; }
	.diva-design-home .diva-design__body { padding: 28px 20px; }
	.diva-report__gallery { grid-template-columns: 1fr; }
	.diva-report__tabs button { flex: 1 1 100%; }
	.diva-ranges__grid, .diva-browse__cats, .diva-footer__grid { grid-template-columns: 1fr; }
	.diva-register { padding: 28px 20px; }
	.diva-pagehead { padding-top: 60px; padding-bottom: 70px; }
	.diva-reel__track img { width: 96px; height: 96px; margin-right: 32px; }
}

/* ---------- Luminaire schedules (/schedule/) ---------- */

.diva-header__sched { gap: 6px; padding: 0 16px 0 20px; }
.diva-header__count { min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: var(--diva-black); color: var(--diva-ivory); font: 600 11px/20px var(--diva-font-mono); text-align: center; }
.logged-in .diva-header { gap: 28px; } /* Room for the Schedule pill without wrapping the menu. */
.diva-sched__account { margin: 28px 0 0; font-size: 14px; color: var(--diva-text-2); }
.diva-sched__account a { color: var(--diva-black); }
.diva-mobile-nav__sched { color: var(--diva-ivory); font-weight: 600; text-decoration: none; }
.diva-builder__result > .diva-builder__buttons { flex-direction: row; flex-wrap: wrap; gap: 12px; flex-shrink: 0; }
.diva-builder__buttons .diva-btn { border: 0; cursor: pointer; font-family: inherit; }
.diva-builder__buttons .diva-btn--outline { border: 1px solid var(--diva-black); }

.diva-sched { padding-top: 32px; padding-bottom: 80px; display: flex; flex-direction: column; gap: 28px; }
.diva-sched .diva-btn { border: 0; cursor: pointer; font-family: inherit; }
.diva-sched .diva-btn--outline { border: 1px solid var(--diva-black); background: transparent; color: var(--diva-black); }
.diva-sched .diva-btn--ghost, .diva-sched .diva-btn--link { border: 0; background: none; color: var(--diva-black); }
.diva-sched .diva-btn--link { height: auto; padding: 0; font-size: 15px; font-weight: 500; }
.diva-sched__msg { margin: 0; padding: 12px 16px; border-radius: 4px; border-left: 3px solid var(--diva-orange); background: #FBE9DD; }
.diva-sched__msg--ok { background: var(--diva-tint); border-left-color: var(--diva-black); }
.diva-sched__form { display: flex; flex-direction: column; gap: 18px; }
.diva-sched__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; }
.diva-sched__wide { grid-column: 1 / -1; }
.diva-sched__project { margin-top: 8px; padding-left: 18px; border-left: 3px solid var(--diva-orange, #EC7A2D); }
.diva-sched textarea, .diva-sched__table input {
	padding: 10px 12px;
	border: 1px solid var(--diva-badge-border);
	border-radius: 8px;
	font: inherit;
	line-height: 1.4;
	background: #FFFFFF;
	color: var(--diva-black);
	width: 100%;
}
.diva-sched textarea { resize: vertical; }
.diva-sched textarea:focus, .diva-sched__table input:focus { outline: 2px solid var(--diva-orange); outline-offset: 1px; border-color: var(--diva-orange); }
.diva-sched__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.diva-sched__default { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.diva-sched__add { padding: 32px; display: flex; flex-direction: column; gap: 22px; border-color: var(--diva-orange); }
.diva-sched__add-head { display: flex; gap: 20px; align-items: center; }
.diva-sched__add-head img { width: 120px; height: 90px; object-fit: contain; mix-blend-mode: multiply; background: #FFFFFF; border: 1px solid var(--diva-border); border-radius: 8px; flex-shrink: 0; }
.diva-sched__add-head .diva-h3, .diva-sched__add-head p { margin: 0; }
.diva-sched__add-head .diva-eyebrow { margin-bottom: 4px; }
.diva-sched__add-head .diva-muted { font-size: 14px; margin-top: 6px; }

.diva-sched__layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 32px; align-items: start; }
.diva-sched__side .diva-h3 { margin: 0 0 14px; }
.diva-sched__list { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.diva-sched__list li { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; padding: 9px 12px; border-radius: 8px; }
.diva-sched__list li.is-on { background: var(--diva-black); color: var(--diva-ivory); }
.diva-sched__list li.is-on .diva-muted { color: var(--diva-on-dark); }
.diva-sched__list a { text-decoration: none; font-weight: 600; overflow-wrap: anywhere; }
.diva-sched__list li.is-on a { color: var(--diva-ivory); }
.diva-sched__list--sent a { font-weight: 500; }
.diva-sched__list--sent .diva-muted { font-size: 13px; white-space: nowrap; }
.diva-sched__subhead { margin: 28px 0 10px; font: 700 13px var(--diva-font-cond); letter-spacing: 0.12em; text-transform: uppercase; color: var(--diva-text-2); }
.diva-sched__new summary { list-style: none; cursor: pointer; display: inline-flex; }
.diva-sched__new summary::-webkit-details-marker { display: none; }
.diva-sched__new[open] summary { margin-bottom: 16px; }

.diva-sched__card { padding: 32px; display: flex; flex-direction: column; gap: 22px; }
.diva-sched__head .diva-h2 { margin: 0; }
.diva-sched__head p { margin: 4px 0 0; }
.diva-sched__empty { padding: 32px; }
.diva-sched__empty .diva-h3 { margin: 0 0 8px; }
.diva-sched__none { margin: 0; padding: 20px; border: 1px dashed var(--diva-badge-border); border-radius: 8px; }
.diva-sched__scroll { overflow-x: auto; }
.diva-sched__table { width: 100%; border-collapse: collapse; font-size: 15px; }
.diva-sched__table th { text-align: left; font: 700 12px var(--diva-font-cond); letter-spacing: 0.1em; text-transform: uppercase; color: var(--diva-text-2); background: var(--diva-tint); padding: 9px 10px; }
.diva-sched__table td { padding: 10px; border-bottom: 1px solid var(--diva-border); vertical-align: top; }
.diva-sched__table--edit td { min-width: 120px; }
.diva-sched__table--edit td:first-child { min-width: 72px; width: 80px; }
.diva-sched__table--edit td:nth-child(2) { min-width: 280px; width: 48%; }
.diva-sched__table--edit td.diva-sched__qty { min-width: 84px; width: 90px; }
.diva-sched__product { display: inline-block; font: 700 17px var(--diva-font-cond); letter-spacing: 0.02em; margin-bottom: 6px; text-decoration: none; }
.diva-sched__code { font-size: 13px; }
.diva-sched__notes { margin-top: 8px; }
.diva-sched__notes-ro { display: block; margin-top: 4px; font-size: 14px; color: var(--diva-text-2); }
.diva-sched__tools { white-space: nowrap; min-width: 0 !important; width: 1%; text-align: right; }
.diva-sched__tools button { width: 34px; height: 34px; border: 1px solid var(--diva-badge-border); border-radius: 8px; background: #FFFFFF; cursor: pointer; font-size: 16px; line-height: 1; color: var(--diva-black); }
.diva-sched__tools button:hover:not(:disabled) { border-color: var(--diva-orange); }
.diva-sched__tools button:disabled { opacity: 0.35; cursor: default; }
.diva-sched__remove:hover { color: var(--diva-accent-text); }
.diva-sched__submit { display: flex; flex-direction: column; gap: 14px; padding: 24px; border-radius: 12px; background: var(--diva-tint); }
.diva-sched__submit .diva-h3, .diva-sched__submit p { margin: 0; }
.diva-sched__submit .diva-btn { align-self: flex-start; }
.diva-sched__minor { display: flex; gap: 24px; }

@media (max-width: 900px) {
	.diva-sched__layout, .diva-sched__grid { grid-template-columns: minmax(0, 1fr); }
	.diva-sched__add, .diva-sched__card { padding: 22px 18px; }
	.diva-sched__add-head img { width: 88px; height: 66px; }
}
.diva-sched__em { display: flex; align-items: center; gap: 6px; margin: 14px 0 0 auto; width: max-content; padding-top: 12px; border-top: 1px dashed var(--diva-badge-border); text-align: left; white-space: normal; }
.diva-sched__em label { font: 700 11px var(--diva-font-cond); letter-spacing: 0.1em; text-transform: uppercase; color: var(--diva-text-2); }
.diva-sched__em select { height: 34px; padding: 0 8px; border: 1px solid var(--diva-badge-border); border-radius: 8px; background: #FFFFFF; font: inherit; font-size: 13px; color: var(--diva-black); }
.diva-sched__tools .diva-sched__em button { width: auto; height: 34px; white-space: nowrap; padding: 0 12px; line-height: 1; border: 1px solid var(--diva-black); border-radius: 17px; background: transparent; font: 600 13px var(--diva-font); color: var(--diva-black); cursor: pointer; }
.diva-sched__tools .diva-sched__em button:hover { border-color: var(--diva-orange); color: var(--diva-accent-text); }

/* ---------- Special finishes panel (product pages, inc/finishes.php) ---------- */

.diva-finishes { padding: 32px; display: flex; flex-direction: column; gap: 22px; }
.diva-finishes .diva-section-head { margin-bottom: 0; flex-direction: column; align-items: flex-start; gap: 8px; }
.diva-finishes .diva-section-head .diva-muted { max-width: 760px; margin: 0; }
.diva-finishes__name { margin: 0 0 10px; font: 700 13px var(--diva-font-cond); letter-spacing: 0.12em; text-transform: uppercase; color: var(--diva-text-2); }
.diva-finishes__name span { font: 500 13px var(--diva-font); letter-spacing: 0; text-transform: none; }
.diva-finishes__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 14px 16px; }
.diva-finishes__grid li { display: flex; flex-direction: column; gap: 6px; }
.diva-finishes__chip { position: relative; display: block; width: 60px; height: 60px; }
.diva-finishes__chip img { display: block; width: 60px; height: 60px; border: 1px solid var(--diva-badge-border); border-radius: 6px; object-fit: cover; }
.diva-finishes__std { position: absolute; left: 3px; top: 3px; padding: 0 4px; border-radius: 3px; background: var(--diva-orange); color: #FFFFFF; font: 700 9px/15px var(--diva-font-cond); letter-spacing: 0.06em; text-transform: uppercase; }
.diva-finishes__label { font-size: 12.5px; line-height: 1.3; }
.diva-finishes__note { margin: 0; padding: 14px 18px; border-left: 4px solid var(--diva-orange); background: var(--diva-tint); border-radius: 8px; font-size: 14px; }
.diva-finishes__note a { color: var(--diva-accent-text); }
@media (max-width: 900px) {
	.diva-finishes { padding: 22px 18px; }
}

/* Cut-outs (inc/cutout.php): background already transparent, so no multiply; white diffusers stay white. */
img[src*="/diva/cutouts/"] { mix-blend-mode: normal !important; }

/* Product pictures: thumbnail row under the page picture; the catalogue card shows the first extra picture on hover (Chris, Oct 2026). */
.diva-prod-hero__gallery { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.diva-prod-thumbs { display: flex; flex-wrap: wrap; gap: 10px; }
.diva-prod-thumb { width: 76px; height: 76px; padding: 6px; background: #FFFFFF; border: 1px solid var(--diva-border); border-radius: 8px; cursor: pointer; overflow: hidden; transition: border-color 0.15s; }
.diva-prod-thumb:hover, .diva-prod-thumb:focus-visible { border-color: var(--diva-black); }
.diva-prod-thumb.is-on { border-color: var(--diva-orange); box-shadow: 0 0 0 1px var(--diva-orange); }
.diva-prod-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; mix-blend-mode: multiply; }
.diva-prod-thumb--fill { padding: 0; }
.diva-prod-thumb--fill img { object-fit: cover; mix-blend-mode: normal; }
.diva-range__media { position: relative; }
.diva-range__media img.diva-range__alt { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 16px; background: #FFFFFF; mix-blend-mode: normal; opacity: 0; transition: opacity 0.25s; }
.diva-range__media img.diva-range__alt--fill { object-fit: cover; padding: 0; }
.diva-catcard:hover .diva-range__alt, .diva-catcard:focus-visible .diva-range__alt { opacity: 1; }
@media (hover: none) { .diva-range__alt { display: none; } }
.diva-installs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.diva-install { display: block; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; background: var(--diva-tint); border: 1px solid var(--diva-border); }
.diva-install img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s; }
.diva-install:hover img { transform: scale(1.03); }
@media (max-width: 900px) { .diva-installs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .diva-installs { grid-template-columns: minmax(0, 1fr); } }
.diva-prod-range { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 1000px) { .diva-prod-range { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .diva-prod-range { grid-template-columns: minmax(0, 1fr); } }
#range .diva-h2, #installations .diva-h2, #projects .diva-h2 { margin-bottom: 24px; }

/* Applications (Chris, Oct 2026). */
.diva-apps { padding-top: 24px; padding-bottom: 48px; }
.diva-apps__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.diva-appcard__media--cutout { background: #FFFFFF; }
.diva-appcard__media--cutout img { object-fit: contain; padding: 20px; }
.diva-apps__h { margin: 40px 0 24px; }
.diva-apps__others { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--diva-border); display: flex; flex-direction: column; gap: 12px; }
.diva-apps__others div { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.diva-prod-apps a { text-decoration: none; color: inherit; }
@media (max-width: 1000px) { .diva-apps__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .diva-apps__grid { grid-template-columns: minmax(0, 1fr); } }
.diva-prod-apps a:hover span { background: var(--diva-black); color: var(--diva-ivory); }
.diva-mega__links--cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px 32px; }
/* Applications dropdown: View all and the uses on the left, featured application and four use photos on the right (Chris, 6 Oct 2026). */
.diva-mega--apps { grid-template-columns: 230px minmax(0, 1fr); }
.diva-mega--apps .diva-mega__side { border-left: 0; padding-left: 0; border-right: 1px solid var(--diva-border); padding-right: 24px; }
.diva-mega__appsmain { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.diva-mega__appfeat .diva-mega__photo { aspect-ratio: 4 / 3; margin-bottom: 8px; }
.diva-mega__appprod { position: absolute; right: 10px; bottom: 10px; width: 38%; aspect-ratio: 4 / 3; background: #FFFFFF; border-radius: 8px; box-shadow: 0 4px 14px rgba(27, 27, 29, 0.25); }
.diva-mega__photo .diva-mega__appprod img { object-fit: contain; padding: 8px; mix-blend-mode: multiply; }
.diva-mega__appfeat { margin-bottom: 12px; }
.diva-mega__apptiles { gap: 14px 14px; }
.diva-mega__apptiles .diva-mega__photo { aspect-ratio: 4 / 3; }
.diva-mega__apptiles .diva-mega__name { font-size: 16px; }
.diva-range__flag { align-self: flex-start; font-family: var(--diva-font-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.04em; padding: 3px 8px; border-radius: 999px; background: var(--diva-orange); color: var(--diva-black); }
.diva-apps__targets { background: #FFFFFF; border: 1px solid var(--diva-border); border-radius: 14px; padding: 20px 24px; margin-bottom: 8px; }
.diva-apps__targets-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; margin-bottom: 14px; }
.diva-apps__draft { font-family: var(--diva-font-mono); font-size: 12px; color: var(--diva-accent-text); }
.diva-apps__target { display: grid; grid-template-columns: repeat(3, minmax(0, 180px)) minmax(0, 1fr); gap: 16px 28px; align-items: end; }
.diva-apps__task { margin: 0; color: var(--diva-text-2); font-size: 15px; }
.diva-apps__table { width: 100%; border-collapse: collapse; font-size: 15px; }
.diva-apps__table th { text-align: left; font-family: var(--diva-font-mono); font-size: 12px; font-weight: 500; color: var(--diva-text-2); padding: 6px 10px 8px 0; border-bottom: 2px solid var(--diva-black); }
.diva-apps__table td { padding: 7px 10px 7px 0; border-bottom: 1px solid var(--diva-border); }
.diva-apps__table td:nth-child(n+3), .diva-apps__table th:nth-child(n+3) { font-family: var(--diva-font-mono); text-align: right; width: 70px; }
.diva-apps__em { margin-top: 48px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 28px; background: var(--diva-black); color: var(--diva-ivory); border-radius: 14px; padding: 28px; }
.diva-apps__em h2 { color: var(--diva-ivory); margin: 6px 0 10px; }
.diva-apps__em p { margin: 0 0 12px; color: var(--diva-on-dark); }
.diva-apps__em a { color: var(--diva-ivory); }
.diva-apps__em ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.diva-apps__em li { display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; border: 1px solid rgba(251, 250, 247, 0.2); border-radius: 10px; }
.diva-apps__em li.is-focus { border-color: var(--diva-orange); }
.diva-apps__em li span { color: var(--diva-on-dark); font-size: 15px; }
@media (max-width: 900px) { .diva-apps__target { grid-template-columns: repeat(3, minmax(0, 1fr)); } .diva-apps__task { grid-column: 1 / -1; } .diva-apps__em { grid-template-columns: minmax(0, 1fr); } }
.diva-bespoke__points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.diva-bespoke__points div { background: #FFFFFF; border: 1px solid var(--diva-border); border-radius: 14px; padding: 20px 22px; }
.diva-bespoke__points p { margin: 8px 0 0; }
@media (max-width: 900px) { .diva-bespoke__points { grid-template-columns: minmax(0, 1fr); } }
.diva-filters__subcats { list-style: none; margin: 2px 0 6px 12px; padding: 0 0 0 10px; border-left: 2px solid var(--diva-border); display: flex; flex-direction: column; gap: 2px; }
.diva-filters__subcats a { display: flex; justify-content: space-between; padding: 4px 8px; border-radius: 6px; text-decoration: none; font-size: 14px; }
.diva-filters__subcats a span { font-family: var(--diva-font-mono); font-size: 12px; color: var(--diva-text-2); }
.diva-filters__subcats a:hover { background: var(--diva-tint); }
.diva-filters__subcats a.is-on { background: var(--diva-black); color: var(--diva-ivory); font-weight: 600; }
.diva-filters__subcats a.is-on span { color: var(--diva-on-dark); }

/* Technical information tabs: type (e.g. diffuser) and colour temperature (Chris, 3 Oct 2026). */
.diva-vtabs { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.diva-vtabs__row { display: flex; flex-wrap: wrap; gap: 6px; }
.diva-vtab { height: 36px; padding: 0 14px; border: 1px solid var(--diva-badge-border); border-radius: 8px; background: #FFFFFF; color: var(--diva-black); font: 500 14px/1 var(--diva-font); cursor: pointer; }
.diva-vtab:hover { border-color: var(--diva-orange); }
.diva-vtab.is-on { background: var(--diva-black); border-color: var(--diva-black); color: var(--diva-ivory); }
.diva-vtab:focus-visible { outline: 2px solid var(--diva-orange); outline-offset: 2px; }
.diva-variants[hidden], .diva-variants tr[hidden] { display: none; }
.diva-proj__credit { margin: 10px 0 0; font-size: 12px; color: var(--diva-text-2); }
/* Case studies dropdown: By sector on the left, four featured projects in a 2 x 2 grid (Chris, 3 Oct 2026). */
.diva-mega--projects { grid-template-columns: 230px minmax(0, 1fr); }
.diva-mega--projects .diva-mega__main { order: 1; }
.diva-mega--projects .diva-mega__side { order: 0; border-left: 0; padding-left: 0; border-right: 1px solid var(--diva-border); padding-right: 24px; }
.diva-mega--projects .diva-mega__projects { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
.diva-mega--projects .diva-mega__photo { aspect-ratio: 2 / 1; }
.diva-mega--projects .diva-mega__name { font-size: 18px; }
/* Case studies dropdown: second photo on hover (Chris, Oct 2026). */
.diva-mega__photo { position: relative; }
.diva-mega__photo img.diva-mega__photo-alt { position: absolute; inset: 0; opacity: 0; transition: opacity 0.25s; }
.diva-mega__project:hover .diva-mega__photo-alt, .diva-mega__project:focus-visible .diva-mega__photo-alt { opacity: 1; }
@media (hover: none) { .diva-mega__photo-alt { display: none; } }
/* PROTEUS kit of parts in the builder (Chris, Oct 2026). */
.diva-kit { margin-top: 0; padding-top: 0; display: flex; flex-direction: column; gap: 12px; } /* separators come from the numbered step headings */
.diva-kit__runs { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.diva-kit__runs label { font-weight: 600; }
.diva-kit__runs input, .diva-kit__table input { width: 84px; padding: 6px 8px; border: 1px solid var(--diva-border); border-radius: 6px; font: inherit; }
.diva-kitrun { margin: 0 0 22px; padding: 18px 20px; background: #FFF6EE; border: 2px solid var(--diva-orange); border-radius: 10px; }
.diva-kitrun h3 { margin: 0 0 12px; }
.diva-kitrun__fields { display: flex; flex-wrap: wrap; gap: 14px 24px; }
.diva-kitrun__fields .diva-field { margin: 0; }
.diva-kitrun__fields label { display: block; font-weight: 700; margin-bottom: 6px; }
.diva-kitrun__fields input { width: 160px; padding: 10px 12px; font: 600 18px/1.2 var(--diva-mono, monospace); border: 1px solid var(--diva-badge-border); border-radius: 8px; background: #FFFFFF; }
.diva-kitrun__sum { margin: 14px 0 6px; font-weight: 600; white-space: pre-line; }
.diva-kitrun__note { margin: 0; font-size: 14px; }
.diva-kit__table { width: 100%; border-collapse: collapse; }
.diva-kit__table th { text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--diva-text-2); padding: 6px 8px; border-bottom: 1px solid var(--diva-border); }
.diva-kit__table td { padding: 8px; border-bottom: 1px solid var(--diva-border); vertical-align: middle; }
.diva-kit__parts { display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.diva-sched__kit { margin: 6px 0 0; padding-left: 18px; }
.diva-sched__kit li { margin: 2px 0; }
.diva-kit__strip { display: flex; flex-direction: column; gap: 10px; }
.diva-kit__strip .diva-builder__pos input[type="number"] { width: 110px; padding: 6px 8px; border: 1px solid var(--diva-border); border-radius: 6px; font: inherit; }
.diva-kit__ends { margin-left: 8px; font-size: 14px; white-space: nowrap; }
.diva-kit__strip-out { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-top: 12px; padding: 12px 16px; background: var(--diva-ivory, #FBFAF7); border: 1px solid #D9D6CF; border-left: 3px solid var(--diva-orange, #EC7A2D); border-radius: 8px; }
.diva-kit__strip-out output { font-weight: 600; font-size: 20px; line-height: 1.25; word-break: break-word; } /* code larger, specification beneath (Chris, 5 Oct 2026) */
.diva-kit__strip-out > .diva-muted { font-size: 14px; line-height: 1.45; }
.diva-kit__strip-out[hidden], .diva-kit [hidden] { display: none; }
.diva-kit__strip-link { margin: 0; font-size: 14px; }
.diva-kit__driver { display: flex; flex-direction: column; gap: 10px; }

/* PROTEUS LED kit builder: numbered decision steps with a separator before each (Chris, 4 Oct 2026). */
.diva-kitstep { display: flex; align-items: center; gap: 12px; margin: 30px 0 16px; padding-top: 22px; border-top: 2px solid var(--diva-border); font-family: var(--diva-font-head, 'Barlow Condensed', sans-serif); font-weight: 700; font-size: 24px; letter-spacing: 0.02em; text-transform: uppercase; color: var(--diva-black); }
.diva-kitstep__n { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: var(--diva-orange); color: #FFFFFF; font-size: 20px; flex-shrink: 0; }
.diva-builder__grid--kit legend .diva-mono { display: none; } /* part-code position numbers: no code bar on kit products */
.diva-kit__list { margin: 8px 0 10px; width: 100%; } .diva-kit__list td:last-child, .diva-kit__list th:last-child { text-align: right; white-space: nowrap; }
.diva-builder__result--kit { margin-top: 0; padding-top: 0; border-top: 0; flex-direction: column; align-items: stretch; gap: 16px; } /* step 5 heading carries the separator */
.diva-builder__result--kit .diva-kitstep { margin-top: 30px; }
/* PROTEUS kit: strips one per line (Chris, 5 Oct 2026) and the card for a strip with its own page */
.diva-builder__opts--stack { flex-direction: column; align-items: flex-start; }
.diva-kit__strip-card { display: flex; align-items: center; gap: 12px; padding: 8px 12px 8px 8px; border: 1px solid var(--diva-border); border-radius: 8px; background: #FFFFFF; color: inherit; text-decoration: none; align-self: start; max-width: 300px; }
.diva-kit__strip-card:hover { border-color: var(--diva-orange, #EC7A2D); }
.diva-kit__strip-card img { width: 84px; height: 64px; object-fit: contain; flex-shrink: 0; }
.diva-kit__strip-card > span { display: flex; flex-direction: column; gap: 2px; font-size: 13px; line-height: 1.3; }
.diva-kit__strip-card strong { font-family: 'Barlow Condensed', sans-serif; font-size: 16px; letter-spacing: 0.02em; }
/* LED strip pages: step 2, choose a PROTEUS profile or none (Chris, 5 Oct 2026) */
.diva-prof-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; margin: 12px 0 18px; }
.diva-prof { display: flex; align-items: center; gap: 12px; padding: 8px 12px 8px 8px; border: 1px solid var(--diva-border); border-radius: 8px; background: #FFFFFF; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.diva-prof:hover { border-color: var(--diva-orange, #EC7A2D); }
.diva-prof.is-on { border: 2px solid var(--diva-orange, #EC7A2D); padding: 7px 11px 7px 7px; }
.diva-prof img, .diva-prof__none { width: 84px; height: 64px; object-fit: contain; flex-shrink: 0; }
.diva-prof__none { border: 1px dashed var(--diva-border); border-radius: 6px; }
.diva-prof > span { display: flex; flex-direction: column; gap: 2px; font-size: 13px; line-height: 1.3; }
.diva-prof strong { font-family: "Barlow Condensed", sans-serif; font-size: 16px; letter-spacing: 0.02em; }
.diva-kit__prof { margin-top: 28px; }
.diva-kitrun .diva-field[hidden], .diva-kit__acc[hidden], .diva-kit__strip-out[hidden] { display: none; }
/* Schedule: a PROTEUS kit's part codes under its one reference (Chris, 5 Oct 2026) */
.diva-sched__kitlist { list-style: none; margin: 4px 0 6px; padding: 0; font-size: 12px; line-height: 1.5; }
.diva-sched__kitlist li { display: flex; gap: 8px; }
.diva-sched__kitlist .q { min-width: 40px; text-align: right; font-weight: 600; }
/* Emergency battery section (HERCULES LED first; Chris, 5 Oct 2026) */
.diva-battery { display: flex; gap: 32px; align-items: flex-start; justify-content: space-between; padding: 32px; }
.diva-battery__body { display: flex; flex-direction: column; gap: 14px; max-width: 760px; }
.diva-battery__body p { margin: 0; }
@media (max-width: 760px) { .diva-battery { flex-direction: column; padding: 24px 20px; } }

/* Settings section, e.g. sensor DIP switches (Chris, 5 Oct 2026) */
.diva-settings { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; margin-top: 16px; }
.diva-settings__card { padding: 18px; display: flex; flex-direction: column; gap: 10px; }
.diva-settings__card img { width: 100%; height: 150px; object-fit: contain; background: #FFFFFF; border-radius: 6px; }
.diva-settings__card h3 { margin: 0; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 18px; letter-spacing: 0.04em; text-transform: uppercase; }
.diva-settings__card p { margin: 0; }

/* Pricing page (Chris, 5 Oct 2026) */
.diva-pricing__steps { margin: 0 0 20px; padding-left: 22px; display: flex; flex-direction: column; gap: 10px; }
.diva-pricing__steps li { padding-left: 4px; }
.diva-pricing__steps li::marker { color: var(--diva-orange); font-family: 'IBM Plex Mono', monospace; font-weight: 600; }

/* Kit builder part 6, electrical summary (Chris, 5 Oct 2026) */
.diva-kit__elec { margin: 8px 0 10px; width: 100%; }
.diva-kit__elec th { text-align: left; font-weight: 600; width: 32%; white-space: nowrap; padding-right: 16px; }
.diva-kit__elecbox { margin-top: 12px; }
/* Driver & controls (Chris, 5 Oct 2026): options and code bars on the left, electrical summary in a column alongside */
.diva-kit__driver { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 36%); column-gap: 32px; align-items: start; }
.diva-kit__driver > * { grid-column: 1; }
.diva-kit__driver > .diva-kitstep { grid-column: 1 / -1; }
.diva-kit__driver > .diva-kit__elecbox { grid-column: 2; grid-row: 2 / span 6; margin-top: 0; }
@media (max-width: 900px) { .diva-kit__driver { grid-template-columns: minmax(0, 1fr); } .diva-kit__driver > .diva-kit__elecbox { grid-column: 1; grid-row: auto; margin-top: 12px; } }
.diva-kit__elecbox .diva-kitstep { margin: 0 0 12px; padding-top: 0; border-top: 0; } /* 3A heading in the column (Chris, 5 Oct 2026) */
.diva-kit__elecbox .diva-kitstep__n { font-size: 16px; }
/* Summary (part 5): a heavier rule above it marks the end of the choices (Chris, 5 Oct 2026) */
.diva-builder__result--kit .diva-kitstep { margin-top: 44px; padding-top: 30px; border-top: 6px solid var(--diva-black); }
/* 3A level with "3 Driver & controls"; driver options wide enough to stay on one line (Chris, 5 Oct 2026) */
.diva-kit__driver > .diva-kitstep { grid-column: 1; }
.diva-kit__driver > .diva-kit__elecbox { grid-row: 1 / span 8; }
.diva-kit__elecbox .diva-kitstep { margin: 30px 0 16px; padding-top: 22px; border-top: 2px solid var(--diva-border); }
.diva-kit__driver .diva-builder__grid { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
@media (max-width: 900px) { .diva-kit__driver > .diva-kit__elecbox { grid-row: auto; } }
.diva-mega .diva-mega__links a.diva-mega__soon { color: var(--diva-text-2); } /* Case studies dropdown: sector without a case study yet (Chris, 6 Oct 2026). */
/* Applications and Case studies dropdowns the same depth (Chris, 6 Oct 2026). */
.diva-mega--apps, .diva-mega--projects { min-height: 630px; }
/* Product page: made-to-order / lead time notice (Chris, 6 Oct 2026: TYRO PRO project luminaires). */
.diva-prod-notice { display: flex; flex-direction: column; gap: 4px; margin: 18px 0 4px; padding: 12px 16px; background: #FFFFFF; border: 1px solid var(--diva-border); border-left: 4px solid var(--diva-orange); border-radius: 0 10px 10px 0; font-size: 15px; line-height: 1.45; }
.diva-prod-notice strong { font-family: var(--diva-font-cond); font-size: 17px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--diva-accent-text); }
