:root {
	--ink: #070b14;
	--ink-soft: #111827;
	--paper: #f6f4ee;
	--paper-bright: #fffdf8;
	--accent: #00aeef;
	--accent-bright: #75dcff;
	--muted: #8b93a3;
	--line-dark: rgba(255, 255, 255, 0.14);
	--line-light: rgba(7, 11, 20, 0.14);
	--shell: 1180px;
}

/* Direct downloads */
.download-cta {
	padding: 44px 0 96px;
	background: #070b14;
}

.download-cta-inner,
.download-registration {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 36px;
	padding: 38px;
	border: 1px solid rgba(125, 223, 235, .22);
	border-radius: 24px;
	background: linear-gradient(135deg, rgba(17, 183, 200, .12), rgba(255, 255, 255, .03));
}

.download-cta h2,
.download-section-heading h2,
.download-registration h2,
.download-notice h2,
.download-planned h2 {
	margin: 0 0 12px;
}

.download-cta p,
.download-section-heading p,
.download-registration p,
.download-notice p {
	margin: 0;
}

.download-hero {
	padding: 150px 0 70px;
	background: radial-gradient(circle at 85% 20%, rgba(17, 183, 200, .16), transparent 38%), #070b14;
}

.download-hero-inner {
	max-width: 880px;
}

.download-hero h1 {
	margin: 18px 0;
	font-size: clamp(2.7rem, 7vw, 5.6rem);
	line-height: .98;
}

.download-back {
	display: inline-block;
	margin-bottom: 36px;
	color: var(--muted);
	text-decoration: none;
}

.download-content {
	min-height: 460px;
	padding: 72px 0 110px;
	background: #0a101d;
}

.download-section-heading {
	max-width: 720px;
	margin-bottom: 32px;
}

.download-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 22px;
}

.download-card,
.download-notice,
.download-planned {
	padding: 30px;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 22px;
	background: rgba(255, 255, 255, .04);
}

.download-card {
	position: relative;
}

.download-card h3 {
	margin: 10px 0 22px;
}

.download-card dl {
	display: grid;
	gap: 10px;
	margin: 0 0 24px;
}

.download-card dl div {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}

.download-card dt {
	color: var(--muted);
}

.download-card dd {
	margin: 0;
	text-align: right;
}

.download-card details {
	margin-top: 20px;
	color: var(--muted);
}

.download-card code {
	display: block;
	margin-top: 9px;
	overflow-wrap: anywhere;
	font-size: .72rem;
}

.download-recommended {
	display: inline-flex;
	padding: 6px 10px;
	border-radius: 999px;
	background: #11b7c8;
	color: #041117;
	font-size: .72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .05em;
}

.download-registration {
	grid-template-columns: minmax(240px, .75fr) minmax(320px, 1.25fr);
	align-items: start;
}

.download-registration form,
.download-registration fieldset {
	display: grid;
	gap: 18px;
}

.download-registration fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

.download-registration legend,
.download-email span {
	margin-bottom: 10px;
	font-weight: 700;
}

.download-options {
	display: grid;
	gap: 10px;
}

.download-options label {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 15px;
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: 14px;
	cursor: pointer;
}

.download-options label:has(input:checked) {
	border-color: #11b7c8;
	background: rgba(17, 183, 200, .1);
}

.download-options span,
.download-email {
	display: grid;
	gap: 4px;
}

.download-options small,
.download-privacy {
	color: var(--muted);
}

.download-email input {
	width: 100%;
	padding: 15px 16px;
	border: 1px solid rgba(255, 255, 255, .17);
	border-radius: 12px;
	background: rgba(0, 0, 0, .22);
	color: #fff;
	font: inherit;
}

.download-registration button {
	border: 0;
	cursor: pointer;
	justify-self: start;
}

.download-honeypot {
	position: absolute !important;
	left: -10000px !important;
}

.download-form-error {
	color: #ff9696;
}

.download-notice-success {
	border-color: rgba(88, 214, 141, .35);
}

.download-notice-error {
	border-color: rgba(255, 112, 112, .35);
}

.download-planned {
	margin-top: 28px;
}

.download-planned ul {
	margin-bottom: 0;
	color: var(--muted);
}

@media (max-width: 760px) {
	.download-cta-inner,
	.download-registration {
		grid-template-columns: 1fr;
		padding: 26px;
	}

	.download-hero {
		padding-top: 120px;
	}
}

/* Aster : Diggers — une expédition minière cinématographique, entre roche chaude et ciel cyan. */
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.aster-diggers-detail {
	--diggers-amber: #ffad2f;
	--diggers-cyan: #43d8e9;
	--diggers-emerald: #5ce59a;
	--diggers-rust: #9a3c1e;
	background: #100d0b;
	color: #fff8e9;
}

.aster-diggers-hero {
	position: relative;
	min-height: 930px;
	overflow: hidden;
	background: #07101b url("/images/applications/aster-diggers/hero-desert.jpg") center / cover no-repeat;
}

.aster-diggers-hero::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 5px;
	background: linear-gradient(90deg, transparent, var(--diggers-amber), var(--diggers-cyan), transparent);
	content: "";
}

.aster-diggers-hero-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(4, 7, 12, 0.94) 0%, rgba(4, 7, 12, 0.76) 38%, rgba(4, 7, 12, 0.12) 72%), linear-gradient(0deg, rgba(5, 7, 10, 0.68), transparent 50%);
}

.aster-diggers-hero-layout {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	min-height: 930px;
	padding-top: 130px;
	padding-bottom: 90px;
}

.aster-diggers-hero-copy {
	width: min(650px, 58vw);
}

.aster-diggers-hero-copy .application-platforms,
.aster-diggers-final .application-platforms {
	color: var(--diggers-cyan);
}

.aster-diggers-logo {
	display: block;
	width: min(610px, 100%);
	height: auto;
	margin: 20px 0 12px;
	filter: drop-shadow(0 24px 34px rgba(0, 0, 0, 0.65));
}

.aster-diggers-tagline {
	max-width: 580px;
	margin: 0 0 18px;
	color: #ffffff;
	font-size: clamp(1.45rem, 2.5vw, 2.2rem);
	font-weight: 780;
	line-height: 1.1;
	letter-spacing: -0.035em;
}

.aster-diggers-hero .application-lead {
	max-width: 620px;
	color: #d6d8d8;
}

.aster-diggers-status {
	display: flex;
	align-items: center;
	gap: 11px;
	margin: 28px 0 0;
	color: #fff0cb;
	font-size: 0.86rem;
	font-weight: 760;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.aster-diggers-status span {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--diggers-emerald);
	box-shadow: 0 0 18px rgba(92, 229, 154, 0.85);
}

.aster-diggers-jump {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 32px;
	color: #ffd98b;
	font-weight: 760;
	text-decoration: none;
}

.aster-diggers-jump:hover,
.aster-diggers-jump:focus-visible {
	color: #ffffff;
}

.aster-diggers-story {
	padding: 120px 0;
	background: #f3eee2;
	color: #1d1a16;
}

.aster-diggers-story-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.84fr) minmax(420px, 1.16fr);
	align-items: center;
	gap: 78px;
}

.aster-diggers-story .eyebrow {
	color: #9b4d20;
}

.aster-diggers-story h2,
.aster-diggers-section-heading h2,
.aster-diggers-gallery-heading h2,
.aster-diggers-final h2 {
	margin: 0;
	font-size: clamp(2.8rem, 5vw, 5.2rem);
	line-height: 0.96;
	letter-spacing: -0.06em;
}

.aster-diggers-story-copy > p:last-of-type {
	margin: 28px 0 0;
	color: #5f594e;
	font-size: 1.08rem;
	line-height: 1.75;
}

.aster-diggers-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin: 48px 0 0;
}

.aster-diggers-stats div {
	padding: 22px 18px 18px;
	border: 1px solid #cfc5b4;
	border-right: 0;
}

.aster-diggers-stats div:last-child {
	border-right: 1px solid #cfc5b4;
}

.aster-diggers-stats dt {
	color: #9b4d20;
	font-size: 2.2rem;
	font-weight: 850;
	letter-spacing: -0.05em;
}

.aster-diggers-stats dd {
	margin: 5px 0 0;
	color: #6d6457;
	font-size: 0.72rem;
	font-weight: 730;
	letter-spacing: 0.055em;
	line-height: 1.35;
	text-transform: uppercase;
}

.aster-diggers-commando {
	position: relative;
	margin: 0;
	overflow: hidden;
	border: 1px solid #beaa89;
	box-shadow: 22px 22px 0 #dccdaf;
}

.aster-diggers-commando::after {
	position: absolute;
	inset: 0;
	border: 14px solid rgba(255, 255, 255, 0.08);
	content: "";
}

.aster-diggers-commando img {
	display: block;
	width: 100%;
	height: auto;
}

.aster-diggers-features {
	padding: 120px 0;
	background: radial-gradient(circle at 88% 12%, rgba(67, 216, 233, 0.12), transparent 25%), #0d171b;
}

.aster-diggers-features .eyebrow,
.aster-diggers-gallery .eyebrow {
	color: var(--diggers-amber);
}

.aster-diggers-section-heading {
	max-width: 800px;
	margin-bottom: 62px;
}

.aster-diggers-feature-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.aster-diggers-feature-grid article {
	min-height: 300px;
	padding: 34px;
	border-right: 1px solid rgba(255, 255, 255, 0.16);
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
	background: rgba(255, 255, 255, 0.018);
}

.aster-diggers-feature-grid article > span {
	display: block;
	margin-bottom: 64px;
	color: var(--diggers-cyan);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.15em;
}

.aster-diggers-feature-grid h3 {
	margin: 0 0 15px;
	font-size: 1.55rem;
	letter-spacing: -0.035em;
}

.aster-diggers-feature-grid p {
	max-width: 500px;
	margin: 0;
	color: #aab8bc;
	line-height: 1.7;
}

.aster-diggers-gallery {
	padding: 120px 0;
	background: #17100c;
}

.aster-diggers-gallery-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.55fr);
	align-items: end;
	gap: 72px;
	margin-bottom: 54px;
}

.aster-diggers-gallery-heading > p {
	margin: 0;
	color: #c7b6a4;
	line-height: 1.7;
}

.aster-diggers-gallery-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.aster-diggers-gallery-grid figure {
	margin: 0;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: #261812;
}

.aster-diggers-gallery-grid img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.aster-diggers-gallery-grid figcaption {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 20px 22px;
	color: #fff4df;
	font-weight: 720;
}

.aster-diggers-gallery-grid figcaption span {
	color: var(--diggers-amber);
	font-size: 0.76rem;
	letter-spacing: 0.12em;
}

.aster-diggers-final {
	padding: 104px 0;
	background: linear-gradient(125deg, #103036, #0b1d23 60%, #35190d);
}

.aster-diggers-final-layout {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	align-items: center;
	gap: 54px;
}

.aster-diggers-final img {
	width: 180px;
	height: 180px;
	object-fit: contain;
	filter: drop-shadow(0 25px 35px rgba(0, 0, 0, 0.42));
}

.aster-diggers-final h2 {
	max-width: 830px;
	font-size: clamp(2.5rem, 4vw, 4.6rem);
}

.aster-diggers-final div > p:last-child {
	max-width: 760px;
	margin: 20px 0 0;
	color: #b9c8c9;
	line-height: 1.7;
}

@media (max-width: 900px) {
	.aster-diggers-hero-shade {
		background: linear-gradient(90deg, rgba(4, 7, 12, 0.92), rgba(4, 7, 12, 0.52)), linear-gradient(0deg, rgba(5, 7, 10, 0.78), transparent 55%);
	}

	.aster-diggers-hero-copy {
		width: min(670px, 88vw);
	}

	.aster-diggers-story-layout,
	.aster-diggers-gallery-heading {
		grid-template-columns: 1fr;
	}

	.aster-diggers-story-layout {
		gap: 68px;
	}

	.aster-diggers-gallery-heading {
		gap: 28px;
	}
}

@media (max-width: 680px) {
	.aster-diggers-hero,
	.aster-diggers-hero-layout {
		min-height: 820px;
	}

	.aster-diggers-hero {
		background-position: 62% center;
	}

	.aster-diggers-hero-layout {
		align-items: flex-end;
		padding-top: 128px;
		padding-bottom: 72px;
	}

	.aster-diggers-hero-copy {
		width: 100%;
	}

	.aster-diggers-logo {
		width: 100%;
	}

	.aster-diggers-story,
	.aster-diggers-features,
	.aster-diggers-gallery {
		padding: 84px 0;
	}

	.aster-diggers-stats,
	.aster-diggers-feature-grid,
	.aster-diggers-gallery-grid {
		grid-template-columns: 1fr;
	}

	.aster-diggers-stats div,
	.aster-diggers-stats div:last-child {
		border-right: 1px solid #cfc5b4;
		border-bottom: 0;
	}

	.aster-diggers-stats div:last-child {
		border-bottom: 1px solid #cfc5b4;
	}

	.aster-diggers-feature-grid article {
		min-height: 0;
		padding: 28px;
	}

	.aster-diggers-feature-grid article > span {
		margin-bottom: 38px;
	}

	.aster-diggers-commando {
		box-shadow: 12px 12px 0 #dccdaf;
	}

	.aster-diggers-final {
		padding: 80px 0;
	}

	.aster-diggers-final-layout {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.aster-diggers-final img {
		width: 120px;
		height: 120px;
	}
}

/* VideoToolKit */
.video-toolkit-detail {
	--video-cyan: #20d5f5;
	--video-violet: #8e72ff;
	--video-night: #07111f;
	background: var(--video-night);
}

.video-toolkit-hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, #050b15 0%, #0a1930 55%, #11112a 100%);
}

.video-toolkit-glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(80px);
	opacity: 0.2;
	pointer-events: none;
}

.video-toolkit-glow-cyan {
	top: 12%;
	right: 18%;
	width: 360px;
	height: 360px;
	background: var(--video-cyan);
}

.video-toolkit-glow-violet {
	bottom: -15%;
	left: 8%;
	width: 420px;
	height: 420px;
	background: var(--video-violet);
}

.video-toolkit-hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.78fr);
	align-items: center;
	gap: 90px;
	min-height: 820px;
	padding-top: 150px;
	padding-bottom: 105px;
}

.video-toolkit-copy {
	position: relative;
	z-index: 1;
}

.video-toolkit-copy .application-platforms,
.video-toolkit-final .application-platforms {
	color: var(--video-cyan);
}

.video-toolkit-copy h1 {
	margin: 12px 0 25px;
	font-size: clamp(4.4rem, 9vw, 8.5rem);
	font-weight: 850;
	letter-spacing: -0.075em;
	line-height: 0.82;
}

.video-toolkit-copy h1 span {
	display: block;
	color: transparent;
	font-weight: 530;
	-webkit-text-stroke: 1px rgba(255, 255, 255, 0.72);
}

.video-toolkit-tagline {
	max-width: 640px;
	margin: 0 0 17px;
	color: #e7faff;
	font-size: clamp(1.2rem, 2.2vw, 1.72rem);
	font-weight: 720;
	letter-spacing: -0.025em;
}

.video-toolkit-copy .application-lead {
	max-width: 650px;
	color: #aebdce;
}

.video-toolkit-status {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 28px;
	color: #c4d2df;
	font-size: 0.78rem;
	font-weight: 740;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.video-toolkit-status span {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--video-cyan);
	box-shadow: 0 0 18px rgba(32, 213, 245, 0.85);
}

.video-toolkit-features-jump {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-top: 38px;
	color: #fff;
	font-size: 0.88rem;
	font-weight: 760;
	text-decoration: none;
}

.video-toolkit-features-jump span {
	color: var(--video-cyan);
}

.video-toolkit-icon-stage {
	position: relative;
	width: min(38vw, 480px);
	aspect-ratio: 1;
	justify-self: center;
}

.video-toolkit-icon-stage img {
	position: absolute;
	inset: 12%;
	z-index: 1;
	display: block;
	width: 76%;
	height: 76%;
	border-radius: 23%;
	box-shadow: 0 46px 90px rgba(0, 0, 0, 0.52), 0 0 52px rgba(32, 213, 245, 0.15);
}

.video-toolkit-orbit {
	position: absolute;
	inset: 1%;
	border: 1px solid rgba(32, 213, 245, 0.25);
	border-radius: 50%;
	animation: orbit 28s linear infinite;
}

.video-toolkit-orbit::before,
.video-toolkit-orbit::after {
	position: absolute;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	content: "";
}

.video-toolkit-orbit::before {
	top: 10%;
	left: 21%;
	background: var(--video-cyan);
	box-shadow: 0 0 22px var(--video-cyan);
}

.video-toolkit-orbit::after {
	right: 7%;
	bottom: 22%;
	background: var(--video-violet);
	box-shadow: 0 0 22px var(--video-violet);
}

.video-toolkit-workflow {
	padding: 120px 0 130px;
	background: #f2f5f7;
	color: var(--ink);
}

.video-toolkit-section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.72fr);
	align-items: end;
	gap: 72px;
	margin-bottom: 62px;
}

.video-toolkit-section-heading .eyebrow,
.video-toolkit-formats .eyebrow {
	color: #087c96;
}

.video-toolkit-section-heading h2,
.video-toolkit-feature-intro h2,
.video-toolkit-formats h2,
.video-toolkit-local h2,
.video-toolkit-final h2 {
	margin: 0;
	font-size: clamp(3rem, 5.4vw, 5.45rem);
	font-weight: 820;
	letter-spacing: -0.062em;
	line-height: 0.96;
}

.video-toolkit-section-heading > p {
	margin: 0 0 5px;
	color: #52616d;
	font-size: 1.02rem;
	line-height: 1.72;
}

.video-toolkit-window {
	overflow: hidden;
	margin: 0;
	border: 1px solid #c8d1d8;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 34px 85px rgba(20, 37, 53, 0.2);
}

.video-toolkit-window img {
	display: block;
	width: 100%;
	height: auto;
}

.video-toolkit-titlebar {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	min-height: 58px;
	padding: 0 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.09);
	background: #172334;
	color: #dce8f4;
}

.video-toolkit-traffic {
	display: flex;
	gap: 8px;
}

.video-toolkit-traffic span {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #ff5e57;
}

.video-toolkit-traffic span:nth-child(2) {
	background: #ffbd2e;
}

.video-toolkit-traffic span:nth-child(3) {
	background: #28c840;
}

.video-toolkit-titlebar strong {
	font-size: 0.78rem;
	letter-spacing: 0.03em;
}

.video-toolkit-version {
	justify-self: end;
	color: #7f92a5;
	font-size: 0.68rem;
}

.video-toolkit-window-body {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(290px, 0.6fr);
	min-height: 430px;
}

.video-toolkit-dropzone {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin: 30px;
	border: 1px dashed rgba(32, 213, 245, 0.42);
	border-radius: 16px;
	background: radial-gradient(circle at 50% 45%, rgba(32, 213, 245, 0.1), transparent 42%);
	color: #effaff;
}

.video-toolkit-drop-icon {
	display: grid;
	place-items: center;
	width: 70px;
	height: 70px;
	margin-bottom: 24px;
	border: 1px solid rgba(32, 213, 245, 0.5);
	border-radius: 50%;
	background: rgba(32, 213, 245, 0.08);
	color: var(--video-cyan);
	font-size: 2rem;
}

.video-toolkit-dropzone strong {
	font-size: 1.42rem;
}

.video-toolkit-dropzone span {
	margin-top: 10px;
	color: #8295a8;
	font-size: 0.85rem;
}

.video-toolkit-control-panel {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 30px;
	border-left: 1px solid rgba(255, 255, 255, 0.08);
	background: #131f2f;
}

.video-toolkit-control-panel div {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 17px;
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.025);
}

.video-toolkit-control-panel small {
	color: #7e91a5;
	font-size: 0.66rem;
	font-weight: 740;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.video-toolkit-control-panel strong {
	color: #e8f2fb;
	font-size: 0.88rem;
}

.video-toolkit-control-panel button {
	margin-top: auto;
	padding: 16px;
	border: 0;
	border-radius: 10px;
	background: linear-gradient(90deg, #13c8ed, #7b68ed);
	color: #fff;
	font: inherit;
	font-weight: 790;
}

.video-toolkit-features {
	scroll-margin-top: 84px;
	padding: 125px 0;
	background: #07111f;
}

.video-toolkit-feature-intro {
	max-width: 880px;
	margin-bottom: 64px;
}

.video-toolkit-feature-intro .eyebrow,
.video-toolkit-local .eyebrow {
	color: var(--video-cyan);
}

.video-toolkit-feature-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid rgba(255, 255, 255, 0.13);
	border-left: 1px solid rgba(255, 255, 255, 0.13);
}

.video-toolkit-feature-grid article {
	min-height: 305px;
	padding: 38px;
	border-right: 1px solid rgba(255, 255, 255, 0.13);
	border-bottom: 1px solid rgba(255, 255, 255, 0.13);
	background: rgba(255, 255, 255, 0.018);
}

.video-toolkit-feature-grid article > span {
	display: block;
	margin-bottom: 70px;
	color: var(--video-violet);
	font-size: 0.74rem;
	font-weight: 820;
	letter-spacing: 0.15em;
}

.video-toolkit-feature-grid h3 {
	margin: 0 0 16px;
	font-size: 1.65rem;
	letter-spacing: -0.035em;
}

.video-toolkit-feature-grid p {
	max-width: 510px;
	margin: 0;
	color: #a7b7c7;
	line-height: 1.72;
}

.video-toolkit-formats {
	padding: 120px 0;
	background: #f2f5f7;
	color: var(--ink);
}

.video-toolkit-formats-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(430px, 1fr);
	align-items: center;
	gap: 90px;
}

.video-toolkit-formats p:last-child {
	margin: 28px 0 0;
	color: #586873;
	line-height: 1.75;
}

.video-toolkit-format-list {
	display: flex;
	flex-wrap: wrap;
	gap: 11px;
}

.video-toolkit-format-list span {
	padding: 15px 18px;
	border: 1px solid #c7d3da;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.5);
	color: #17394b;
	font-size: 0.78rem;
	font-weight: 780;
}

.video-toolkit-local {
	padding: 120px 0;
	background: linear-gradient(145deg, #0a1728, #11152c);
}

.video-toolkit-local-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(330px, 0.7fr);
	gap: 90px;
}

.video-toolkit-local p {
	margin: 0;
	color: #acbac8;
	line-height: 1.74;
}

.video-toolkit-local ul {
	display: grid;
	gap: 13px;
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
}

.video-toolkit-local li {
	position: relative;
	padding: 16px 18px 16px 45px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.025);
	color: #e7f4fb;
	font-size: 0.88rem;
}

.video-toolkit-local li::before {
	position: absolute;
	left: 18px;
	color: var(--video-cyan);
	content: "✓";
}

.video-toolkit-final {
	padding: 100px 0;
	background: #050a12;
}

.video-toolkit-final-layout {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	align-items: center;
	gap: 48px;
}

.video-toolkit-final img {
	display: block;
	width: 160px;
	height: 160px;
	border-radius: 24%;
	box-shadow: 0 26px 55px rgba(0, 0, 0, 0.45);
}

.video-toolkit-final h2 {
	font-size: clamp(2.75rem, 4.7vw, 4.7rem);
}

.video-toolkit-final p:last-child {
	max-width: 720px;
	margin: 22px 0 0;
	color: #9fadb9;
	line-height: 1.72;
}

@media (max-width: 900px) {
	.video-toolkit-hero-layout,
	.video-toolkit-section-heading,
	.video-toolkit-formats-layout,
	.video-toolkit-local-layout {
		grid-template-columns: 1fr;
	}

	.video-toolkit-icon-stage {
		width: min(70vw, 430px);
	}

	.video-toolkit-section-heading,
	.video-toolkit-formats-layout,
	.video-toolkit-local-layout {
		gap: 48px;
	}
}

@media (max-width: 680px) {
	.video-toolkit-hero-layout {
		min-height: auto;
		gap: 56px;
		padding-top: 138px;
		padding-bottom: 85px;
	}

	.video-toolkit-copy h1 {
		font-size: clamp(3.65rem, 18vw, 5.8rem);
	}

	.video-toolkit-workflow,
	.video-toolkit-features,
	.video-toolkit-formats,
	.video-toolkit-local {
		padding: 82px 0;
	}

	.video-toolkit-window-body,
	.video-toolkit-feature-grid {
		grid-template-columns: 1fr;
	}

	.video-toolkit-window-body {
		min-height: 0;
	}

	.video-toolkit-dropzone {
		min-height: 290px;
		margin: 18px;
		padding: 22px;
		text-align: center;
	}

	.video-toolkit-control-panel {
		border-top: 1px solid rgba(255, 255, 255, 0.08);
		border-left: 0;
	}

	.video-toolkit-feature-grid article {
		min-height: 0;
		padding: 28px;
	}

	.video-toolkit-feature-grid article > span {
		margin-bottom: 40px;
	}

	.video-toolkit-final {
		padding: 80px 0;
	}

	.video-toolkit-final-layout {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.video-toolkit-final img {
		width: 118px;
		height: 118px;
	}
}

/* Format REA : une page éditoriale qui rend les garanties et les mesures lisibles. */
.rea-format {
	--format-cyan: #2bd6c8;
	--format-blue: #1e78ff;
	--format-ink: #07131d;
	background: var(--format-ink);
	color: #f5fbff;
}

.rea-format-hero {
	position: relative;
	overflow: hidden;
	background: radial-gradient(circle at 74% 30%, rgba(43, 214, 200, 0.2), transparent 29%), linear-gradient(138deg, #061019, #0b2430 64%, #08141d);
}

.rea-format-grid {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
	background-size: 52px 52px;
	mask-image: linear-gradient(to bottom, #000, transparent 92%);
}

.rea-format-hero-layout {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(440px, 0.78fr);
	align-items: center;
	gap: 90px;
	min-height: 800px;
	padding-top: 136px;
	padding-bottom: 92px;
}

.rea-format-hero h1 {
	margin: 0 0 28px;
	font-size: clamp(4.1rem, 7.5vw, 7.6rem);
	line-height: 0.88;
	letter-spacing: -0.075em;
}

.rea-format-hero h1 em {
	display: block;
	color: var(--format-cyan);
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
}

.rea-format-tagline {
	max-width: 720px;
	margin: 0 0 20px;
	font-size: clamp(1.35rem, 2.2vw, 2rem);
	font-weight: 780;
	line-height: 1.2;
	letter-spacing: -0.035em;
}

.rea-format-hero .application-lead {
	max-width: 680px;
	color: #aebec7;
}

.rea-format-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 26px;
	margin-top: 34px;
}

.rea-format .primary-link {
	border-color: var(--format-cyan);
	background: var(--format-cyan);
	color: #061019;
}

.rea-format .primary-link:hover,
.rea-format .primary-link:focus-visible {
	background: transparent;
	color: var(--format-cyan);
}

.rea-format-text-link {
	color: #e7fbfa;
	font-weight: 760;
	text-decoration: none;
}

.rea-format-text-link:hover,
.rea-format-text-link:focus-visible {
	color: var(--format-cyan);
}

.rea-format-anatomy {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 520px;
}

.rea-format-file {
	display: grid;
	place-items: center;
	gap: 18px;
	width: min(100%, 390px);
	padding: 12px;
}

.rea-format-logo {
	display: block;
	width: min(100%, 360px);
	height: auto;
	filter: drop-shadow(0 34px 48px rgba(0, 0, 0, 0.42));
}

.rea-format-block-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 7px;
	width: 100%;
}

.rea-format-block {
	display: grid;
	place-items: center;
	align-items: center;
	min-height: 52px;
	padding: 10px 6px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 9px;
	background: rgba(255, 255, 255, 0.05);
	color: #dce9ed;
	font-size: 0.72rem;
	font-weight: 740;
	text-align: center;
}

.rea-format-block-2 {
	border-color: rgba(43, 214, 200, 0.45);
	background: repeating-linear-gradient(135deg, rgba(43, 214, 200, 0.17), rgba(43, 214, 200, 0.17) 14px, rgba(43, 214, 200, 0.08) 14px, rgba(43, 214, 200, 0.08) 28px);
}

.rea-format-block-3 {
	border-color: rgba(30, 120, 255, 0.5);
	background: rgba(30, 120, 255, 0.14);
}

.rea-format-values,
.rea-format-comparison {
	padding: 122px 0;
	background: #f2f5f2;
	color: var(--ink);
}

.rea-format-heading {
	max-width: 950px;
	margin-bottom: 58px;
}

.rea-format-heading h2,
.rea-format-open h2,
.rea-format-final h2 {
	margin: 0;
	font-size: clamp(2.7rem, 5.6vw, 5.7rem);
	line-height: 0.98;
	letter-spacing: -0.06em;
}

.rea-format-heading > p:last-child {
	max-width: 820px;
	margin: 24px 0 0;
	color: #586970;
	font-size: 1.08rem;
	line-height: 1.72;
}

.rea-format-value-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid #c8d2d0;
	border-left: 1px solid #c8d2d0;
}

.rea-format-value-grid article {
	min-height: 320px;
	padding: 32px;
	border-right: 1px solid #c8d2d0;
	border-bottom: 1px solid #c8d2d0;
}

.rea-format-value-grid article > span {
	display: block;
	margin-bottom: 62px;
	color: #087f78;
	font-size: 0.78rem;
	font-weight: 820;
	letter-spacing: 0.14em;
}

.rea-format-value-grid h3,
.rea-format-use-grid h3,
.rea-format-benchmark-copy h3 {
	margin: 0 0 13px;
	font-size: 1.38rem;
	letter-spacing: -0.035em;
}

.rea-format-value-grid p,
.rea-format-use-grid p {
	margin: 0;
	color: #596a70;
	line-height: 1.65;
}

.rea-format-uses {
	padding: 118px 0;
	background: #d9f0ee;
	color: var(--ink);
}

.rea-format-use-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.rea-format-use-grid article {
	padding: 30px;
	border-top: 4px solid #0a8e84;
	background: rgba(255, 255, 255, 0.62);
}

.rea-format-results {
	padding: 122px 0 108px;
	background: linear-gradient(145deg, #07131d, #0a2731);
}

.rea-format-results .rea-format-heading > p:last-child {
	color: #a8bac2;
}

.rea-format-benchmarks {
	display: grid;
	gap: 28px;
}

.rea-format-benchmarks > article {
	display: grid;
	grid-template-columns: minmax(240px, 0.55fr) minmax(680px, 1.45fr);
	gap: 34px;
	padding: 28px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.04);
}

.rea-format-benchmark-copy p {
	margin: 0;
	color: #9db1ba;
	line-height: 1.65;
}

.rea-format-table-wrap {
	overflow-x: auto;
	background: #ffffff;
	color: #14232c;
}

.rea-format-table-wrap:focus-visible {
	outline: 3px solid var(--format-cyan);
	outline-offset: 4px;
}

.rea-format-table-wrap table {
	width: 100%;
	min-width: 700px;
	border-collapse: collapse;
	font-size: 0.88rem;
}

.rea-format-table-wrap th,
.rea-format-table-wrap td {
	padding: 16px 14px;
	border-right: 1px solid #d5dedd;
	border-bottom: 1px solid #d5dedd;
	text-align: right;
	white-space: nowrap;
}

.rea-format-table-wrap th:first-child,
.rea-format-table-wrap td:first-child {
	text-align: left;
}

.rea-format-table-wrap thead th {
	background: #123141;
	color: #ffffff;
	font-size: 0.75rem;
	letter-spacing: 0.045em;
	text-transform: uppercase;
}

.rea-format-table-wrap .is-rea {
	background: rgba(43, 214, 200, 0.14);
	color: #006e68;
	font-weight: 840;
}

.rea-format-table-wrap .is-better,
.rea-archiver-table-wrap .is-better {
	background: #e4f6ea;
	color: #08743f;
	font-weight: 850;
}

.rea-format-table-wrap .is-worse,
.rea-archiver-table-wrap .is-worse {
	background: #fce8e6;
	color: #b42318;
	font-weight: 850;
}

.rea-format-scope {
	max-width: 1050px;
	margin: 48px 0 0;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	color: #91a6af;
	font-size: 0.91rem;
	line-height: 1.66;
}

.rea-format-comparison {
	background: #e9edeb;
}

.rea-format-comparison-table {
	border: 1px solid #bdc9c7;
	box-shadow: 0 30px 70px rgba(18, 31, 36, 0.09);
}

.rea-format-comparison-table table {
	min-width: 1120px;
}

.rea-format-comparison-table th,
.rea-format-comparison-table td {
	max-width: 250px;
	text-align: left;
	white-space: normal;
	vertical-align: top;
	line-height: 1.5;
}

.rea-format-open {
	padding: 118px 0;
	background: #07131d;
}

.rea-format-open-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.78fr);
	gap: 90px;
}

.rea-format-open-layout > div:last-child > p {
	margin: 0;
	color: #bfccd2;
	font-size: 1.07rem;
	line-height: 1.78;
}

.rea-format-limit {
	margin-top: 28px !important;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	color: #899da6 !important;
	font-size: 0.92rem !important;
}

.rea-format-final {
	padding: 104px 0;
	background: #d9f0ee;
	color: var(--ink);
}

.rea-format-final-layout {
	display: grid;
	grid-template-columns: 210px minmax(0, 1fr);
	align-items: center;
	gap: 66px;
}

.rea-format-seal {
	display: grid;
	place-items: center;
	width: 200px;
	height: 200px;
	border: 1px solid rgba(7, 19, 29, 0.2);
	border-radius: 50%;
	color: #087f78;
	font-family: Georgia, serif;
	font-size: 4.6rem;
	font-style: italic;
	box-shadow: inset 0 0 0 14px rgba(255, 255, 255, 0.42);
}

.rea-format-seal span {
	display: block;
	margin-top: -72px;
	font-family: "Helvetica Neue", "Segoe UI", Arial, sans-serif;
	font-size: 0.75rem;
	font-style: normal;
	font-weight: 840;
	letter-spacing: 0.14em;
}

.rea-format-final p {
	max-width: 790px;
	color: #51676c;
	font-size: 1.07rem;
	line-height: 1.72;
}

.rea-format-final .rea-format-text-link {
	color: #075f5a;
}

@media (max-width: 1080px) {
	.rea-format-hero-layout,
	.rea-format-open-layout {
		grid-template-columns: 1fr;
	}

	.rea-format-anatomy {
		min-height: 560px;
	}

	.rea-format-value-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rea-format-use-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rea-format-benchmarks > article {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 760px) {
	.rea-format-hero-layout {
		min-height: auto;
		padding-top: 128px;
		padding-bottom: 74px;
	}

	.rea-format-hero h1 {
		font-size: clamp(3.8rem, 19vw, 5.7rem);
	}

	.rea-format-anatomy {
		min-height: 500px;
	}

	.rea-format-file {
		width: min(100%, 340px);
	}

	.rea-format-block-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rea-format-values,
	.rea-format-uses,
	.rea-format-results,
	.rea-format-comparison,
	.rea-format-open,
	.rea-format-final {
		padding: 82px 0;
	}

	.rea-format-value-grid,
	.rea-format-use-grid,
	.rea-format-final-layout {
		grid-template-columns: 1fr;
	}

	.rea-format-value-grid article {
		min-height: 0;
	}

	.rea-format-value-grid article > span {
		margin-bottom: 32px;
	}

	.rea-format-benchmarks > article {
		gap: 22px;
		padding: 18px;
	}

	.rea-format-open-layout,
	.rea-format-final-layout {
		gap: 42px;
	}

	.rea-format-seal {
		width: 160px;
		height: 160px;
		font-size: 3.7rem;
	}
}

/* REA Archiver : une interface précise, technique et lisible sans jargon développeur. */
.rea-archiver {
	--archiver-cyan: #14c7d9;
	--archiver-cyan-soft: rgba(20, 199, 217, 0.16);
	--archiver-blue: #1374e7;
	background: #071019;
	color: #f7fbff;
}

.rea-archiver-hero {
	position: relative;
	overflow: hidden;
	background: radial-gradient(circle at 78% 32%, rgba(20, 199, 217, 0.15), transparent 31%), linear-gradient(142deg, #061018 0%, #091b25 61%, #07131c 100%);
}

.rea-archiver-grid {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, 0.028) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.028) 1px, transparent 1px);
	background-size: 56px 56px;
	mask-image: linear-gradient(to bottom, #000 0%, transparent 90%);
}

.rea-archiver-hero-layout {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(480px, 1.08fr);
	align-items: center;
	gap: 68px;
	min-height: 820px;
	padding-top: 134px;
	padding-bottom: 90px;
}

.rea-archiver-hero h1 {
	max-width: 760px;
	margin: 0 0 28px;
	font-size: clamp(4.1rem, 7vw, 7rem);
	line-height: 0.88;
	letter-spacing: -0.075em;
}

.rea-archiver-hero h1 em {
	display: block;
	color: var(--archiver-cyan);
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
}

.rea-archiver-tagline {
	max-width: 660px;
	margin: 0 0 20px;
	color: #ffffff;
	font-size: clamp(1.35rem, 2vw, 1.9rem);
	font-weight: 760;
	line-height: 1.2;
	letter-spacing: -0.03em;
}

.rea-archiver-hero .application-lead {
	max-width: 660px;
	color: #aebdc6;
}

.rea-archiver-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 26px;
	margin-top: 34px;
}

.rea-archiver .primary-link {
	border-color: var(--archiver-cyan);
	background: var(--archiver-cyan);
	color: #061018;
}

.rea-archiver .primary-link:hover,
.rea-archiver .primary-link:focus-visible {
	background: transparent;
	color: var(--archiver-cyan);
}

.rea-archiver-text-link {
	color: #e8f8fa;
	font-weight: 760;
	text-decoration: none;
}

.rea-archiver-text-link:hover,
.rea-archiver-text-link:focus-visible {
	color: var(--archiver-cyan);
}

.rea-archiver-stage {
	position: relative;
	min-height: 520px;
}

.rea-archiver-icon {
	position: absolute;
	top: -28px;
	right: -48px;
	width: 190px;
	height: 190px;
	object-fit: contain;
	filter: drop-shadow(0 24px 32px rgba(0, 0, 0, 0.35));
	transform: rotate(5deg);
}

.rea-archiver-window {
	position: absolute;
	top: 94px;
	right: 0;
	left: 0;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 24px;
	background: rgba(244, 250, 252, 0.96);
	box-shadow: 0 45px 100px rgba(0, 0, 0, 0.48), 0 0 80px rgba(20, 199, 217, 0.08);
	color: #13202a;
	transform: perspective(1200px) rotateY(-4deg) rotateX(2deg);
}

.rea-archiver-window-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 54px;
	padding: 0 18px;
	border-bottom: 1px solid #d8e0e4;
	background: rgba(255, 255, 255, 0.86);
}

.rea-archiver-window-bar > span {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #ff665c;
}

.rea-archiver-window-bar > span:nth-child(2) {
	background: #ffbd44;
}

.rea-archiver-window-bar > span:nth-child(3) {
	background: #35c84a;
}

.rea-archiver-window-bar strong {
	margin-left: auto;
	margin-right: auto;
	font-size: 0.84rem;
}

.rea-archiver-window-body {
	display: grid;
	grid-template-columns: 126px minmax(0, 1fr);
	min-height: 310px;
}

.rea-archiver-sidebar {
	padding: 28px 18px;
	border-right: 1px solid #d8e0e4;
	background: #e9f0f3;
}

.rea-archiver-sidebar i {
	display: block;
	height: 9px;
	margin-bottom: 19px;
	border-radius: 5px;
	background: #bdcbd1;
}

.rea-archiver-sidebar i:first-child {
	width: 74%;
	background: var(--archiver-blue);
}

.rea-archiver-files {
	padding: 24px;
}

.rea-archiver-files > div {
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	min-height: 58px;
	padding: 0 14px;
	border-bottom: 1px solid #dbe4e8;
}

.rea-archiver-files > div.is-selected {
	background: rgba(20, 199, 217, 0.08);
}

.rea-archiver-files b {
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	border: 1px solid #aebec6;
	border-radius: 5px;
	color: transparent;
	font-size: 0.74rem;
}

.rea-archiver-files .is-selected b {
	border-color: var(--archiver-blue);
	background: var(--archiver-blue);
	color: #ffffff;
}

.rea-archiver-files span {
	font-weight: 720;
}

.rea-archiver-files small {
	color: #64747d;
}

.rea-archiver-window-footer {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 22px;
	min-height: 64px;
	padding: 10px 18px;
	border-top: 1px solid #d8e0e4;
	background: #ffffff;
	font-size: 0.78rem;
}

.rea-archiver-window-footer > span {
	color: #087f6e;
	font-weight: 760;
}

.rea-archiver-window-footer > small {
	color: #63747d;
}

.rea-archiver-window-footer > strong {
	padding: 10px 14px;
	border-radius: 7px;
	background: var(--archiver-blue);
	color: #ffffff;
}

.rea-archiver-benefits,
.rea-archiver-comparison {
	padding: 122px 0;
	background: #f2f4f1;
	color: var(--ink);
}

.rea-archiver-section-heading {
	max-width: 900px;
	margin-bottom: 60px;
}

.rea-archiver-section-heading h2,
.rea-archiver-trust h2,
.rea-archiver-open h2,
.rea-archiver-final h2 {
	margin: 0;
	font-size: clamp(2.7rem, 5.5vw, 5.6rem);
	line-height: 0.98;
	letter-spacing: -0.06em;
}

.rea-archiver-section-heading > p:last-child {
	max-width: 760px;
	margin: 24px 0 0;
	color: #5b6a70;
	font-size: 1.08rem;
	line-height: 1.72;
}

.rea-archiver-benefit-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid #c9d2d1;
	border-left: 1px solid #c9d2d1;
}

.rea-archiver-benefit-grid article {
	min-height: 300px;
	padding: 30px;
	border-right: 1px solid #c9d2d1;
	border-bottom: 1px solid #c9d2d1;
}

.rea-archiver-benefit-grid article > span {
	display: block;
	margin-bottom: 64px;
	color: #078a99;
	font-size: 0.78rem;
	font-weight: 820;
	letter-spacing: 0.14em;
}

.rea-archiver-benefit-grid h3 {
	margin: 0 0 13px;
	font-size: 1.35rem;
	letter-spacing: -0.03em;
}

.rea-archiver-benefit-grid p {
	margin: 0;
	color: #5c6a70;
	line-height: 1.64;
}

.rea-archiver-benchmark {
	padding: 122px 0 108px;
	background: linear-gradient(145deg, #07131b, #09212b);
}

.rea-archiver-benchmark-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(520px, 1.18fr);
	gap: 82px;
}

.rea-archiver-benchmark .rea-archiver-section-heading > p:last-child {
	color: #a7b8c0;
}

.rea-archiver-metrics {
	display: grid;
	gap: 14px;
}

.rea-archiver-metrics article {
	position: relative;
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	align-items: center;
	min-height: 150px;
	padding: 26px 30px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	background: rgba(255, 255, 255, 0.045);
}

.rea-archiver-metrics article::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 3px;
	background: var(--archiver-cyan);
	content: "";
}

.rea-archiver-metrics strong {
	grid-row: span 2;
	color: var(--archiver-cyan);
	font-size: clamp(2.1rem, 4vw, 3.5rem);
	letter-spacing: -0.06em;
}

.rea-archiver-metrics h3,
.rea-archiver-metrics p {
	margin: 0;
}

.rea-archiver-metrics h3 {
	font-size: 1.12rem;
}

.rea-archiver-metrics p {
	color: #9eb0b9;
	line-height: 1.5;
}

.rea-archiver-scope {
	max-width: 1000px;
	margin: 52px 0 0;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	color: #91a4ad;
	font-size: 0.9rem;
	line-height: 1.65;
}

.rea-archiver-comparison {
	background: #e8ecea;
}

.rea-archiver-table-wrap {
	overflow-x: auto;
	border: 1px solid #bcc7c7;
	background: #ffffff;
	box-shadow: 0 30px 70px rgba(18, 31, 36, 0.09);
}

.rea-archiver-table-wrap:focus-visible {
	outline: 3px solid var(--archiver-cyan);
	outline-offset: 4px;
}

.rea-archiver-table-wrap table {
	width: 100%;
	min-width: 880px;
	border-collapse: collapse;
	font-size: 0.94rem;
}

.rea-archiver-table-wrap th,
.rea-archiver-table-wrap td {
	padding: 20px 18px;
	border-right: 1px solid #d3dbda;
	border-bottom: 1px solid #d3dbda;
	text-align: center;
}

.rea-archiver-table-wrap thead th {
	background: #102d3d;
	color: #ffffff;
	font-size: 0.82rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.rea-archiver-table-wrap thead th:first-child,
.rea-archiver-table-wrap tbody th {
	text-align: left;
}

.rea-archiver-table-wrap tbody th {
	width: 28%;
	background: #f6f8f7;
}

.rea-archiver-table-wrap td.is-rea {
	background: rgba(20, 199, 217, 0.11);
	color: #006977;
	font-weight: 820;
}

.rea-archiver-trust {
	padding: 118px 0;
	background: #071019;
}

.rea-archiver-trust-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.75fr);
	gap: 90px;
}

.rea-archiver-trust-grid > div:last-child > p {
	margin: 0;
	color: #c0ccd2;
	font-size: 1.08rem;
	line-height: 1.78;
}

.rea-archiver-note {
	margin-top: 30px !important;
	padding-top: 25px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	color: #879aa4 !important;
	font-size: 0.92rem !important;
}

.rea-archiver-open {
	padding: 110px 0;
	background: #d8eff0;
	color: var(--ink);
}

.rea-archiver-open-layout {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	align-items: center;
	gap: 76px;
}

.rea-archiver-open-mark {
	display: grid;
	place-items: center;
	width: 240px;
	height: 240px;
	border: 1px solid rgba(7, 11, 20, 0.18);
	border-radius: 50%;
	color: #087f8e;
	font-family: Georgia, serif;
	font-size: 4rem;
	font-style: italic;
	box-shadow: inset 0 0 0 16px rgba(255, 255, 255, 0.36);
}

.rea-archiver-open-mark span {
	display: block;
	margin-top: -78px;
	font-family: "Helvetica Neue", "Segoe UI", Arial, sans-serif;
	font-size: 0.78rem;
	font-style: normal;
	font-weight: 820;
	letter-spacing: 0.16em;
}

.rea-archiver-open p:last-child {
	max-width: 800px;
	color: #4b6267;
	font-size: 1.06rem;
	line-height: 1.75;
}

.rea-archiver-final {
	padding: 100px 0;
	background: #071019;
}

.rea-archiver-final-layout {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	align-items: center;
	gap: 58px;
}

.rea-archiver-final img {
	display: block;
	width: 180px;
	height: 180px;
	object-fit: contain;
	filter: drop-shadow(0 24px 32px rgba(0, 0, 0, 0.38));
}

.rea-archiver-final p:not(.application-platforms) {
	max-width: 800px;
	color: #a5b6bf;
	line-height: 1.72;
}

@media (max-width: 1080px) {
	.rea-archiver-hero-layout {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.rea-archiver-stage {
		width: min(100%, 680px);
		margin: 0 auto;
	}

	.rea-archiver-benefit-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rea-archiver-benchmark-layout {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}

@media (max-width: 760px) {
	.rea-archiver-hero-layout {
		min-height: auto;
		padding-top: 128px;
		padding-bottom: 72px;
	}

	.rea-archiver-hero h1 {
		font-size: clamp(3.7rem, 18vw, 5.5rem);
	}

	.rea-archiver-stage {
		min-height: 430px;
	}

	.rea-archiver-icon {
		right: -10px;
		width: 120px;
		height: 120px;
	}

	.rea-archiver-window {
		top: 68px;
	}

	.rea-archiver-window-body {
		grid-template-columns: 72px minmax(0, 1fr);
		min-height: 275px;
	}

	.rea-archiver-sidebar {
		padding: 24px 12px;
	}

	.rea-archiver-files {
		padding: 14px;
	}

	.rea-archiver-files > div {
		grid-template-columns: 22px minmax(0, 1fr);
		gap: 8px;
		padding: 0 7px;
	}

	.rea-archiver-files small,
	.rea-archiver-window-footer small {
		display: none;
	}

	.rea-archiver-window-footer {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 8px;
		padding: 8px 12px;
	}

	.rea-archiver-benefits,
	.rea-archiver-benchmark,
	.rea-archiver-comparison,
	.rea-archiver-trust,
	.rea-archiver-open,
	.rea-archiver-final {
		padding: 82px 0;
	}

	.rea-archiver-benefit-grid,
	.rea-archiver-trust-grid,
	.rea-archiver-open-layout,
	.rea-archiver-final-layout {
		grid-template-columns: 1fr;
	}

	.rea-archiver-benefit-grid article {
		min-height: 0;
	}

	.rea-archiver-benefit-grid article > span {
		margin-bottom: 32px;
	}

	.rea-archiver-metrics article {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.rea-archiver-metrics strong {
		grid-row: auto;
	}

	.rea-archiver-trust-grid {
		gap: 42px;
	}

	.rea-archiver-open-layout,
	.rea-archiver-final-layout {
		gap: 40px;
	}

	.rea-archiver-open-mark {
		width: 180px;
		height: 180px;
		font-size: 3rem;
	}

	.rea-archiver-open-mark span {
		margin-top: -58px;
	}

	.rea-archiver-final img {
		width: 128px;
		height: 128px;
	}
}

/* Pages produits construites avec le gabarit commun. */
.workspace-product {
	--workspace-accent: #15b9c9;
	--workspace-accent-soft: rgba(21, 185, 201, 0.16);
	background: #071018;
	color: #f7fbff;
}

.workspace-product-rea-cashflow {
	--workspace-accent: #48c7a9;
	--workspace-accent-soft: rgba(72, 199, 169, 0.16);
}

.workspace-product-rea-mailer {
	--workspace-accent: #46c8f4;
	--workspace-accent-soft: rgba(70, 200, 244, 0.16);
}

.workspace-product-hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient(145deg, #071018 0%, #0a1921 58%, #08151b 100%);
}

.workspace-product-glow {
	position: absolute;
	top: 8%;
	right: 8%;
	width: 520px;
	height: 520px;
	border-radius: 50%;
	background: radial-gradient(circle, var(--workspace-accent-soft), transparent 68%);
	filter: blur(8px);
}

.workspace-product-hero-layout {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.72fr);
	align-items: center;
	gap: 90px;
	min-height: 760px;
	padding-top: 150px;
	padding-bottom: 100px;
}

.workspace-product-hero h1 {
	max-width: 780px;
	margin: 14px 0 24px;
	font-size: clamp(4.2rem, 8vw, 8.2rem);
	line-height: 0.88;
	letter-spacing: -0.075em;
}

.workspace-product-tagline {
	max-width: 680px;
	margin: 0 0 22px;
	color: var(--workspace-accent);
	font-size: clamp(1.3rem, 2.4vw, 2rem);
	font-weight: 750;
	letter-spacing: -0.025em;
}

.workspace-product-hero .application-lead {
	max-width: 690px;
	color: #b6c4cc;
}

.workspace-product-status {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 28px 0 0;
	color: #d9e4e9;
	font-size: 0.86rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.workspace-product-status span {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--workspace-accent);
	box-shadow: 0 0 18px var(--workspace-accent);
}

.workspace-product-jump {
	display: inline-flex;
	gap: 14px;
	margin-top: 30px;
	color: #fff;
	font-weight: 750;
	text-decoration: none;
}

.workspace-product-icon {
	position: relative;
	justify-self: center;
	width: min(32vw, 430px);
}

.workspace-product-icon::before {
	position: absolute;
	inset: 8%;
	border-radius: 50%;
	background: var(--workspace-accent-soft);
	filter: blur(42px);
	content: "";
}

.workspace-product-icon img {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 34px 44px rgba(0, 0, 0, 0.44));
}

.workspace-product-features {
	padding: 120px 0;
	background: #f3f2ed;
	color: var(--ink);
}

.workspace-product-heading {
	max-width: 900px;
	margin-bottom: 58px;
}

.workspace-product-heading h2,
.workspace-product-local h2,
.workspace-product-final h2 {
	margin: 0;
	font-size: clamp(2.8rem, 5.8vw, 5.8rem);
	line-height: 0.98;
	letter-spacing: -0.06em;
}

.workspace-product-heading > p:last-child {
	max-width: 760px;
	color: #607078;
	font-size: 1.06rem;
	line-height: 1.7;
}

.workspace-product-feature-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid #cbd0cf;
	border-left: 1px solid #cbd0cf;
}

.workspace-product-feature-grid article {
	min-height: 285px;
	padding: 38px;
	border-right: 1px solid #cbd0cf;
	border-bottom: 1px solid #cbd0cf;
}

.workspace-product-feature-grid article > span {
	display: block;
	margin-bottom: 58px;
	color: #087d89;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.14em;
}

.workspace-product-rea-cashflow .workspace-product-feature-grid article > span {
	color: #167d70;
}

.workspace-product-feature-grid h3 {
	margin: 0 0 14px;
	font-size: 1.65rem;
	letter-spacing: -0.035em;
}

.workspace-product-feature-grid p {
	margin: 0;
	color: #5d6b71;
	line-height: 1.7;
}

.workspace-product-gallery {
	scroll-margin-top: 84px;
	padding: 120px 0 130px;
	background: #09131a;
}

.workspace-product-gallery .workspace-product-heading > p:last-child {
	color: #aab9c1;
}

.workspace-product-gallery-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.workspace-product-gallery-grid figure {
	margin: 0;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.26);
}

.workspace-product-gallery-grid img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	object-position: top left;
}

.workspace-product-gallery-grid figcaption {
	padding: 17px 20px;
	background: #f8fafb;
	color: #24323a;
	font-size: 0.88rem;
	font-weight: 750;
}

.workspace-product-local {
	padding: 110px 0;
	background: #e8eeec;
	color: var(--ink);
}

.workspace-product-local-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.72fr);
	align-items: end;
	gap: 80px;
}

.workspace-product-local-layout > p {
	margin: 0;
	color: #52646a;
	font-size: 1.06rem;
	line-height: 1.75;
}

.workspace-product-final {
	padding: 100px 0;
	background: #071018;
}

.workspace-product-final-layout {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	align-items: center;
	gap: 46px;
}

.workspace-product-final img {
	display: block;
	width: 150px;
	height: 150px;
	object-fit: contain;
	filter: drop-shadow(0 20px 28px rgba(0, 0, 0, 0.35));
}

.workspace-product-final p:last-child {
	max-width: 760px;
	margin: 20px 0 0;
	color: #aab9c1;
	line-height: 1.72;
}

@media (max-width: 900px) {
	.workspace-product-hero-layout,
	.workspace-product-local-layout {
		grid-template-columns: 1fr;
	}

	.workspace-product-icon {
		width: min(66vw, 390px);
	}

	.workspace-product-gallery-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 680px) {
	.workspace-product-hero-layout {
		min-height: auto;
		gap: 54px;
		padding-top: 132px;
		padding-bottom: 82px;
	}

	.workspace-product-hero h1 {
		font-size: clamp(3.8rem, 18vw, 5.8rem);
	}

	.workspace-product-features,
	.workspace-product-gallery,
	.workspace-product-local {
		padding: 82px 0;
	}

	.workspace-product-feature-grid {
		grid-template-columns: 1fr;
	}

	.workspace-product-feature-grid article {
		min-height: 0;
		padding: 28px;
	}

	.workspace-product-feature-grid article > span {
		margin-bottom: 34px;
	}

	.workspace-product-final-layout {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.workspace-product-final img {
		width: 112px;
		height: 112px;
	}
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--ink);
	color: #ffffff;
	font-family: "Helvetica Neue", "Segoe UI", Arial, sans-serif;
	font-size: 1rem;
	-webkit-font-smoothing: antialiased;
}

body.menu-open {
	overflow: hidden;
}

a {
	color: inherit;
}

button,
a {
	-webkit-tap-highlight-color: transparent;
}

.shell {
	width: min(calc(100% - 48px), var(--shell));
	margin: 0 auto;
}

.skip-link {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 100;
	padding: 12px 16px;
	background: var(--accent);
	color: var(--ink);
	font-weight: 700;
	transform: translateY(-160%);
}

.skip-link:focus {
	transform: translateY(0);
}

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 50;
	width: 100%;
	border-bottom: 1px solid transparent;
	transition: background 220ms ease, border-color 220ms ease;
}

.site-header.is-scrolled {
	background: rgba(7, 11, 20, 0.9);
	border-color: var(--line-dark);
	backdrop-filter: blur(18px);
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 84px;
}

.brand {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	color: #ffffff;
	font-weight: 800;
	letter-spacing: 0.15em;
	text-decoration: none;
}

.brand-mark {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	background: var(--accent);
	color: var(--ink);
	font-family: Georgia, serif;
	font-size: 1.5rem;
	font-style: italic;
	letter-spacing: -0.08em;
	transform: rotate(-4deg);
}

.brand-name {
	font-size: 0.95rem;
}

.main-navigation {
	display: flex;
	align-items: center;
	gap: 30px;
}

.main-navigation a {
	position: relative;
	color: #d9dde6;
	font-size: 0.9rem;
	font-weight: 650;
	text-decoration: none;
}

.main-navigation a::after {
	position: absolute;
	bottom: -8px;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--accent);
	content: "";
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 180ms ease;
}

.main-navigation a:hover::after,
.main-navigation a:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left;
}

.language-switcher {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-left: 4px;
	padding-left: 18px;
	border-left: 1px solid var(--line-dark);
}

.language-switcher a {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border: 1px solid transparent;
	color: #8f9bad;
	font-size: 0.68rem;
	letter-spacing: 0.08em;
}

.language-switcher a::after {
	display: none;
}

.language-switcher a:hover,
.language-switcher a:focus-visible {
	border-color: rgba(0, 174, 239, 0.45);
	color: #ffffff;
}

.language-switcher a[aria-current="page"] {
	border-color: var(--accent);
	background: rgba(0, 174, 239, 0.12);
	color: var(--accent-bright);
}

.menu-toggle {
	display: none;
	align-items: center;
	gap: 12px;
	border: 0;
	background: transparent;
	color: #ffffff;
	font: inherit;
	font-size: 0.9rem;
	font-weight: 700;
}

.menu-toggle-lines,
.menu-toggle-lines::before {
	display: block;
	width: 24px;
	height: 2px;
	background: currentColor;
	content: "";
	transition: transform 180ms ease;
}

.menu-toggle-lines::before {
	transform: translateY(-7px);
}

.hero {
	position: relative;
	min-height: 780px;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px) 0 0 / 72px 72px,
		linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px) 0 0 / 72px 72px,
		var(--ink);
}

.hero::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(0, 174, 239, 0.8), transparent);
	content: "";
}

.hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(400px, 0.92fr);
	align-items: center;
	gap: 52px;
	min-height: 780px;
	padding-top: 84px;
}

.hero-glow {
	position: absolute;
	top: 7%;
	right: 6%;
	width: 520px;
	height: 520px;
	border-radius: 50%;
	background: rgba(0, 174, 239, 0.14);
	filter: blur(100px);
}

.eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 28px;
	color: var(--accent-bright);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.eyebrow span {
	width: 28px;
	height: 2px;
	background: var(--accent);
}

.hero h1,
.catalog-hero h1,
.not-found h1,
.application-detail h1 {
	margin: 0;
	font-size: clamp(4.2rem, 7.5vw, 7.4rem);
	font-weight: 760;
	letter-spacing: -0.075em;
	line-height: 0.88;
}

.hero h1 em {
	color: var(--accent);
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
}

.language-fr .hero h1,
.language-es .hero h1 {
	font-size: clamp(3.7rem, 6.1vw, 6.4rem);
}

.hero-intro {
	max-width: 550px;
	margin: 34px 0;
	color: #b5bcc9;
	font-size: 1.2rem;
	line-height: 1.65;
}

.primary-link {
	display: inline-flex;
	align-items: center;
	gap: 28px;
	min-height: 56px;
	padding: 0 24px;
	border: 1px solid var(--accent);
	background: var(--accent);
	color: var(--ink);
	font-size: 0.92rem;
	font-weight: 800;
	text-decoration: none;
	transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.primary-link svg {
	width: 21px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.primary-link:hover,
.primary-link:focus-visible {
	background: transparent;
	color: var(--accent);
	transform: translateY(-2px);
}

.hero-object {
	position: relative;
	justify-self: center;
	width: min(42vw, 500px);
	aspect-ratio: 1;
}

.orbit {
	position: absolute;
	inset: 7%;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 50%;
}

.orbit-one {
	animation: orbit 24s linear infinite;
}

.orbit-one::before,
.orbit-two::before {
	position: absolute;
	top: 50%;
	left: -5px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--accent);
	box-shadow: 0 0 24px var(--accent);
	content: "";
}

.orbit-two {
	inset: 20%;
	border-style: dashed;
	animation: orbit 18s linear reverse infinite;
}

.orbit-two::before {
	top: 8%;
	left: 77%;
	width: 7px;
	height: 7px;
}

.app-core {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	place-items: center;
	width: 42%;
	aspect-ratio: 1;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 27%;
	background: linear-gradient(145deg, #1d2636, #0a0f19);
	box-shadow: 0 38px 90px rgba(0, 0, 0, 0.55), inset 0 1px 1px rgba(255, 255, 255, 0.14);
	transform: translate(-50%, -50%) rotate(-8deg);
}

.app-core::before {
	position: absolute;
	inset: 10px;
	border: 1px solid rgba(0, 174, 239, 0.28);
	border-radius: 22%;
	content: "";
}

.app-core-letter {
	color: var(--accent);
	font-family: Georgia, serif;
	font-size: clamp(4.2rem, 8vw, 6.8rem);
	font-style: italic;
}

.app-core-pulse {
	position: absolute;
	right: 18%;
	bottom: 17%;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--accent);
	box-shadow: 0 0 0 6px rgba(0, 174, 239, 0.15), 0 0 26px rgba(0, 174, 239, 0.45);
}

.floating-label {
	position: absolute;
	padding: 9px 13px;
	border: 1px solid var(--line-dark);
	background: rgba(7, 11, 20, 0.8);
	color: #ccd2dc;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	backdrop-filter: blur(10px);
}

.label-ios {
	top: 18%;
	right: 2%;
}

.label-windows {
	right: 8%;
	bottom: 14%;
}

.label-web {
	bottom: 21%;
	left: 3%;
}

.label-games {
	top: 25%;
	left: 1%;
}

.hero-index {
	position: absolute;
	right: 26px;
	bottom: 20px;
	color: rgba(255, 255, 255, 0.2);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.15em;
}

.applications-preview,
.catalog-note {
	background: var(--paper);
	color: var(--ink);
}

.applications-preview {
	padding: 120px 0 132px;
}

.applications-preview .eyebrow,
.catalog-hero .eyebrow {
	color: #006f9f;
}

.section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
	gap: 70px;
	align-items: end;
	margin-bottom: 62px;
}

.section-heading h2,
.studio-copy h2 {
	margin: 0;
	font-size: clamp(2.7rem, 5vw, 5rem);
	font-weight: 750;
	letter-spacing: -0.055em;
	line-height: 0.98;
}

.section-heading > p {
	margin: 0 0 5px;
	color: #5d6470;
	font-size: 1.05rem;
	line-height: 1.7;
}

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

.application-grid-empty {
	display: block;
}

.application-card,
.catalog-empty {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr);
	gap: 30px;
	padding: 34px;
	border: 1px solid var(--line-light);
	background: var(--paper-bright);
}

.application-icon {
	display: grid;
	place-items: center;
	width: 92px;
	height: 92px;
	border-radius: 23%;
	background: var(--app-color, var(--ink));
	color: #ffffff;
	font-family: Georgia, serif;
	font-size: 2.6rem;
	font-style: italic;
}

.application-icon-image {
	display: block;
	object-fit: cover;
	box-shadow: 0 12px 30px rgba(0, 16, 79, 0.22);
}

.application-platforms {
	margin: 0 0 10px;
	color: #245c75;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.application-card h3,
.catalog-empty h3 {
	margin: 0 0 10px;
	font-size: 1.55rem;
	letter-spacing: -0.03em;
}

.application-card-copy > p:last-of-type,
.catalog-empty p:last-child {
	margin: 0;
	color: #626975;
	line-height: 1.6;
}

.application-card a {
	display: inline-block;
	margin-top: 22px;
	font-size: 0.9rem;
	font-weight: 800;
	text-decoration: none;
}

.catalog-empty {
	grid-template-columns: 160px minmax(0, 1fr);
	align-items: center;
	max-width: 780px;
	padding: 46px;
	border-left: 5px solid var(--accent);
}

.catalog-empty-mark {
	display: flex;
	align-items: end;
	gap: 10px;
	height: 90px;
	padding: 18px;
	background: var(--ink);
}

.catalog-empty-mark span {
	width: 25%;
	height: 38%;
	background: var(--accent);
}

.catalog-empty-mark span:nth-child(2) {
	height: 78%;
}

.catalog-empty-mark span:nth-child(3) {
	height: 56%;
}

.studio-section {
	position: relative;
	overflow: hidden;
	padding: 128px 0;
	background: var(--ink-soft);
}

.studio-section::before {
	position: absolute;
	top: -240px;
	left: -200px;
	width: 520px;
	height: 520px;
	border: 1px solid rgba(0, 174, 239, 0.28);
	border-radius: 50%;
	content: "";
}

.studio-layout {
	display: grid;
	grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.25fr);
	gap: 80px;
	align-items: start;
}

.studio-number {
	color: var(--accent);
	font-family: Georgia, serif;
	font-size: clamp(9rem, 20vw, 17rem);
	font-style: italic;
	letter-spacing: -0.09em;
	line-height: 0.78;
}

.studio-copy > p:not(.eyebrow) {
	max-width: 610px;
	margin: 35px 0 46px;
	color: #aeb5c2;
	font-size: 1.12rem;
	line-height: 1.75;
}

.values-list {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--line-dark);
	list-style: none;
}

.values-list li {
	display: flex;
	gap: 22px;
	padding: 18px 0;
	border-bottom: 1px solid var(--line-dark);
	font-size: 1rem;
	font-weight: 650;
}

.values-list span {
	color: var(--accent);
	font-size: 0.75rem;
}

.catalog-hero,
.not-found,
.application-detail {
	min-height: 620px;
	padding: 180px 0 100px;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px) 0 0 / 72px 72px,
		linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px) 0 0 / 72px 72px,
		var(--ink);
}

.catalog-hero {
	min-height: auto;
	padding-bottom: 78px;
}

.catalog-hero h1 {
	font-size: clamp(4rem, 8vw, 7rem);
}

.catalog-hero > .shell > p:last-child,
.not-found > .shell > p:not(.eyebrow) {
	max-width: 650px;
	margin: 32px 0 0;
	color: #aeb5c2;
	font-size: 1.12rem;
	line-height: 1.7;
}

.catalog-navigation {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 34px;
	padding-bottom: 34px;
}

.catalog-navigation a {
	padding: 12px 20px;
	border: 1px solid var(--line-dark);
	border-radius: 999px;
	color: #ffffff;
	font-weight: 750;
	text-decoration: none;
}

.catalog-navigation a:hover,
.catalog-navigation a:focus-visible,
.catalog-navigation a[aria-current="page"] {
	border-color: var(--accent);
	color: var(--accent);
}

.catalog-section {
	padding-top: 56px;
	background: var(--paper);
	color: var(--ink);
}

.catalog-section:last-of-type {
	padding-bottom: 90px;
}

.catalog-section-heading h2 {
	margin: 0 0 24px;
	font-size: clamp(1.5rem, 2.6vw, 2.2rem);
}

.page-applications .application-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 0 max(24px, calc((100vw - var(--shell)) / 2));
}

.page-applications .application-grid-empty {
	display: block;
}

.not-found h1 {
	max-width: 850px;
	font-size: clamp(3.7rem, 8vw, 7rem);
}

.not-found .primary-link {
	margin-top: 36px;
}

.application-detail-layout {
	display: grid;
	grid-template-columns: 170px minmax(0, 1fr);
	gap: 60px;
	align-items: start;
}

.application-icon-large {
	width: 160px;
	height: 160px;
	font-size: 4.8rem;
}

.application-detail h1 {
	font-size: clamp(4rem, 8vw, 7rem);
}

.application-download-top {
	margin: 0 0 24px;
}

.application-lead {
	max-width: 650px;
	margin: 32px 0;
	color: #b5bcc9;
	font-size: 1.2rem;
	line-height: 1.7;
}

.rush36-detail {
	--rush-blue: #12c7ff;
	--rush-orange: #ff9d00;
	background: #050c2c;
}

.rush36-hero {
	position: relative;
	min-height: 760px;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(34, 119, 255, 0.07) 1px, transparent 1px) 0 0 / 72px 72px,
		linear-gradient(rgba(34, 119, 255, 0.07) 1px, transparent 1px) 0 0 / 72px 72px,
		radial-gradient(circle at 72% 42%, rgba(30, 75, 255, 0.22), transparent 38%),
		#050c2c;
}

.rush36-hero::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--rush-blue), var(--rush-orange), transparent);
	content: "";
}

.rush36-hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.8fr);
	align-items: center;
	gap: 90px;
	min-height: 760px;
	padding-top: 84px;
}

.rush36-copy {
	position: relative;
	z-index: 2;
}

.rush36-copy .application-platforms,
.rush36-final .application-platforms {
	color: var(--rush-blue);
}

.rush36-copy h1 {
	margin: 0;
	font-size: clamp(5.5rem, 11vw, 10rem);
	font-style: italic;
	font-weight: 900;
	letter-spacing: -0.095em;
	line-height: 0.82;
	text-transform: uppercase;
}

.rush36-copy h1 span {
	color: var(--rush-orange);
	text-shadow: 0 0 36px rgba(255, 157, 0, 0.3);
}

.rush36-tagline {
	margin: 32px 0 0;
	color: #ffffff;
	font-size: clamp(1.3rem, 2.4vw, 2rem);
	font-weight: 750;
	letter-spacing: -0.025em;
}

.rush36-copy .application-lead {
	margin: 22px 0 30px;
}

.rush36-status {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	padding: 12px 16px;
	border: 1px solid rgba(18, 199, 255, 0.32);
	background: rgba(18, 199, 255, 0.08);
	color: #d8f7ff;
	font-size: 0.8rem;
	font-weight: 750;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.rush36-status span {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--rush-blue);
	box-shadow: 0 0 14px var(--rush-blue);
}

.rush36-icon-stage {
	position: relative;
	z-index: 1;
}

.rush36-icon-stage img {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	height: auto;
	border-radius: 23%;
	box-shadow: 0 42px 110px rgba(0, 0, 0, 0.6), 0 0 90px rgba(18, 199, 255, 0.18);
	transform: rotate(3deg);
}

.rush36-orbit {
	position: absolute;
	inset: -12%;
	border: 1px solid rgba(18, 199, 255, 0.3);
	border-radius: 50%;
	transform: rotate(-12deg);
}

.rush36-orbit::after {
	position: absolute;
	top: 46%;
	right: -6px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--rush-orange);
	box-shadow: 0 0 24px var(--rush-orange);
	content: "";
}

.rush36-glow {
	position: absolute;
	width: 460px;
	height: 460px;
	border-radius: 50%;
	filter: blur(120px);
}

.rush36-glow-blue {
	top: 20%;
	right: 4%;
	background: rgba(0, 112, 255, 0.24);
}

.rush36-glow-orange {
	right: 28%;
	bottom: -30%;
	background: rgba(255, 122, 0, 0.12);
}

.rush36-challenge {
	padding: 130px 0;
	background: var(--paper);
	color: var(--ink);
}

.rush36-challenge-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(420px, 1.15fr);
	align-items: center;
	gap: 100px;
}

.rush36-challenge .eyebrow,
.rush36-features .eyebrow {
	color: #006f9f;
}

.rush36-challenge h2,
.rush36-features h2,
.rush36-final h2 {
	margin: 0;
	font-size: clamp(2.9rem, 5.5vw, 5.4rem);
	font-weight: 780;
	letter-spacing: -0.065em;
	line-height: 0.95;
}

.rush36-challenge-layout > div:first-child > p:last-child {
	max-width: 560px;
	margin: 34px 0 0;
	color: #5b6474;
	font-size: 1.08rem;
	line-height: 1.75;
}

.rush36-board {
	padding: 26px;
	border: 1px solid rgba(18, 199, 255, 0.28);
	border-radius: 26px;
	background: #0a1236;
	box-shadow: 0 32px 70px rgba(4, 11, 39, 0.24);
}

.rush36-board-head {
	display: flex;
	justify-content: space-between;
	margin-bottom: 22px;
	font-size: 1.35rem;
}

.rush36-board-head strong {
	color: var(--rush-blue);
}

.rush36-board-head span {
	color: var(--rush-orange);
	font-weight: 800;
}

.rush36-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 9px;
}

.rush36-grid span {
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	border: 1px solid rgba(89, 133, 255, 0.24);
	border-radius: 9px;
	background: #121d4d;
	color: #eef7ff;
	font-size: clamp(0.72rem, 1.5vw, 1.05rem);
	font-weight: 800;
}

.rush36-grid .is-target {
	border-color: var(--rush-orange);
	background: var(--rush-orange);
	color: #251100;
	box-shadow: 0 0 20px rgba(255, 157, 0, 0.52);
}

.rush36-features {
	padding: 130px 0;
	background: var(--paper-bright);
	color: var(--ink);
}

.rush36-section-heading {
	max-width: 820px;
	margin-bottom: 65px;
}

.rush36-feature-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid var(--line-light);
	border-left: 1px solid var(--line-light);
}

.rush36-feature-grid article {
	min-height: 310px;
	padding: 36px;
	border-right: 1px solid var(--line-light);
	border-bottom: 1px solid var(--line-light);
}

.rush36-feature-grid article > span {
	display: inline-block;
	margin-bottom: 70px;
	color: #007db2;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.14em;
}

.rush36-feature-grid h3 {
	margin: 0 0 16px;
	font-size: 1.55rem;
	letter-spacing: -0.035em;
}

.rush36-feature-grid p {
	margin: 0;
	color: #626975;
	line-height: 1.65;
}

.rush36-final {
	padding: 100px 0;
	background:
		radial-gradient(circle at 85% 20%, rgba(255, 157, 0, 0.14), transparent 34%),
		#070f31;
}

.rush36-final .shell {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	align-items: center;
	gap: 48px;
}

.rush36-final img {
	display: block;
	width: 160px;
	height: 160px;
	border-radius: 23%;
	box-shadow: 0 22px 50px rgba(0, 0, 0, 0.36);
}

.rush36-final h2 {
	font-size: clamp(2.8rem, 5vw, 4.8rem);
}

.rush36-final div > p:last-child {
	margin: 22px 0 0;
	color: #aeb9d2;
	line-height: 1.7;
}

.aura-detail {
	--aura-cyan: #4fe8ff;
	--aura-blue: #3f78ff;
	--aura-violet: #9a5cff;
	--aura-panel: #11162b;
	background: #07091a;
}

.aura-hero {
	position: relative;
	min-height: 800px;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(79, 232, 255, 0.045) 1px, transparent 1px) 0 0 / 72px 72px,
		linear-gradient(rgba(79, 232, 255, 0.045) 1px, transparent 1px) 0 0 / 72px 72px,
		radial-gradient(circle at 78% 42%, rgba(83, 85, 255, 0.2), transparent 35%),
		#07091a;
}

.aura-hero::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--aura-cyan), var(--aura-violet), transparent);
	content: "";
}

.aura-glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(110px);
}

.aura-glow-cyan {
	top: 20%;
	right: 19%;
	width: 420px;
	height: 420px;
	background: rgba(34, 196, 255, 0.14);
}

.aura-glow-violet {
	right: 2%;
	bottom: 5%;
	width: 360px;
	height: 360px;
	background: rgba(140, 70, 255, 0.16);
}

.aura-hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(370px, 0.95fr);
	align-items: center;
	gap: 76px;
	min-height: 800px;
	padding-top: 110px;
	padding-bottom: 70px;
}

.aura-copy {
	position: relative;
	z-index: 2;
}

.aura-copy .application-platforms,
.aura-final .application-platforms {
	color: var(--aura-cyan);
}

.aura-copy h1 {
	margin: 0;
	font-size: clamp(4.3rem, 7.4vw, 7.4rem);
	font-weight: 800;
	letter-spacing: -0.08em;
	line-height: 0.86;
}

.aura-copy h1 span {
	display: block;
	background: linear-gradient(90deg, var(--aura-cyan), #6687ff 55%, #c16cff);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.aura-tagline {
	margin: 32px 0 0;
	color: #ffffff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.4rem, 2.4vw, 2.15rem);
	font-style: italic;
}

.aura-copy .application-lead {
	margin-bottom: 26px;
}

.aura-status {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aura-status li {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 10px 13px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	background: rgba(255, 255, 255, 0.035);
	color: #d8deee;
	font-size: 0.78rem;
	font-weight: 700;
}

.aura-status li > span {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--aura-cyan);
	box-shadow: 0 0 12px rgba(79, 232, 255, 0.8);
}

.aura-status li:last-child > span {
	background: var(--aura-violet);
	box-shadow: 0 0 12px rgba(154, 92, 255, 0.8);
}

.aura-features-jump {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 27px;
	color: var(--aura-cyan);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.aura-features-jump:hover,
.aura-features-jump:focus-visible {
	color: #ffffff;
}

.aura-icon-stage {
	position: relative;
	justify-self: center;
	width: min(39vw, 470px);
	aspect-ratio: 1;
}

.aura-icon-stage img {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 24%;
	box-shadow: 0 45px 100px rgba(0, 0, 0, 0.6), 0 0 80px rgba(79, 144, 255, 0.2);
	transform: rotate(2deg);
}

.aura-orbit {
	position: absolute;
	border: 1px solid rgba(79, 232, 255, 0.3);
	border-radius: 50%;
	animation: orbit 24s linear infinite;
}

.aura-orbit-one {
	inset: -9%;
}

.aura-orbit-two {
	inset: -18%;
	border-color: rgba(154, 92, 255, 0.22);
	border-style: dashed;
	animation-direction: reverse;
	animation-duration: 34s;
}

.aura-orbit-one::after,
.aura-orbit-two::after {
	position: absolute;
	top: 18%;
	right: 4%;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--aura-cyan);
	box-shadow: 0 0 22px var(--aura-cyan);
	content: "";
}

.aura-orbit-two::after {
	top: auto;
	right: auto;
	bottom: 15%;
	left: 8%;
	background: var(--aura-violet);
	box-shadow: 0 0 22px var(--aura-violet);
}

.aura-experience {
	padding: 120px 0 130px;
	background: #f4f5f8;
	color: var(--ink);
}

.aura-section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.7fr);
	align-items: end;
	gap: 80px;
	margin-bottom: 62px;
}

.aura-experience .eyebrow,
.aura-formats .eyebrow,
.aura-platforms .eyebrow {
	color: #3155c8;
}

.aura-section-heading h2,
.aura-feature-intro h2,
.aura-formats h2,
.aura-privacy h2,
.aura-final h2 {
	margin: 0;
	font-size: clamp(3rem, 5vw, 5.2rem);
	font-weight: 760;
	letter-spacing: -0.065em;
	line-height: 0.96;
}

.aura-section-heading > p {
	margin: 0 0 4px;
	color: #626975;
	font-size: 1.05rem;
	line-height: 1.75;
}

.aura-player-window {
	overflow: hidden;
	border: 1px solid #ccd1df;
	border-radius: 17px;
	background: #090c18;
	box-shadow: 0 35px 80px rgba(18, 28, 58, 0.2);
}

.aura-window-top {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	height: 48px;
	padding: 0 17px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	background: #171b2a;
	color: #aab2c5;
	font-size: 0.72rem;
}

.aura-window-top > span:last-child {
	justify-self: end;
	letter-spacing: 0.25em;
}

.aura-traffic {
	display: flex;
	gap: 7px;
}

.aura-traffic span {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #ff5f57;
}

.aura-traffic span:nth-child(2) {
	background: #febc2e;
}

.aura-traffic span:nth-child(3) {
	background: #28c840;
}

.aura-window-body {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	min-height: 470px;
}

.aura-sidebar {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 30px 16px;
	border-right: 1px solid rgba(255, 255, 255, 0.1);
	background: #111523;
	color: #aab2c5;
}

.aura-sidebar strong {
	margin: 0 11px 10px;
	color: #687188;
	font-size: 0.65rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.aura-sidebar span {
	padding: 11px 12px;
	border-radius: 8px;
	font-size: 0.83rem;
	font-weight: 700;
}

.aura-sidebar .is-active {
	background: rgba(79, 232, 255, 0.1);
	color: var(--aura-cyan);
}

.aura-now-playing {
	position: relative;
	display: grid;
	place-items: center;
	overflow: hidden;
	background:
		radial-gradient(circle at 50% 48%, rgba(69, 112, 255, 0.22), transparent 27%),
		linear-gradient(145deg, #080b18, #11122d 58%, #170d2c);
}

.aura-now-playing::before,
.aura-now-playing::after {
	position: absolute;
	width: 340px;
	height: 340px;
	border: 1px solid rgba(79, 232, 255, 0.18);
	border-radius: 42% 58% 60% 40%;
	content: "";
	transform: rotate(28deg);
}

.aura-now-playing::after {
	width: 250px;
	height: 250px;
	border-color: rgba(183, 91, 255, 0.25);
	transform: rotate(-36deg);
}

.aura-play-symbol {
	position: relative;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 86px;
	height: 86px;
	padding-left: 5px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 50%;
	background: rgba(6, 9, 24, 0.45);
	box-shadow: 0 0 40px rgba(79, 232, 255, 0.25);
	color: #ffffff;
	font-size: 1.7rem;
}

.aura-visualizer {
	position: absolute;
	right: 12%;
	bottom: 118px;
	left: 12%;
	display: flex;
	align-items: end;
	justify-content: center;
	gap: 11px;
	height: 65px;
}

.aura-visualizer span {
	width: 5px;
	height: 28%;
	border-radius: 4px;
	background: linear-gradient(var(--aura-cyan), var(--aura-violet));
	box-shadow: 0 0 10px rgba(79, 232, 255, 0.35);
	animation: aura-level 1.2s ease-in-out infinite alternate;
}

.aura-visualizer span:nth-child(2n) { height: 74%; animation-delay: -0.4s; }
.aura-visualizer span:nth-child(3n) { height: 42%; animation-delay: -0.8s; }
.aura-visualizer span:nth-child(4n) { height: 95%; animation-delay: -0.2s; }

.aura-controls {
	position: absolute;
	right: 5%;
	bottom: 27px;
	left: 5%;
	display: grid;
	grid-template-columns: auto 1fr auto 1fr auto;
	align-items: center;
	gap: 14px;
	color: #828ca4;
	font-size: 0.68rem;
}

.aura-controls i {
	height: 2px;
	background: linear-gradient(90deg, var(--aura-cyan), rgba(255, 255, 255, 0.13));
}

.aura-controls strong {
	color: #ffffff;
	font-size: 1rem;
}

.aura-features {
	scroll-margin-top: 84px;
	padding: 120px 0;
	background: #0b0e20;
}

.aura-features .eyebrow,
.aura-privacy .eyebrow {
	color: var(--aura-cyan);
}

.aura-feature-intro {
	max-width: 900px;
	margin-bottom: 62px;
}

.aura-feature-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.aura-feature-grid article {
	min-height: 300px;
	padding: 38px;
	border-right: 1px solid rgba(255, 255, 255, 0.14);
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.018);
}

.aura-feature-number {
	display: block;
	margin-bottom: 68px;
	color: var(--aura-cyan);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.14em;
}

.aura-feature-grid h3,
.aura-platform-grid h3 {
	margin: 0 0 15px;
	font-size: 1.65rem;
	letter-spacing: -0.03em;
}

.aura-feature-grid p {
	max-width: 500px;
	margin: 0;
	color: #aab3c6;
	line-height: 1.7;
}

.aura-formats {
	padding: 120px 0;
	background: #eef1f8;
	color: var(--ink);
}

.aura-formats-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(370px, 0.8fr);
	align-items: center;
	gap: 90px;
}

.aura-formats-layout > div:first-child > p:last-child {
	max-width: 650px;
	margin: 31px 0 0;
	color: #626975;
	font-size: 1.05rem;
	line-height: 1.75;
}

.aura-format-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid #c8cfdf;
	border-left: 1px solid #c8cfdf;
}

.aura-format-list span {
	padding: 20px;
	border-right: 1px solid #c8cfdf;
	border-bottom: 1px solid #c8cfdf;
	background: #ffffff;
	color: #26335c;
	font-size: 0.85rem;
	font-weight: 800;
	letter-spacing: 0.07em;
}

.aura-platforms {
	padding: 120px 0;
	background: #f8f7f2;
	color: var(--ink);
}

.aura-platform-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.aura-platform-grid article {
	padding: 42px;
	border: 1px solid var(--line-light);
	background: var(--paper-bright);
}

.aura-platform-grid .application-platforms {
	color: #3155c8;
}

.aura-platform-grid p:last-child {
	margin: 0;
	color: #626975;
	line-height: 1.72;
}

.aura-privacy {
	scroll-margin-top: 84px;
	padding: 120px 0;
	background:
		radial-gradient(circle at 12% 30%, rgba(79, 232, 255, 0.1), transparent 30%),
		#090c1b;
}

.aura-privacy-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(380px, 0.8fr);
	align-items: start;
	gap: 90px;
}

.aura-privacy-layout > div:last-child > p {
	margin: 8px 0 25px;
	color: #adb5c8;
	font-size: 1.05rem;
	line-height: 1.75;
}

.aura-privacy ul {
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	list-style: none;
}

.aura-privacy li {
	position: relative;
	padding: 20px 0 20px 28px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	color: #d2d8e5;
	line-height: 1.6;
}

.aura-privacy li::before {
	position: absolute;
	top: 28px;
	left: 3px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--aura-cyan);
	box-shadow: 0 0 12px rgba(79, 232, 255, 0.75);
	content: "";
}

.aura-final {
	padding: 100px 0;
	background: linear-gradient(135deg, #101430, #120b24);
}

.aura-final-layout {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	align-items: center;
	gap: 54px;
}

.aura-final img {
	display: block;
	width: 160px;
	height: 160px;
	border-radius: 24%;
	box-shadow: 0 24px 48px rgba(0, 0, 0, 0.45), 0 0 42px rgba(79, 144, 255, 0.15);
}

.aura-final div > p:last-child {
	max-width: 760px;
	margin: 24px 0 0;
	color: #aeb6c8;
	font-size: 1.05rem;
	line-height: 1.75;
}

@keyframes aura-level {
	to {
		transform: scaleY(0.38);
	}
}

.dbf-detail {
	--dbf-blue: #1688ff;
	--dbf-blue-deep: #0756d8;
	--dbf-orange: #ff7a18;
	--dbf-ice: #eaf4ff;
	background: #06132b;
}

.dbf-hero {
	position: relative;
	min-height: 780px;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(78, 153, 255, 0.065) 1px, transparent 1px) 0 0 / 80px 80px,
		linear-gradient(rgba(78, 153, 255, 0.065) 1px, transparent 1px) 0 0 / 80px 80px,
		radial-gradient(circle at 76% 45%, rgba(9, 113, 255, 0.3), transparent 34%),
		linear-gradient(145deg, #071a3b, #030b19 72%);
}

.dbf-hero::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--dbf-blue), var(--dbf-orange), transparent);
	content: "";
}

.dbf-glow {
	position: absolute;
	top: 20%;
	right: 4%;
	width: 520px;
	height: 520px;
	border-radius: 50%;
	background: rgba(17, 117, 255, 0.22);
	filter: blur(120px);
}

.dbf-hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.8fr);
	align-items: center;
	gap: 90px;
	min-height: 780px;
	padding-top: 84px;
}

.dbf-copy {
	position: relative;
	z-index: 2;
}

.dbf-copy .application-platforms,
.dbf-final .application-platforms {
	color: #61b9ff;
}

.dbf-copy h1 {
	margin: 0;
	font-size: clamp(5rem, 9.5vw, 9rem);
	font-weight: 820;
	letter-spacing: -0.085em;
	line-height: 0.82;
}

.dbf-copy h1 span {
	display: block;
	color: #8bcaff;
	font-weight: 350;
	letter-spacing: -0.07em;
}

.dbf-tagline {
	margin: 34px 0 0;
	color: #ffffff;
	font-size: clamp(1.35rem, 2.5vw, 2rem);
	font-weight: 720;
	letter-spacing: -0.03em;
}

.dbf-copy .application-lead {
	margin: 22px 0 30px;
}

.dbf-status {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	padding: 12px 16px;
	border: 1px solid rgba(97, 185, 255, 0.35);
	background: rgba(22, 136, 255, 0.1);
	color: #deefff;
	font-size: 0.8rem;
	font-weight: 750;
	letter-spacing: 0.055em;
	text-transform: uppercase;
}

.dbf-status span {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--dbf-orange);
	box-shadow: 0 0 15px rgba(255, 122, 24, 0.85);
}

.dbf-privacy-jump {
	display: flex;
	width: fit-content;
	align-items: center;
	gap: 9px;
	margin-top: 20px;
	color: #8bcaff;
	font-size: 0.8rem;
	font-weight: 700;
	text-decoration: none;
}

.dbf-privacy-jump:hover,
.dbf-privacy-jump:focus-visible {
	color: #ffffff;
	text-decoration: underline;
	text-underline-offset: 5px;
}

.dbf-icon-stage {
	position: relative;
	z-index: 1;
}

.dbf-icon-stage img {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 44px 48px rgba(0, 0, 0, 0.5));
	transform: rotate(2.5deg);
}

.dbf-icon-backdrop {
	position: absolute;
	inset: 9%;
	border: 1px solid rgba(97, 185, 255, 0.38);
	border-radius: 30%;
	box-shadow: 0 0 100px rgba(22, 136, 255, 0.24);
	transform: rotate(-7deg);
}

.dbf-workspace-section {
	padding: 130px 0 145px;
	background: #edf2f8;
	color: var(--ink);
}

.dbf-section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.7fr);
	align-items: end;
	gap: 80px;
	margin-bottom: 70px;
}

.dbf-workspace-section .eyebrow,
.dbf-features .eyebrow,
.dbf-formats .eyebrow,
.dbf-privacy .eyebrow {
	color: #0757a4;
}

.dbf-section-heading h2,
.dbf-feature-intro h2,
.dbf-formats h2,
.dbf-local h2,
.dbf-final h2,
.dbf-privacy h2 {
	margin: 0;
	font-size: clamp(3rem, 5.7vw, 5.6rem);
	font-weight: 780;
	letter-spacing: -0.067em;
	line-height: 0.94;
}

.dbf-section-heading > p {
	margin: 0 0 4px;
	color: #566170;
	font-size: 1.08rem;
	line-height: 1.75;
}

.dbf-window {
	overflow: hidden;
	border: 1px solid #b6c0cd;
	border-radius: 16px;
	background: #ffffff;
	box-shadow: 0 38px 90px rgba(26, 48, 78, 0.22);
}

.dbf-titlebar {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	height: 54px;
	padding: 0 18px;
	border-bottom: 1px solid #c6ced8;
	background: linear-gradient(#f8fafc, #e9edf2);
	color: #354050;
	font-size: 0.82rem;
}

.dbf-traffic,
.dbf-window-actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.dbf-traffic span {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #ff5f57;
}

.dbf-traffic span:nth-child(2) {
	background: #febc2e;
}

.dbf-traffic span:nth-child(3) {
	background: #28c840;
}

.dbf-window-actions {
	justify-self: end;
}

.dbf-window-actions span {
	display: grid;
	place-items: center;
	width: 28px;
	height: 26px;
	border: 1px solid #cbd2da;
	border-radius: 6px;
	background: #f8fafc;
	font-size: 0.9rem;
}

.dbf-window-body {
	display: grid;
	grid-template-columns: 185px minmax(0, 1fr);
	min-height: 430px;
}

.dbf-sidebar {
	padding: 28px 14px;
	border-right: 1px solid #cdd4dd;
	background: #e8edf3;
}

.dbf-sidebar > strong {
	display: block;
	margin: 0 10px 16px;
	color: #687486;
	font-size: 0.68rem;
	letter-spacing: 0.12em;
}

.dbf-sidebar > span {
	display: flex;
	justify-content: space-between;
	margin-bottom: 5px;
	padding: 9px 10px;
	border-radius: 6px;
	color: #3a4657;
	font-size: 0.76rem;
	font-weight: 700;
}

.dbf-sidebar > span.is-active {
	background: #0b6dd7;
	color: #ffffff;
}

.dbf-sidebar small {
	opacity: 0.65;
}

.dbf-table-wrap {
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 18px 18px 0;
	background: #f8fafc;
}

.dbf-search {
	width: min(100%, 340px);
	margin: 0 0 16px auto;
	padding: 8px 12px;
	border: 1px solid #cbd4df;
	border-radius: 7px;
	background: #ffffff;
	color: #7a8593;
	font-size: 0.76rem;
}

.dbf-table {
	overflow: hidden;
	border: 1px solid #c7d0da;
	border-radius: 7px;
	background: #ffffff;
}

.dbf-row {
	display: grid;
	grid-template-columns: 1.3fr 1fr 0.55fr 1fr;
	border-bottom: 1px solid #dfe4ea;
	color: #344053;
	font-size: 0.78rem;
}

.dbf-row:last-child {
	border-bottom: 0;
}

.dbf-row span {
	min-width: 0;
	padding: 13px 14px;
	overflow: hidden;
	border-right: 1px solid #dfe4ea;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.dbf-row span:last-child {
	border-right: 0;
}

.dbf-row-head {
	background: #e9eef4;
	color: #4c5868;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.045em;
}

.dbf-row .dbf-yes {
	color: #118954;
}

.dbf-statusbar {
	display: flex;
	justify-content: space-between;
	margin-top: auto;
	padding: 16px 2px;
	color: #707b89;
	font-size: 0.7rem;
}

.dbf-features {
	padding: 130px 0;
	background: #ffffff;
	color: var(--ink);
}

.dbf-feature-intro {
	max-width: 850px;
	margin-bottom: 70px;
}

.dbf-feature-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--line-light);
	border-left: 1px solid var(--line-light);
}

.dbf-feature-grid article {
	min-height: 320px;
	padding: 38px;
	border-right: 1px solid var(--line-light);
	border-bottom: 1px solid var(--line-light);
}

.dbf-feature-number {
	display: inline-block;
	margin-bottom: 76px;
	color: #0964bb;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.14em;
}

.dbf-feature-grid h3 {
	margin: 0 0 16px;
	font-size: 1.55rem;
	letter-spacing: -0.035em;
}

.dbf-feature-grid p {
	margin: 0;
	color: #606977;
	line-height: 1.7;
}

.dbf-formats {
	padding: 130px 0;
	background: var(--dbf-ice);
	color: var(--ink);
}

.dbf-formats-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.8fr);
	align-items: center;
	gap: 100px;
}

.dbf-formats h2 {
	font-size: clamp(3rem, 5vw, 5rem);
}

.dbf-formats-layout > div:first-child > p:last-child {
	max-width: 580px;
	margin: 32px 0 0;
	color: #546274;
	font-size: 1.08rem;
	line-height: 1.75;
}

.dbf-format-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.dbf-format-list span {
	padding: 22px 20px;
	border: 1px solid #b7cee7;
	background: rgba(255, 255, 255, 0.62);
	color: #153b66;
	font-size: 0.88rem;
	font-weight: 780;
}

.dbf-local {
	padding: 110px 0;
	background: #081a37;
}

.dbf-local-layout {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	align-items: center;
	gap: 62px;
}

.dbf-local-mark {
	display: grid;
	place-items: center;
	width: 150px;
	height: 150px;
	border: 1px solid rgba(97, 185, 255, 0.36);
	border-radius: 50%;
	background: rgba(22, 136, 255, 0.1);
	color: #76c0ff;
	font-size: 4.2rem;
}

.dbf-local h2 {
	font-size: clamp(2.8rem, 5vw, 4.8rem);
}

.dbf-local-layout p:last-child,
.dbf-final-layout p:last-child {
	max-width: 720px;
	margin: 24px 0 0;
	color: #aebbd0;
	font-size: 1.06rem;
	line-height: 1.75;
}

.dbf-final {
	padding: 100px 0;
	background:
		radial-gradient(circle at 82% 18%, rgba(255, 122, 24, 0.14), transparent 34%),
		#050d1d;
}

.dbf-final-layout {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	align-items: center;
	gap: 54px;
}

.dbf-final img {
	display: block;
	width: 180px;
	height: 180px;
	filter: drop-shadow(0 24px 28px rgba(0, 0, 0, 0.42));
}

.dbf-final h2 {
	font-size: clamp(2.8rem, 5vw, 4.8rem);
}

.dbf-privacy {
	scroll-margin-top: 84px;
	padding: 120px 0;
	border-top: 1px solid #c9d8e8;
	background: #f3f7fb;
	color: var(--ink);
}

.dbf-privacy-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(420px, 1.2fr);
	align-items: start;
	gap: 100px;
}

.dbf-privacy h2 {
	font-size: clamp(3rem, 5vw, 5rem);
}

.dbf-privacy-lead {
	max-width: 540px;
	margin: 30px 0 0;
	color: #526171;
	font-size: 1.08rem;
	line-height: 1.75;
}

.dbf-privacy-list {
	margin: 0;
	padding: 0;
	border-top: 1px solid #bdccdb;
	list-style: none;
}

.dbf-privacy-list li {
	display: grid;
	grid-template-columns: 10px minmax(0, 1fr);
	align-items: start;
	gap: 18px;
	padding: 24px 0;
	border-bottom: 1px solid #bdccdb;
}

.dbf-privacy-list li > span {
	width: 8px;
	height: 8px;
	margin-top: 8px;
	border-radius: 50%;
	background: var(--dbf-blue);
	box-shadow: 0 0 0 5px rgba(22, 136, 255, 0.1);
}

.dbf-privacy-list p {
	margin: 0;
	color: #293747;
	font-size: 1rem;
	line-height: 1.65;
}

.virtual-kart-detail {
	--kart-orange: #ff7548;
	--kart-orange-bright: #ff9b6f;
	--kart-cyan: #7be7ef;
	--kart-panel: #121821;
	background: #080b10;
}

.virtual-kart-hero {
	position: relative;
	min-height: 780px;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(255, 117, 72, 0.055) 1px, transparent 1px) 0 0 / 72px 72px,
		linear-gradient(rgba(255, 117, 72, 0.055) 1px, transparent 1px) 0 0 / 72px 72px,
		radial-gradient(circle at 78% 35%, rgba(255, 117, 72, 0.15), transparent 34%),
		#080b10;
}

.virtual-kart-hero::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--kart-orange), var(--kart-cyan), transparent);
	content: "";
}

.virtual-kart-glow {
	position: absolute;
	top: 20%;
	right: 8%;
	width: 480px;
	height: 480px;
	border-radius: 50%;
	background: rgba(255, 117, 72, 0.12);
	filter: blur(100px);
}

.virtual-kart-hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
	align-items: center;
	gap: 74px;
	min-height: 780px;
	padding-top: 110px;
	padding-bottom: 70px;
}

.virtual-kart-copy {
	position: relative;
	z-index: 2;
}

.virtual-kart-copy .application-platforms,
.virtual-kart-final .application-platforms {
	color: var(--kart-cyan);
}

.virtual-kart-copy h1 {
	margin: 0;
	font-size: clamp(4rem, 7vw, 7rem);
	font-weight: 800;
	letter-spacing: -0.075em;
	line-height: 0.86;
}

.virtual-kart-copy h1 em {
	display: block;
	margin-top: 14px;
	color: var(--kart-orange);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.64em;
	font-weight: 400;
	letter-spacing: -0.045em;
}

.virtual-kart-tagline {
	margin: 32px 0 0;
	color: #ffffff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.4rem, 2.4vw, 2.15rem);
	font-style: italic;
}

.virtual-kart-copy .application-lead {
	margin-bottom: 26px;
}

.virtual-kart-status {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.virtual-kart-status li {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 10px 13px;
	border: 1px solid rgba(255, 255, 255, 0.17);
	background: rgba(255, 255, 255, 0.035);
	color: #d8dde4;
	font-size: 0.78rem;
	font-weight: 700;
}

.virtual-kart-status li > span {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--kart-orange);
	box-shadow: 0 0 12px rgba(255, 117, 72, 0.75);
}

.virtual-kart-status li:last-child > span {
	background: var(--kart-cyan);
	box-shadow: 0 0 12px rgba(123, 231, 239, 0.65);
}

.virtual-kart-gallery-jump {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 27px;
	color: var(--kart-orange-bright);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.virtual-kart-gallery-jump:hover,
.virtual-kart-gallery-jump:focus-visible {
	color: #ffffff;
}

.virtual-kart-icon-stage {
	position: relative;
	justify-self: center;
	width: min(38vw, 460px);
	aspect-ratio: 1;
}

.virtual-kart-icon-stage img {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 24%;
	box-shadow: 0 40px 90px rgba(0, 0, 0, 0.58), 0 0 70px rgba(255, 117, 72, 0.13);
	transform: rotate(2deg);
}

.virtual-kart-orbit {
	position: absolute;
	inset: -10%;
	border: 1px solid rgba(255, 117, 72, 0.32);
	border-radius: 50%;
	animation: orbit 24s linear infinite;
}

.virtual-kart-orbit::after {
	position: absolute;
	top: 20%;
	right: 2%;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--kart-cyan);
	box-shadow: 0 0 22px var(--kart-cyan);
	content: "";
}

.virtual-kart-concept {
	padding: 120px 0;
	background: var(--paper);
	color: var(--ink);
}

.virtual-kart-concept-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(400px, 0.86fr);
	align-items: end;
	gap: 90px;
}

.virtual-kart-concept .eyebrow,
.virtual-kart-platforms .eyebrow {
	color: #9a3a1e;
}

.virtual-kart-concept h2,
.virtual-kart-section-heading h2,
.virtual-kart-gallery-heading h2,
.virtual-kart-final h2 {
	margin: 0;
	font-size: clamp(3rem, 5vw, 5.2rem);
	font-weight: 760;
	letter-spacing: -0.06em;
	line-height: 0.96;
}

.virtual-kart-concept-layout > div > p:last-child {
	max-width: 630px;
	margin: 32px 0 0;
	color: #5e6269;
	font-size: 1.08rem;
	line-height: 1.75;
}

.virtual-kart-numbers {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin: 0;
	border-top: 1px solid var(--line-light);
	border-bottom: 1px solid var(--line-light);
}

.virtual-kart-numbers div {
	padding: 25px 18px;
	border-left: 1px solid var(--line-light);
}

.virtual-kart-numbers div:last-child {
	border-right: 1px solid var(--line-light);
}

.virtual-kart-numbers dt {
	color: #b14322;
	font-size: clamp(2.4rem, 4vw, 4rem);
	font-weight: 800;
	letter-spacing: -0.06em;
}

.virtual-kart-numbers dd {
	margin: 9px 0 0;
	color: #626975;
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.45;
	text-transform: uppercase;
}

.virtual-kart-features {
	padding: 120px 0;
	background: #10151d;
}

.virtual-kart-features .eyebrow,
.virtual-kart-gallery .eyebrow {
	color: var(--kart-orange-bright);
}

.virtual-kart-section-heading {
	max-width: 860px;
	margin-bottom: 62px;
}

.virtual-kart-feature-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.virtual-kart-feature-grid article {
	min-height: 300px;
	padding: 38px;
	border-right: 1px solid rgba(255, 255, 255, 0.16);
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
	background: rgba(255, 255, 255, 0.018);
}

.virtual-kart-feature-grid article > span {
	display: block;
	margin-bottom: 68px;
	color: var(--kart-orange);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.14em;
}

.virtual-kart-feature-grid h3,
.virtual-kart-platform-grid h3 {
	margin: 0 0 15px;
	font-size: 1.65rem;
	letter-spacing: -0.03em;
}

.virtual-kart-feature-grid p {
	max-width: 480px;
	margin: 0;
	color: #aab2bf;
	line-height: 1.7;
}

.virtual-kart-gallery {
	scroll-margin-top: 84px;
	padding: 120px 0 130px;
	background: #070a0f;
}

.virtual-kart-gallery-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.65fr);
	align-items: end;
	gap: 80px;
	margin-bottom: 62px;
}

.virtual-kart-gallery-heading > p {
	margin: 0 0 5px;
	color: #aab2bf;
	font-size: 1.03rem;
	line-height: 1.7;
}

.virtual-kart-gallery-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.virtual-kart-shot {
	margin: 0;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.16);
	background: var(--kart-panel);
}

.virtual-kart-shot-macos {
	grid-column: 1 / -1;
}

.virtual-kart-shot-label {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	color: #b8c0cb;
	font-size: 0.78rem;
	font-weight: 700;
}

.virtual-kart-shot-label span {
	padding: 5px 8px;
	background: var(--kart-orange);
	color: #11151c;
	font-size: 0.68rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.virtual-kart-shot:not(.virtual-kart-shot-macos) .virtual-kart-shot-label span {
	background: var(--kart-cyan);
}

.virtual-kart-shot img {
	display: block;
	width: 100%;
	height: auto;
}

.virtual-kart-platforms {
	padding: 120px 0;
	background: #f1eee7;
	color: var(--ink);
}

.virtual-kart-platform-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.virtual-kart-platform-grid article {
	padding: 42px;
	border: 1px solid var(--line-light);
	background: var(--paper-bright);
}

.virtual-kart-platform-grid .application-platforms {
	color: #9a3a1e;
}

.virtual-kart-platform-grid p:last-child {
	margin: 0;
	color: #626975;
	line-height: 1.72;
}

.virtual-kart-final {
	padding: 100px 0;
	background:
		radial-gradient(circle at 12% 20%, rgba(255, 117, 72, 0.14), transparent 30%),
		#0a0e14;
}

.virtual-kart-final-layout {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	align-items: center;
	gap: 54px;
}

.virtual-kart-final img {
	display: block;
	width: 160px;
	height: 160px;
	border-radius: 24%;
	box-shadow: 0 24px 45px rgba(0, 0, 0, 0.45);
}

.virtual-kart-final div > p:last-child {
	max-width: 760px;
	margin: 24px 0 0;
	color: #aeb5c2;
	font-size: 1.05rem;
	line-height: 1.75;
}

.site-footer {
	padding: 36px 0;
	border-top: 1px solid var(--line-dark);
	background: var(--ink);
}

.footer-inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 24px;
}

.footer-inner p {
	margin: 0;
	color: var(--muted);
	font-size: 0.82rem;
}

.footer-copy {
	justify-self: end;
}

[data-reveal] {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 650ms ease, transform 650ms ease;
}

[data-reveal][data-delay="1"] {
	transition-delay: 140ms;
}

[data-reveal].is-visible {
	opacity: 1;
	transform: translateY(0);
}

@keyframes orbit {
	to {
		transform: rotate(360deg);
	}
}

@media (max-width: 900px) {
	.hero-layout {
		grid-template-columns: 1fr;
		gap: 20px;
		padding-top: 150px;
		padding-bottom: 80px;
	}

	.hero-copy {
		position: relative;
		z-index: 2;
	}

	.hero-object {
		width: min(86vw, 440px);
	}

	.section-heading,
	.studio-layout {
		grid-template-columns: 1fr;
		gap: 44px;
	}

	.studio-number {
		font-size: 10rem;
	}

	.application-grid,
	.page-applications .application-grid {
		grid-template-columns: 1fr;
	}

	.aura-hero-layout,
	.aura-section-heading,
	.aura-formats-layout,
	.aura-privacy-layout {
		grid-template-columns: 1fr;
	}

	.aura-hero-layout {
		gap: 72px;
		padding-top: 150px;
		padding-bottom: 100px;
	}

	.aura-icon-stage {
		width: min(70vw, 450px);
	}

	.aura-section-heading,
	.aura-formats-layout,
	.aura-privacy-layout {
		gap: 48px;
	}

	.rush36-hero-layout,
	.rush36-challenge-layout {
		grid-template-columns: 1fr;
	}

	.rush36-hero-layout {
		gap: 70px;
		padding-top: 150px;
		padding-bottom: 100px;
	}

	.rush36-icon-stage {
		justify-self: center;
		width: min(72vw, 460px);
	}

	.rush36-challenge-layout {
		gap: 65px;
	}

	.rush36-feature-grid {
		grid-template-columns: 1fr;
	}

	.rush36-feature-grid article {
		min-height: 0;
	}

	.rush36-feature-grid article > span {
		margin-bottom: 40px;
	}

	.dbf-hero-layout,
	.dbf-section-heading,
	.dbf-formats-layout,
	.dbf-privacy-layout {
		grid-template-columns: 1fr;
	}

	.dbf-hero-layout {
		gap: 65px;
		padding-top: 150px;
		padding-bottom: 100px;
	}

	.dbf-icon-stage {
		justify-self: center;
		width: min(72vw, 470px);
	}

	.dbf-section-heading,
	.dbf-formats-layout,
	.dbf-privacy-layout {
		gap: 48px;
	}

	.dbf-feature-grid {
		grid-template-columns: 1fr;
	}

	.dbf-feature-grid article {
		min-height: 0;
	}

	.dbf-feature-number {
		margin-bottom: 40px;
	}

	.virtual-kart-hero-layout,
	.virtual-kart-concept-layout,
	.virtual-kart-gallery-heading {
		grid-template-columns: 1fr;
	}

	.virtual-kart-hero-layout {
		gap: 70px;
		padding-top: 150px;
		padding-bottom: 100px;
	}

	.virtual-kart-icon-stage {
		width: min(70vw, 430px);
	}

	.virtual-kart-concept-layout,
	.virtual-kart-gallery-heading {
		gap: 48px;
	}
}

@media (max-width: 680px) {
	.shell {
		width: min(calc(100% - 32px), var(--shell));
	}

	.header-inner {
		height: 72px;
	}

	.menu-toggle {
		display: flex;
	}

	.main-navigation {
		position: fixed;
		top: 72px;
		right: 0;
		bottom: 0;
		left: 0;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
		padding: 48px 24px;
		background: rgba(7, 11, 20, 0.98);
		opacity: 0;
		pointer-events: none;
		transform: translateY(-16px);
		transition: opacity 180ms ease, transform 180ms ease;
	}

	.main-navigation.is-open {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}

	.main-navigation a {
		width: 100%;
		padding: 22px 0;
		border-bottom: 1px solid var(--line-dark);
		font-size: 1.5rem;
	}

	.language-switcher {
		width: 100%;
		gap: 10px;
		margin: 22px 0 0;
		padding: 0;
		border-left: 0;
	}

	.language-switcher a {
		width: 44px;
		height: 44px;
		padding: 0;
		border: 1px solid var(--line-dark);
		font-size: 0.75rem;
	}

	.menu-open .menu-toggle-lines {
		transform: rotate(45deg);
	}

	.menu-open .menu-toggle-lines::before {
		transform: rotate(-90deg);
	}

	.hero {
		min-height: auto;
	}

	.hero-layout {
		min-height: auto;
		padding-top: 132px;
	}

	.hero h1 {
		font-size: clamp(3.4rem, 16vw, 5.6rem);
	}

	.language-fr .hero h1,
	.language-es .hero h1 {
		font-size: clamp(3rem, 13.5vw, 4.8rem);
	}

	.hero-intro {
		font-size: 1.05rem;
	}

	.applications-preview,
	.studio-section {
		padding: 88px 0;
	}

	.section-heading {
		margin-bottom: 42px;
	}

	.section-heading h2,
	.studio-copy h2 {
		font-size: 2.8rem;
	}

	.catalog-empty,
	.application-card {
		grid-template-columns: 1fr;
		padding: 28px;
	}

	.catalog-empty-mark {
		width: 130px;
	}

	.catalog-hero,
	.not-found,
	.application-detail {
		padding-top: 140px;
	}

	.application-detail-layout {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.aura-hero-layout {
		padding-top: 130px;
	}

	.aura-copy h1 {
		font-size: clamp(4rem, 21vw, 6.5rem);
	}

	.aura-tagline {
		font-size: 1.25rem;
	}

	.aura-experience,
	.aura-features,
	.aura-formats,
	.aura-platforms,
	.aura-privacy {
		padding: 88px 0;
	}

	.aura-section-heading,
	.aura-feature-intro {
		margin-bottom: 48px;
	}

	.aura-window-top {
		grid-template-columns: 1fr auto;
	}

	.aura-window-top > strong {
		display: none;
	}

	.aura-window-body {
		grid-template-columns: 1fr;
		min-height: 390px;
	}

	.aura-sidebar {
		display: none;
	}

	.aura-now-playing::before {
		width: 270px;
		height: 270px;
	}

	.aura-now-playing::after {
		width: 200px;
		height: 200px;
	}

	.aura-feature-grid,
	.aura-platform-grid {
		grid-template-columns: 1fr;
	}

	.aura-feature-grid article {
		min-height: 0;
		padding: 28px;
	}

	.aura-feature-number {
		margin-bottom: 40px;
	}

	.aura-format-list {
		grid-template-columns: 1fr;
	}

	.aura-platform-grid article {
		padding: 28px;
	}

	.aura-final {
		padding: 80px 0;
	}

	.aura-final-layout {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.aura-final img {
		width: 118px;
		height: 118px;
	}

	.rush36-hero-layout {
		padding-top: 130px;
	}

	.rush36-copy h1 {
		font-size: clamp(4.6rem, 25vw, 7.5rem);
	}

	.rush36-tagline {
		font-size: 1.25rem;
	}

	.rush36-challenge,
	.rush36-features {
		padding: 90px 0;
	}

	.rush36-challenge-layout {
		gap: 50px;
	}

	.rush36-board {
		padding: 16px;
		border-radius: 18px;
	}

	.rush36-grid {
		gap: 5px;
	}

	.rush36-grid span {
		border-radius: 5px;
		font-size: 0.72rem;
	}

	.rush36-feature-grid article {
		padding: 28px;
	}

	.rush36-final {
		padding: 80px 0;
	}

	.rush36-final .shell {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.rush36-final img {
		width: 112px;
		height: 112px;
	}

	.dbf-hero-layout {
		padding-top: 130px;
	}

	.dbf-copy h1 {
		font-size: clamp(4.2rem, 22vw, 7rem);
	}

	.dbf-tagline {
		font-size: 1.25rem;
	}

	.dbf-workspace-section,
	.dbf-features,
	.dbf-formats,
	.dbf-privacy {
		padding: 90px 0;
	}

	.dbf-section-heading,
	.dbf-feature-intro {
		margin-bottom: 48px;
	}

	.dbf-window {
		border-radius: 11px;
	}

	.dbf-titlebar {
		grid-template-columns: 1fr auto;
	}

	.dbf-titlebar > strong {
		display: none;
	}

	.dbf-window-body {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.dbf-sidebar {
		display: none;
	}

	.dbf-table-wrap {
		padding: 12px 12px 0;
	}

	.dbf-row {
		grid-template-columns: 1.3fr 1fr 0.55fr;
		font-size: 0.68rem;
	}

	.dbf-row span {
		padding: 11px 9px;
	}

	.dbf-row span:last-child {
		display: none;
	}

	.dbf-statusbar span:last-child {
		display: none;
	}

	.dbf-feature-grid article {
		padding: 28px;
	}

	.dbf-format-list {
		grid-template-columns: 1fr;
	}

	.dbf-local,
	.dbf-final {
		padding: 80px 0;
	}

	.dbf-local-layout,
	.dbf-final-layout {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.dbf-local-mark {
		width: 112px;
		height: 112px;
		font-size: 3rem;
	}

	.dbf-final img {
		width: 118px;
		height: 118px;
	}

	.virtual-kart-hero-layout {
		padding-top: 130px;
	}

	.virtual-kart-copy h1 {
		font-size: clamp(2.85rem, 11.5vw, 5.5rem);
	}

	.virtual-kart-tagline {
		font-size: 1.25rem;
	}

	.virtual-kart-concept,
	.virtual-kart-features,
	.virtual-kart-gallery,
	.virtual-kart-platforms {
		padding: 88px 0;
	}

	.virtual-kart-numbers,
	.virtual-kart-feature-grid,
	.virtual-kart-gallery-grid,
	.virtual-kart-platform-grid {
		grid-template-columns: 1fr;
	}

	.virtual-kart-numbers div,
	.virtual-kart-numbers div:last-child {
		border-right: 1px solid var(--line-light);
		border-bottom: 1px solid var(--line-light);
	}

	.virtual-kart-numbers div:last-child {
		border-bottom: 0;
	}

	.virtual-kart-feature-grid article {
		min-height: 0;
		padding: 28px;
	}

	.virtual-kart-feature-grid article > span {
		margin-bottom: 40px;
	}

	.virtual-kart-shot-macos {
		grid-column: auto;
	}

	.virtual-kart-platform-grid article {
		padding: 28px;
	}

	.virtual-kart-final {
		padding: 80px 0;
	}

	.virtual-kart-final-layout {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.virtual-kart-final img {
		width: 118px;
		height: 118px;
	}

	.footer-inner {
		grid-template-columns: 1fr;
	}

	.footer-copy {
		justify-self: start;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* RetroArchive conserve les couleurs, la grille et les composants du studio. */
.retro-detail {
	background: var(--ink);
}

.retro-hero {
	background: radial-gradient(ellipse at 80% 35%, #123958 0, transparent 52%), var(--ink);
}

.retro-hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
	align-items: center;
	gap: 64px;
	padding-top: 160px;
	padding-bottom: 100px;
}

.retro-detail .application-platforms,
.retro-detail .eyebrow {
	color: var(--accent-bright);
}

.retro-detail h1 {
	margin: 0;
	font-size: clamp(3.1rem, 6.8vw, 6.5rem);
	letter-spacing: -0.065em;
	line-height: 1;
}

.retro-detail h1 span {
	color: #75dcff;
}

.retro-tagline {
	font-family: Georgia, serif;
	font-style: italic;
	font-size: clamp(1.4rem, 2.5vw, 2rem);
	line-height: 1.35;
}

.retro-release {
	color: #b9c7d6;
	font-size: 0.84rem;
	line-height: 1.6;
}

.retro-notice {
	max-width: 600px;
	padding-left: 18px;
	border-left: 2px solid #75dcff;
	color: #c8d4e1;
	font-size: 0.9rem;
	line-height: 1.65;
}

.retro-text-link {
	color: #75dcff;
	text-underline-offset: 5px;
}

.retro-icon-stage img {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 30px 40px #0008);
}

.retro-icon-stage p {
	text-align: center;
	color: #b9c7d6;
	font-size: 0.85rem;
}

.retro-overview,
.retro-install {
	padding: 100px 0;
	background: var(--paper);
	color: var(--ink);
}

.retro-two-columns,
.retro-download-layout {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 80px;
}

.retro-detail h2 {
	margin: 0;
	font-size: clamp(2.5rem, 4.6vw, 4.5rem);
	letter-spacing: -0.06em;
	line-height: 1.04;
}

.retro-overview .eyebrow,
.retro-install .eyebrow {
	color: #006c95;
}

.retro-prose p,
.retro-steps p {
	margin-top: 0;
	color: #4c5664;
	line-height: 1.8;
}

.retro-facts {
	display: flex;
	gap: 50px;
	padding-top: 24px;
	border-top: 1px solid var(--line-light);
	font-size: 2.4rem;
	font-weight: 700;
}

.retro-facts small {
	display: block;
	margin-top: 8px;
	font-size: 0.8rem;
	font-weight: 400;
}

.retro-features {
	scroll-margin-top: 80px;
}

.retro-features,
.retro-download {
	padding: 100px 0;
}

.retro-section-heading {
	margin-bottom: 56px;
}

.retro-feature-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--line-dark);
	border-left: 1px solid var(--line-dark);
}

.retro-feature-grid article {
	padding: 36px;
	border-bottom: 1px solid var(--line-dark);
	border-right: 1px solid var(--line-dark);
	background: #111827;
}

.retro-number {
	display: block;
	margin-bottom: 48px;
	color: #75dcff;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
}

.retro-detail h3 {
	font-size: 1.4rem;
	letter-spacing: -0.025em;
}

.retro-feature-grid p,
.retro-download p {
	color: #bcc7d6;
	line-height: 1.75;
}

.retro-steps {
	margin: 0;
	padding-left: 24px;
}

.retro-steps li {
	padding-left: 14px;
}

.retro-steps h3 {
	margin-top: 0;
}

.retro-install {
	scroll-margin-top: 80px;
}

.retro-download-layout {
	margin-top: 44px;
}

.retro-file-details {
	margin: 0;
	min-width: 0;
}

.retro-file-details div {
	padding: 16px 0;
	border-bottom: 1px solid var(--line-dark);
}

.retro-file-details dt {
	color: #bcc7d6;
	font-size: 0.8rem;
}

.retro-file-details dd {
	margin: 10px 0 0;
	line-height: 1.6;
	overflow-wrap: anywhere;
}

.retro-verify {
	margin-top: 42px;
	padding: 24px 0;
	border-top: 1px solid var(--line-dark);
}

.retro-verify summary {
	cursor: pointer;
	color: #75dcff;
}

.retro-verify pre {
	padding: 20px;
	background: #111827;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

@media (max-width: 900px) {
	.retro-hero-layout,
	.retro-two-columns,
	.retro-download-layout {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.retro-icon-stage {
		width: min(75vw, 380px);
		justify-self: center;
	}
}

@media (max-width: 680px) {
	.retro-hero-layout {
		padding-top: 130px;
		padding-bottom: 70px;
	}

	.retro-detail h1 {
		font-size: clamp(2.8rem, 12vw, 4.8rem);
	}

	.retro-feature-grid {
		grid-template-columns: 1fr;
	}

	.retro-feature-grid article {
		padding: 28px;
	}

	.retro-overview,
	.retro-install,
	.retro-features,
	.retro-download {
		padding: 76px 0;
	}
}

.gold-catcher-detail {
	--gold-catcher-blue: #59d9ff;
	--gold-catcher-blue-deep: #087ca8;
	--gold-catcher-gold: #f5b83e;
	--gold-catcher-gold-light: #ffe08a;
	background: #071018;
}

.gold-catcher-hero {
	position: relative;
	min-height: 800px;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(89, 217, 255, 0.055) 1px, transparent 1px) 0 0 / 64px 64px,
		linear-gradient(rgba(89, 217, 255, 0.055) 1px, transparent 1px) 0 0 / 64px 64px,
		radial-gradient(circle at 76% 46%, rgba(28, 176, 224, 0.19), transparent 34%),
		linear-gradient(145deg, #071018 0%, #0b1b28 56%, #071018 100%);
}

.gold-catcher-hero::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--gold-catcher-blue), var(--gold-catcher-gold), transparent);
	content: "";
}

.gold-catcher-glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(110px);
	pointer-events: none;
}

.gold-catcher-glow-blue {
	top: 17%;
	right: 3%;
	width: 520px;
	height: 520px;
	background: rgba(52, 202, 255, 0.14);
}

.gold-catcher-glow-gold {
	bottom: -18%;
	left: 3%;
	width: 360px;
	height: 360px;
	background: rgba(245, 184, 62, 0.09);
}

.gold-catcher-hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
	align-items: center;
	gap: 78px;
	min-height: 800px;
	padding-top: 110px;
	padding-bottom: 72px;
}

.gold-catcher-copy {
	position: relative;
	z-index: 2;
}

.gold-catcher-copy .application-platforms,
.gold-catcher-final .application-platforms {
	color: var(--gold-catcher-blue);
}

.gold-catcher-copy h1 {
	margin: 0;
	font-size: clamp(4.5rem, 8vw, 8rem);
	font-weight: 850;
	letter-spacing: -0.085em;
	line-height: 0.82;
}

.gold-catcher-copy h1 span {
	display: block;
	color: var(--gold-catcher-gold);
}

.gold-catcher-tagline {
	margin: 34px 0 0;
	color: #ffffff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.35rem, 2.3vw, 2.05rem);
	font-style: italic;
}

.gold-catcher-copy .application-lead {
	margin-bottom: 26px;
}

.gold-catcher-status {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gold-catcher-status li {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 10px 13px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	background: rgba(255, 255, 255, 0.035);
	color: #d4e1e9;
	font-size: 0.78rem;
	font-weight: 700;
}

.gold-catcher-status li > span {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--gold-catcher-gold);
	box-shadow: 0 0 14px rgba(245, 184, 62, 0.8);
}

.gold-catcher-status li:last-child > span {
	background: var(--gold-catcher-blue);
	box-shadow: 0 0 14px rgba(89, 217, 255, 0.78);
}

.gold-catcher-gallery-jump {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 28px;
	color: var(--gold-catcher-gold-light);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.gold-catcher-gallery-jump:hover,
.gold-catcher-gallery-jump:focus-visible {
	color: #ffffff;
}

.gold-catcher-icon-stage {
	position: relative;
	justify-self: center;
	width: min(39vw, 480px);
	aspect-ratio: 1;
}

.gold-catcher-icon-stage img {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 24%;
	box-shadow: 0 42px 100px rgba(0, 0, 0, 0.62), 0 0 85px rgba(89, 217, 255, 0.14);
	transform: rotate(1.5deg);
}

.gold-catcher-orbit {
	position: absolute;
	inset: -10%;
	border: 1px solid rgba(89, 217, 255, 0.3);
	border-radius: 50%;
	animation: orbit 26s linear infinite;
}

.gold-catcher-orbit::after {
	position: absolute;
	top: 18%;
	right: 3%;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--gold-catcher-gold);
	box-shadow: 0 0 24px var(--gold-catcher-gold);
	content: "";
}

.gold-catcher-mission {
	padding: 120px 0;
	background: #f4f1e8;
	color: var(--ink);
}

.gold-catcher-mission-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(480px, 1.15fr);
	align-items: center;
	gap: 76px;
}

.gold-catcher-mission .eyebrow,
.gold-catcher-platforms .eyebrow {
	color: #866110;
}

.gold-catcher-mission h2,
.gold-catcher-section-heading h2,
.gold-catcher-gallery-heading h2,
.gold-catcher-final h2 {
	margin: 0;
	font-size: clamp(3rem, 5vw, 5.15rem);
	font-weight: 780;
	letter-spacing: -0.06em;
	line-height: 0.96;
}

.gold-catcher-mission-copy > p:last-of-type {
	margin: 30px 0 0;
	color: #565b60;
	font-size: 1.06rem;
	line-height: 1.76;
}

.gold-catcher-numbers {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin: 42px 0 0;
	border-top: 1px solid #cfc8b8;
	border-bottom: 1px solid #cfc8b8;
}

.gold-catcher-numbers div {
	padding: 23px 13px;
	border-left: 1px solid #cfc8b8;
}

.gold-catcher-numbers div:last-child {
	border-right: 1px solid #cfc8b8;
}

.gold-catcher-numbers dt {
	color: #936812;
	font-size: clamp(2rem, 3.5vw, 3.5rem);
	font-weight: 850;
	letter-spacing: -0.06em;
}

.gold-catcher-numbers dd {
	margin: 8px 0 0;
	color: #67675f;
	font-size: 0.7rem;
	font-weight: 750;
	line-height: 1.42;
	text-transform: uppercase;
}

.gold-catcher-vault,
.gold-catcher-art {
	margin: 0;
	overflow: hidden;
	border: 1px solid rgba(8, 27, 39, 0.2);
	background: #0a1720;
	box-shadow: 0 30px 70px rgba(29, 31, 27, 0.16);
}

.gold-catcher-vault img,
.gold-catcher-art img {
	display: block;
	width: 100%;
	height: auto;
}

.gold-catcher-vault figcaption,
.gold-catcher-art figcaption {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	color: #dce8ee;
	font-size: 0.83rem;
	font-weight: 750;
}

.gold-catcher-vault figcaption span,
.gold-catcher-art figcaption span {
	color: var(--gold-catcher-gold);
	font-size: 0.7rem;
	letter-spacing: 0.14em;
}

.gold-catcher-features {
	padding: 120px 0;
	background: #0c1822;
}

.gold-catcher-features .eyebrow,
.gold-catcher-gallery .eyebrow {
	color: var(--gold-catcher-gold-light);
}

.gold-catcher-section-heading {
	max-width: 850px;
	margin-bottom: 62px;
}

.gold-catcher-feature-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	border-left: 1px solid rgba(255, 255, 255, 0.15);
}

.gold-catcher-feature-grid article {
	min-height: 300px;
	padding: 38px;
	border-right: 1px solid rgba(255, 255, 255, 0.15);
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	background: rgba(255, 255, 255, 0.018);
}

.gold-catcher-feature-grid article > span {
	display: block;
	margin-bottom: 68px;
	color: var(--gold-catcher-blue);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.14em;
}

.gold-catcher-feature-grid h3,
.gold-catcher-platform-grid h3 {
	margin: 0 0 15px;
	font-size: 1.65rem;
	letter-spacing: -0.03em;
}

.gold-catcher-feature-grid p {
	max-width: 480px;
	margin: 0;
	color: #aebbc4;
	line-height: 1.7;
}

.gold-catcher-gallery {
	scroll-margin-top: 84px;
	padding: 120px 0 130px;
	background: #060c12;
}

.gold-catcher-gallery-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.65fr);
	align-items: end;
	gap: 80px;
	margin-bottom: 62px;
}

.gold-catcher-gallery-heading > p {
	margin: 0 0 5px;
	color: #aebbc4;
	font-size: 1.03rem;
	line-height: 1.7;
}

.gold-catcher-gallery-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.gold-catcher-art-aster {
	grid-column: 1 / -1;
}

.gold-catcher-art img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.gold-catcher-platforms {
	padding: 120px 0;
	background: #f4f1e8;
	color: var(--ink);
}

.gold-catcher-platform-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.gold-catcher-platform-grid article {
	padding: 38px;
	border: 1px solid #cbc5b6;
	background: rgba(255, 255, 255, 0.36);
}

.gold-catcher-platform-grid .application-platforms {
	color: #087497;
}

.gold-catcher-platform-grid p:last-child {
	margin: 0;
	color: #586168;
	line-height: 1.72;
}

.gold-catcher-final {
	padding: 105px 0;
	background:
		radial-gradient(circle at 20% 50%, rgba(245, 184, 62, 0.12), transparent 28%),
		radial-gradient(circle at 84% 45%, rgba(89, 217, 255, 0.14), transparent 30%),
		#071018;
}

.gold-catcher-final-layout {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	align-items: center;
	gap: 48px;
}

.gold-catcher-final img {
	display: block;
	width: 160px;
	height: 160px;
	border-radius: 25%;
	box-shadow: 0 24px 50px rgba(0, 0, 0, 0.38);
}

.gold-catcher-final h2 {
	font-size: clamp(2.8rem, 4.8vw, 4.8rem);
}

.gold-catcher-final p:last-child {
	max-width: 720px;
	margin: 22px 0 0;
	color: #aebbc4;
	line-height: 1.7;
}

@media (max-width: 900px) {
	.gold-catcher-hero-layout,
	.gold-catcher-mission-layout,
	.gold-catcher-gallery-heading {
		grid-template-columns: 1fr;
	}

	.gold-catcher-icon-stage {
		width: min(70vw, 430px);
	}

	.gold-catcher-mission-layout,
	.gold-catcher-gallery-heading {
		gap: 48px;
	}
}

@media (max-width: 680px) {
	.gold-catcher-hero-layout {
		min-height: auto;
		gap: 56px;
		padding-top: 138px;
		padding-bottom: 84px;
	}

	.gold-catcher-copy h1 {
		font-size: clamp(4rem, 20vw, 6.3rem);
	}

	.gold-catcher-tagline {
		font-size: 1.25rem;
	}

	.gold-catcher-mission,
	.gold-catcher-features,
	.gold-catcher-gallery,
	.gold-catcher-platforms {
		padding: 84px 0;
	}

	.gold-catcher-numbers,
	.gold-catcher-feature-grid,
	.gold-catcher-gallery-grid,
	.gold-catcher-platform-grid {
		grid-template-columns: 1fr;
	}

	.gold-catcher-numbers div,
	.gold-catcher-numbers div:last-child {
		border-right: 1px solid #cfc8b8;
		border-bottom: 1px solid #cfc8b8;
	}

	.gold-catcher-numbers div:last-child {
		border-bottom: 0;
	}

	.gold-catcher-feature-grid article {
		min-height: 0;
		padding: 28px;
	}

	.gold-catcher-feature-grid article > span {
		margin-bottom: 40px;
	}

	.gold-catcher-art-aster {
		grid-column: auto;
	}

	.gold-catcher-platform-grid article {
		padding: 28px;
	}

	.gold-catcher-final {
		padding: 80px 0;
	}

	.gold-catcher-final-layout {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.gold-catcher-final img {
		width: 118px;
		height: 118px;
	}
}

/* Aster : Squadron 07 */
.aster-squadron-detail {
	--squadron-cyan: #27d7df;
	--squadron-gold: #ffb541;
	background: #050a15;
	color: #f8fbff;
}

.aster-squadron-hero {
	position: relative;
	min-height: 860px;
	overflow: hidden;
	background: #071020 url('/images/applications/aster-squadron-07/orbit.png') center / cover no-repeat;
}

.aster-squadron-hero-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(4, 9, 21, 0.97) 0%, rgba(4, 9, 21, 0.78) 45%, rgba(4, 9, 21, 0.15) 100%);
}

.aster-squadron-hero-layout {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.7fr);
	align-items: end;
	gap: 52px;
	min-height: 860px;
	padding-top: 150px;
}

.aster-squadron-hero-copy {
	align-self: center;
	max-width: 760px;
	padding-bottom: 70px;
}

.aster-squadron-hero .application-platforms,
.aster-squadron-final .application-platforms {
	color: var(--squadron-cyan);
}

.aster-squadron-hero h1 {
	margin: 18px 0 25px;
	font-size: clamp(4.5rem, 9vw, 8.5rem);
	line-height: 0.78;
	letter-spacing: -0.07em;
}

.aster-squadron-hero h1 span {
	display: block;
	margin-top: 20px;
	color: var(--squadron-cyan);
	font-size: 0.5em;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.aster-squadron-tagline {
	max-width: 650px;
	margin: 0 0 20px;
	color: #fff;
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.45;
}

.aster-squadron-hero .application-lead {
	max-width: 680px;
	color: #c0cad9;
}

.aster-squadron-status {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	margin: 26px 0 0;
	color: #e8f8fb;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.aster-squadron-status span {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--squadron-gold);
	box-shadow: 0 0 20px rgba(255, 181, 65, 0.75);
}

.aster-squadron-commando {
	display: block;
	width: min(48vw, 570px);
	align-self: end;
	filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.55));
}

.aster-squadron-story,
.aster-squadron-campaign,
.aster-squadron-features,
.aster-squadron-gallery {
	padding: 120px 0;
}

.aster-squadron-story {
	background: #f1eee5;
	color: var(--ink);
}

.aster-squadron-story-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(420px, 1.15fr);
	align-items: center;
	gap: 72px;
}

.aster-squadron-story h2,
.aster-squadron-heading h2,
.aster-squadron-intro-card h2,
.aster-squadron-final h2 {
	margin: 0;
	font-size: clamp(2.8rem, 5vw, 5.4rem);
	line-height: 0.98;
	letter-spacing: -0.05em;
}

.aster-squadron-story-copy > p:last-of-type,
.aster-squadron-story-layout > div > p:last-of-type {
	margin: 28px 0 0;
	color: #59636b;
	font-size: 1.05rem;
	line-height: 1.75;
}

.aster-squadron-story figure,
.aster-squadron-ships {
	margin: 0;
}

.aster-squadron-story figure img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	box-shadow: 0 28px 60px rgba(17, 28, 40, 0.2);
}

.aster-squadron-story figcaption,
.aster-squadron-ships figcaption {
	margin-top: 15px;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.aster-squadron-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 46px 0 0;
}

.aster-squadron-stats div {
	padding: 22px;
	border: 1px solid #c9c3b7;
	border-right: 0;
}

.aster-squadron-stats div:last-child {
	border-right: 1px solid #c9c3b7;
}

.aster-squadron-stats dt {
	color: #087d91;
	font-size: 2.5rem;
	font-weight: 800;
}

.aster-squadron-stats dd {
	margin: 5px 0 0;
	color: #636c72;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
}

.aster-squadron-campaign {
	background: #07111f;
}

.aster-squadron-heading {
	max-width: 850px;
	margin-bottom: 58px;
}

.aster-squadron-world-grid,
.aster-squadron-feature-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aster-squadron-world-grid article,
.aster-squadron-feature-grid article {
	padding: 38px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.025);
}

.aster-squadron-world-grid article + article {
	border-left: 0;
}

.aster-squadron-world-grid span,
.aster-squadron-feature-grid span {
	display: block;
	margin-bottom: 58px;
	color: var(--squadron-cyan);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.13em;
}

.aster-squadron-world-grid h3,
.aster-squadron-feature-grid h3 {
	margin: 0 0 15px;
	font-size: 1.65rem;
}

.aster-squadron-world-grid p,
.aster-squadron-feature-grid p {
	margin: 0;
	color: #aebccd;
	line-height: 1.7;
}

.aster-squadron-features {
	background: #0a1525;
}

.aster-squadron-feature-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.aster-squadron-feature-grid article:nth-child(even) {
	border-left: 0;
}

.aster-squadron-feature-grid article:nth-child(n + 3) {
	border-top: 0;
}

.aster-squadron-gallery {
	background: #050a15;
}

.aster-squadron-ships {
	padding: 40px;
	background: radial-gradient(circle at 50% 55%, rgba(39, 215, 223, 0.18), transparent 46%);
}

.aster-squadron-ships img {
	display: block;
	width: 100%;
}

.aster-squadron-intro-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 330px;
	align-items: center;
	gap: 60px;
	margin-top: 80px;
	padding: 58px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	background: linear-gradient(135deg, rgba(39, 215, 223, 0.08), rgba(255, 181, 65, 0.04));
}

.aster-squadron-intro-card p:last-child {
	max-width: 710px;
	margin: 24px 0 0;
	color: #aebccd;
	line-height: 1.75;
}

.aster-squadron-intro-card img {
	display: block;
	width: 100%;
}

.aster-squadron-final {
	padding: 110px 0;
	background: linear-gradient(120deg, #0b5260, #08111f 60%);
	text-align: center;
}

.aster-squadron-final .shell {
	max-width: 930px;
}

.aster-squadron-timeline {
	margin: 0 0 30px;
	color: var(--squadron-gold);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.aster-squadron-final p:last-child {
	max-width: 760px;
	margin: 28px auto 0;
	color: #c2cfda;
	line-height: 1.75;
}

@media (max-width: 900px) {
	.aster-squadron-hero-layout,
	.aster-squadron-story-layout {
		grid-template-columns: 1fr;
	}

	.aster-squadron-hero-layout {
		padding-top: 140px;
	}

	.aster-squadron-commando {
		width: min(76vw, 520px);
		justify-self: end;
	}

	.aster-squadron-world-grid {
		grid-template-columns: 1fr;
	}

	.aster-squadron-world-grid article + article {
		border-top: 0;
		border-left: 1px solid rgba(255, 255, 255, 0.14);
	}
}

@media (max-width: 680px) {
	.aster-squadron-hero,
	.aster-squadron-hero-layout {
		min-height: auto;
	}

	.aster-squadron-hero-layout {
		padding-top: 130px;
	}

	.aster-squadron-hero-copy {
		padding-bottom: 15px;
	}

	.aster-squadron-hero h1 {
		font-size: clamp(4rem, 22vw, 6.5rem);
	}

	.aster-squadron-commando {
		justify-self: center;
	}

	.aster-squadron-story,
	.aster-squadron-campaign,
	.aster-squadron-features,
	.aster-squadron-gallery {
		padding: 84px 0;
	}

	.aster-squadron-story-layout {
		gap: 46px;
	}

	.aster-squadron-stats,
	.aster-squadron-feature-grid {
		grid-template-columns: 1fr;
	}

	.aster-squadron-stats div,
	.aster-squadron-stats div:last-child {
		border-right: 1px solid #c9c3b7;
		border-bottom: 0;
	}

	.aster-squadron-stats div:last-child {
		border-bottom: 1px solid #c9c3b7;
	}

	.aster-squadron-feature-grid article:nth-child(even) {
		border-left: 1px solid rgba(255, 255, 255, 0.14);
	}

	.aster-squadron-feature-grid article + article {
		border-top: 0;
	}

	.aster-squadron-ships,
	.aster-squadron-intro-card {
		padding: 26px;
	}

	.aster-squadron-intro-card {
		grid-template-columns: 1fr;
		gap: 35px;
		margin-top: 45px;
	}

	.aster-squadron-intro-card img {
		width: min(80%, 300px);
		justify-self: center;
	}

	.aster-squadron-final {
		padding: 84px 0;
	}
}

/* Linux installation guide */
.linux-install .download-hero h1 {
	font-size: clamp(2.5rem, 6vw, 4.7rem);
}

.linux-install .download-hero .primary-link {
	margin-top: 24px;
}

.linux-install-layout {
	display: grid;
	gap: 24px;
}

.linux-install-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.linux-install-nav a {
	padding: 12px 18px;
	border: 1px solid var(--line-dark);
	border-radius: 12px;
	color: var(--accent-bright);
	text-decoration: none;
	overflow-wrap: anywhere;
}

.linux-install .download-notice {
	scroll-margin-top: 110px;
	min-width: 0;
}

.linux-install .download-notice p {
	line-height: 1.65;
}

.linux-install .download-notice p + p,
.linux-install .download-notice .primary-link {
	margin-top: 18px;
}

.linux-install .download-notice h3 {
	margin: 30px 0 12px;
	font-size: 1.3rem;
}

.linux-install pre {
	max-width: 100%;
	margin: 22px 0;
	padding: 22px;
	border: 1px solid var(--line-dark);
	border-radius: 12px;
	background: var(--ink);
	color: var(--paper-bright);
	font-size: .9rem;
	line-height: 1.7;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

.linux-install-packages {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 28px;
}

.linux-install-packages > div {
	padding: 18px;
	border: 1px solid var(--line-dark);
	border-radius: 12px;
}

.linux-install-packages strong {
	color: var(--accent-bright);
}

.linux-install-packages code {
	display: block;
	margin-top: 12px;
	font-size: .85rem;
	overflow-wrap: anywhere;
}

.linux-install-packages details {
	margin-top: 16px;
}

@media (max-width: 700px) {
	.linux-install-packages {
		grid-template-columns: 1fr;
	}

	.linux-install .download-notice {
		padding: 22px;
	}

	.linux-install pre {
		padding: 16px;
		font-size: .8rem;
	}
}

/* Reuse the download form layout for private contact without JavaScript. */
.contact-form select,
.contact-form textarea {
	width: 100%;
	padding: 15px 16px;
	border: 1px solid rgba(255, 255, 255, .17);
	border-radius: 12px;
	background: #101726;
	color: #fff;
	font: inherit;
}

.contact-form textarea {
	resize: vertical;
	min-height: 170px;
}

/* Rush36: real app captures and readable privacy/support content. */
.rush36-links { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 28px; }
.rush36-links a:not(.primary-link), .rush36-privacy a { color: #7bd9ed; text-underline-offset: 4px; }
.rush36-score-explanation { padding: 32px; border: 1px solid rgba(123, 217, 237, .22); border-radius: 24px; background: #07195b; color: #fff; }
.rush36-score-explanation h3 { color: #7bd9ed; font-size: 1.65rem; margin: 0 0 18px; }
.rush36-score-explanation p, .rush36-screens p, .rush36-privacy { color: #c7cedf; line-height: 1.7; }
.rush36-screens, .rush36-privacy { padding: 72px 0; }
.rush36-screens h2, .rush36-privacy h2 { color: #fff; font-size: clamp(1.8rem, 4vw, 2.8rem); margin: 0 0 20px; }
.rush36-screenshot-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 32px; }
.rush36-screenshot-grid figure { margin: 0; }
.rush36-screenshot-grid img { display: block; width: 100%; height: auto; border-radius: 22px; border: 1px solid rgba(255, 255, 255, .16); }
.rush36-screenshot-grid figcaption { margin-top: 14px; text-align: center; color: #c7cedf; }
.rush36-privacy { background: rgba(7, 25, 91, .22); scroll-margin-top: 100px; }
.rush36-privacy .shell { max-width: 900px; }
.rush36-privacy ul { padding-left: 24px; }
.rush36-privacy li { margin-bottom: 18px; }
@media (max-width: 600px) {
	.rush36-screenshot-grid { grid-template-columns: 1fr; max-width: 320px; margin-inline: auto; }
	.rush36-screens, .rush36-privacy { padding: 44px 0; }
	.rush36-score-explanation { padding: 24px; }
}

/* Save The Chick */
.stc-detail { --stc-gold: #ffc43d; }
.stc-hero { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr); gap: 64px; align-items: center; padding-block: 88px 64px; }
.stc-hero h1 { margin: 18px 0; font-size: clamp(3.1rem, 6.5vw, 6.5rem); letter-spacing: -.06em; line-height: 1.04; }
.stc-hero h1 span { color: var(--stc-gold); }
.stc-icon { display: block; width: 100%; max-width: 340px; height: auto; justify-self: center; }
.stc-tagline { font-size: clamp(1.4rem, 2.5vw, 2rem); color: #fff1b8; }
.stc-status { color: #b4c3d7; font-size: .95rem; max-width: 540px; margin-block: 24px; }
.stc-links { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 24px; }
.stc-links > a:not(.primary-link) { color: #75dcff; }
.stc-overview { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; border-top: 1px solid #263244; padding-block: 48px; }
.stc-overview > p { font-size: 1.4rem; line-height: 1.6; }
.stc-overview ul { padding-left: 22px; line-height: 1.85; }
.stc-gallery { padding-block: 32px 64px; }
.stc-gallery h2, .stc-privacy-summary h2 { font-size: clamp(1.8rem, 3vw, 2.7rem); }
.stc-gallery-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, .8fr); gap: 28px; align-items: start; }
.stc-gallery figure { margin: 0; min-width: 0; }
.stc-gallery img { display: block; width: 100%; height: auto; border: 1px solid #314050; border-radius: 20px; }
.stc-gallery figcaption { margin-top: 12px; color: #b4c3d7; }
.stc-phone { grid-column: 2; grid-row: 1 / span 2; }
.stc-menu { max-width: 480px; }
.stc-privacy-summary { padding-block: 48px 72px; border-top: 1px solid #263244; }
.stc-copyright { margin-top: 32px; color: #b4c3d7; font-size: .95rem; }
.stc-policy { max-width: 940px; padding-block: 72px; overflow-wrap: anywhere; }
.stc-policy h1 { font-size: clamp(2.1rem, 4.8vw, 4rem); letter-spacing: -.04em; line-height: 1.15; }
.stc-policy section { margin-top: 36px; }
.stc-policy h2 { font-size: 1.45rem; }
.stc-policy p { line-height: 1.8; }
@media (max-width: 760px) {
	.stc-hero { grid-template-columns: 1fr; gap: 36px; padding-top: 52px; }
	.stc-icon { max-width: 230px; }
	.stc-overview { grid-template-columns: 1fr; gap: 16px; }
	.stc-gallery-grid { grid-template-columns: 1fr; }
	.stc-phone { grid-column: auto; grid-row: auto; max-width: 360px; justify-self: center; }
	.stc-menu { max-width: none; }
}
