:root {
	--ink: #041a33;
	--ink-soft: #17334f;
	--blue: #078fdf;
	--blue-bright: #27b7ff;
	--silver: #8e959d;
	--silver-light: #dce1e5;
	--paper: #f7f9fb;
	--white: #ffffff;
	--line: rgba(4, 26, 51, 0.14);
	--line-dark: rgba(255, 255, 255, 0.16);
	--shadow: 0 28px 80px rgba(4, 26, 51, 0.13);
	--radius: 1.35rem;
	--container: 76rem;
	--header-height: 5.25rem;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: Inter, Aptos, "Segoe UI", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

body.menu-open {
	overflow: hidden;
}

img,
svg {
	display: block;
	max-width: 100%;
}

a {
	color: inherit;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.2em;
}

button,
input,
select,
textarea {
	font: inherit;
}

button,
a {
	-webkit-tap-highlight-color: transparent;
}

:focus-visible {
	outline: 3px solid var(--blue-bright);
	outline-offset: 4px;
}

::selection {
	background: var(--blue);
	color: var(--white);
}

.screen-reader-text,
.skip-link {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
	word-wrap: normal;
}

.skip-link:focus {
	clip: auto;
	clip-path: none;
	height: auto;
	left: 1rem;
	padding: 0.8rem 1rem;
	top: 1rem;
	width: auto;
	z-index: 9999;
	background: var(--white);
	color: var(--ink);
	border-radius: 0.5rem;
	box-shadow: var(--shadow);
}

.container {
	width: min(calc(100% - 3rem), var(--container));
	margin-inline: auto;
}

.section {
	position: relative;
	padding: clamp(5.5rem, 9vw, 9rem) 0;
	scroll-margin-top: var(--header-height);
}

.section-kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	margin: 0 0 1.1rem;
	color: var(--blue);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.17em;
	line-height: 1.2;
	text-transform: uppercase;
}

.section-kicker::before {
	width: 2rem;
	height: 1px;
	background: currentColor;
	content: "";
}

.section-title {
	max-width: 13ch;
	margin: 0;
	font-size: clamp(2.35rem, 5.5vw, 5.5rem);
	font-weight: 550;
	letter-spacing: -0.055em;
	line-height: 0.98;
}

.section-intro {
	max-width: 46rem;
	margin: 1.7rem 0 0;
	color: var(--ink-soft);
	font-size: clamp(1.06rem, 1.5vw, 1.24rem);
}

.site-header {
	position: fixed;
	inset: 0 0 auto;
	z-index: 1000;
	background: rgba(247, 249, 251, 0.9);
	border-bottom: 1px solid transparent;
	backdrop-filter: blur(18px);
	transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.site-header.is-scrolled {
	background: rgba(255, 255, 255, 0.94);
	border-color: var(--line);
	box-shadow: 0 8px 34px rgba(4, 26, 51, 0.06);
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: var(--header-height);
	gap: 2rem;
}

.brand-link {
	display: inline-flex;
	align-items: center;
	width: clamp(10.5rem, 16vw, 14.2rem);
	text-decoration: none;
}

.brand-link img {
	width: 100%;
	height: auto;
}

.brand-link .custom-logo {
	max-height: 3.25rem;
	width: auto;
}

.header-actions,
.site-nav,
.site-nav ul,
.language-switcher {
	display: flex;
	align-items: center;
}

.site-nav ul {
	margin: 0;
	padding: 0;
	gap: clamp(1rem, 2vw, 2rem);
	list-style: none;
}

.site-nav a {
	position: relative;
	font-size: 0.88rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-decoration: none;
}

.site-nav a::after {
	position: absolute;
	right: 0;
	bottom: -0.45rem;
	left: 0;
	height: 2px;
	background: var(--blue);
	content: "";
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 180ms ease;
}

.site-nav a:hover::after,
.site-nav a:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left;
}

.header-actions {
	gap: 1.25rem;
}

.language-switcher {
	gap: 0.2rem;
	padding: 0.2rem;
	border: 1px solid var(--line);
	border-radius: 999px;
}

.language-switcher a {
	display: grid;
	min-width: 2rem;
	height: 2rem;
	place-items: center;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-decoration: none;
}

.language-switcher a[aria-current="page"] {
	background: var(--ink);
	color: var(--white);
}

.language-menu {
	position: relative;
}

.language-menu summary {
	display: grid;
	min-width: 2.8rem;
	height: 2.4rem;
	padding: 0 0.7rem;
	place-items: center;
	border: 1px solid var(--line);
	border-radius: 3px;
	background: var(--white);
	cursor: pointer;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	list-style: none;
}

.language-menu summary::-webkit-details-marker {
	display: none;
}

.language-menu[open] summary,
.language-menu summary:hover {
	border-color: var(--ink);
}

.language-options {
	position: absolute;
	top: calc(100% + 0.6rem);
	right: 0;
	display: grid;
	width: 12.5rem;
	padding: 0.45rem;
	border: 1px solid var(--line);
	border-radius: 3px;
	background: var(--white);
	box-shadow: 0 18px 45px rgba(4, 26, 51, 0.14);
}

.language-options a {
	display: grid;
	grid-template-columns: 2.4rem 1fr;
	gap: 0.6rem;
	align-items: center;
	padding: 0.68rem 0.75rem;
	color: var(--ink);
	font-size: 0.78rem;
	text-decoration: none;
}

.language-options a span {
	color: var(--blue);
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.language-options a:hover,
.language-options a[aria-current="page"] {
	background: var(--mist);
}

.menu-toggle {
	display: none;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	background: transparent;
	border: 1px solid var(--line);
	border-radius: 50%;
	cursor: pointer;
}

.menu-toggle span,
.menu-toggle::before,
.menu-toggle::after {
	display: block;
	width: 1rem;
	height: 1px;
	margin: 0 auto;
	background: var(--ink);
	content: "";
	transition: transform 180ms ease, opacity 180ms ease;
}

.menu-toggle span {
	margin-block: 0.28rem;
}

.menu-toggle[aria-expanded="true"] span {
	opacity: 0;
}

.menu-toggle[aria-expanded="true"]::before {
	transform: translateY(0.34rem) rotate(45deg);
}

.menu-toggle[aria-expanded="true"]::after {
	transform: translateY(-0.34rem) rotate(-45deg);
}

.hero {
	display: grid;
	min-height: 100svh;
	padding: calc(var(--header-height) + 4rem) 0 4rem;
	align-items: center;
	overflow: hidden;
}

.hero::before {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(rgba(4, 26, 51, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(4, 26, 51, 0.045) 1px, transparent 1px);
	background-size: 4rem 4rem;
	mask-image: linear-gradient(to bottom, transparent 2%, #000 28%, transparent 94%);
	content: "";
}

.hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(23rem, 0.88fr);
	gap: clamp(3rem, 7vw, 7rem);
	align-items: center;
}

.hero-copy {
	position: relative;
	z-index: 2;
}

.hero-eyebrow {
	margin: 0 0 1.5rem;
	color: var(--blue);
	font-size: 0.76rem;
	font-weight: 850;
	letter-spacing: 0.18em;
}

.hero-title {
	max-width: 10.5ch;
	margin: 0;
	font-size: clamp(3.45rem, 7.4vw, 7.4rem);
	font-weight: 520;
	letter-spacing: -0.07em;
	line-height: 0.88;
}

.hero-title span {
	color: var(--blue);
}

.hero-body {
	max-width: 41rem;
	margin: 2rem 0 0;
	color: var(--ink-soft);
	font-size: clamp(1.08rem, 1.5vw, 1.3rem);
}

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-top: 2.5rem;
}

.button {
	display: inline-flex;
	min-height: 3.35rem;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	padding: 0.75rem 1.35rem;
	border: 1px solid var(--ink);
	border-radius: 999px;
	font-size: 0.9rem;
	font-weight: 750;
	text-decoration: none;
	transition: background 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.button::after {
	content: "↗";
	font-size: 1.05rem;
}

.button:hover {
	transform: translateY(-2px);
}

.button-primary {
	background: var(--ink);
	color: var(--white);
}

.button-primary:hover {
	background: var(--blue);
	border-color: var(--blue);
}

.button-secondary {
	background: transparent;
}

.button-secondary:hover {
	background: var(--white);
}

.hero-system {
	position: relative;
	min-height: 34rem;
	aspect-ratio: 1 / 1;
	border: 1px solid var(--line);
	border-radius: 50%;
	background:
		radial-gradient(circle at center, rgba(7, 143, 223, 0.11), transparent 19%),
		repeating-radial-gradient(circle at center, transparent 0 17%, rgba(4, 26, 51, 0.09) 17.2% 17.4%, transparent 17.6% 25%);
}

.hero-system::before,
.hero-system::after {
	position: absolute;
	inset: 12%;
	border: 1px dashed rgba(7, 143, 223, 0.45);
	border-radius: 50%;
	content: "";
	animation: orbit 28s linear infinite;
}

.hero-system::after {
	inset: 25%;
	border-style: solid;
	border-color: rgba(4, 26, 51, 0.16);
	animation-direction: reverse;
	animation-duration: 20s;
}

.system-core {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	width: 7.8rem;
	height: 7.8rem;
	place-items: center;
	transform: translate(-50%, -50%);
	background: var(--ink);
	border-radius: 50%;
	box-shadow: 0 0 0 0.7rem rgba(7, 143, 223, 0.12), 0 20px 55px rgba(4, 26, 51, 0.28);
	color: var(--white);
	font-size: 0.8rem;
	font-weight: 900;
	letter-spacing: 0.25em;
}

.system-node {
	position: absolute;
	display: flex;
	align-items: center;
	gap: 0.55rem;
	font-size: 0.65rem;
	font-weight: 850;
	letter-spacing: 0.14em;
}

.system-node::before {
	width: 0.6rem;
	height: 0.6rem;
	background: var(--blue);
	border: 3px solid var(--white);
	border-radius: 50%;
	box-shadow: 0 0 0 1px var(--blue);
	content: "";
}

.system-node:nth-of-type(2) { top: 13%; left: 46%; }
.system-node:nth-of-type(3) { top: 46%; right: 2%; }
.system-node:nth-of-type(4) { bottom: 12%; left: 43%; }
.system-node:nth-of-type(5) { top: 48%; left: 2%; }

@keyframes orbit {
	to { transform: rotate(360deg); }
}

.vision-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: clamp(3rem, 8vw, 9rem);
	align-items: start;
}

.vision-copy {
	padding-top: 0.35rem;
}

.vision-copy p {
	margin: 0;
	color: var(--ink-soft);
	font-size: clamp(1.15rem, 2vw, 1.55rem);
	line-height: 1.55;
}

.vision-quote {
	margin: 3rem 0 0;
	padding: 2rem 0 0;
	border-top: 1px solid var(--line);
	font-size: clamp(1.5rem, 2.6vw, 2.45rem);
	font-weight: 540;
	letter-spacing: -0.035em;
	line-height: 1.2;
}

.focus-section {
	background: var(--ink);
	color: var(--white);
	overflow: hidden;
}

.focus-section::after {
	position: absolute;
	top: -22rem;
	right: -20rem;
	width: 46rem;
	height: 46rem;
	background: radial-gradient(circle, rgba(7, 143, 223, 0.27), transparent 68%);
	content: "";
	pointer-events: none;
}

.focus-section .section-intro {
	color: rgba(255, 255, 255, 0.72);
}

.focus-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: clamp(3rem, 6vw, 6rem);
	border-top: 1px solid var(--line-dark);
	border-left: 1px solid var(--line-dark);
}

.focus-card {
	min-height: 20rem;
	padding: clamp(2rem, 4vw, 3.5rem);
	border-right: 1px solid var(--line-dark);
	border-bottom: 1px solid var(--line-dark);
	transition: background 220ms ease;
}

.focus-card:hover {
	background: rgba(255, 255, 255, 0.055);
}

.focus-number {
	display: block;
	margin-bottom: 4rem;
	color: var(--blue-bright);
	font-size: 0.76rem;
	font-weight: 850;
	letter-spacing: 0.16em;
}

.focus-card h3 {
	max-width: 15ch;
	margin: 0;
	font-size: clamp(1.55rem, 3vw, 2.7rem);
	font-weight: 520;
	letter-spacing: -0.04em;
	line-height: 1.08;
}

.focus-card p {
	max-width: 34rem;
	margin: 1.25rem 0 0;
	color: rgba(255, 255, 255, 0.67);
}

.method-layout {
	display: grid;
	grid-template-columns: minmax(18rem, 0.7fr) minmax(0, 1.3fr);
	gap: clamp(4rem, 10vw, 11rem);
}

.method-header {
	position: sticky;
	top: calc(var(--header-height) + 3rem);
	align-self: start;
}

.method-list {
	counter-reset: method;
}

.method-step {
	display: grid;
	grid-template-columns: 3.5rem 1fr;
	gap: 1.25rem;
	padding: 2rem 0;
	border-top: 1px solid var(--line);
	counter-increment: method;
}

.method-step:last-child {
	border-bottom: 1px solid var(--line);
}

.method-step::before {
	color: var(--blue);
	content: "0" counter(method);
	font-size: 0.76rem;
	font-weight: 850;
	letter-spacing: 0.1em;
}

.method-step h3 {
	margin: 0;
	font-size: clamp(1.45rem, 2.2vw, 2.05rem);
	font-weight: 580;
	letter-spacing: -0.035em;
}

.method-step p {
	max-width: 36rem;
	margin: 0.65rem 0 0;
	color: var(--ink-soft);
}

.confidentiality-section {
	padding: 0;
	background: var(--paper);
}

.confidentiality-panel {
	position: relative;
	display: grid;
	grid-template-columns: 0.75fr 1.25fr;
	gap: clamp(2rem, 6vw, 7rem);
	padding: clamp(3rem, 6vw, 6rem);
	overflow: hidden;
	background: linear-gradient(135deg, #06213f, #031426);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	color: var(--white);
}

.confidentiality-panel::after {
	position: absolute;
	right: -7rem;
	bottom: -13rem;
	width: 32rem;
	height: 32rem;
	background: repeating-radial-gradient(circle, transparent 0 8%, rgba(39, 183, 255, 0.14) 8.2% 8.45%, transparent 8.7% 15%);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.confidentiality-label {
	color: var(--blue-bright);
	font-size: 0.76rem;
	font-weight: 850;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.confidentiality-copy {
	position: relative;
	z-index: 1;
}

.confidentiality-copy h2 {
	max-width: 17ch;
	margin: 0;
	font-size: clamp(2rem, 4.4vw, 4.4rem);
	font-weight: 520;
	letter-spacing: -0.05em;
	line-height: 1;
}

.confidentiality-copy p {
	max-width: 46rem;
	margin: 1.6rem 0 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: 1.05rem;
}

.partners-grid {
	display: grid;
	grid-template-columns: 0.8fr 1.2fr;
	gap: clamp(3rem, 8vw, 8rem);
	align-items: end;
}

.partners-copy p {
	margin: 1.5rem 0 0;
	color: var(--ink-soft);
	font-size: 1.1rem;
}

.partner-types {
	display: grid;
	gap: 0;
	border-top: 1px solid var(--line);
}

.partner-type {
	display: grid;
	grid-template-columns: 9rem 1fr;
	gap: 2rem;
	padding: 1.65rem 0;
	border-bottom: 1px solid var(--line);
}

.partner-type h3,
.partner-type p {
	margin: 0;
}

.partner-type h3 {
	font-size: 1rem;
}

.partner-type p {
	color: var(--ink-soft);
}

.contact-section {
	background: #eaf0f5;
}

.contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(26rem, 1.2fr);
	gap: clamp(3rem, 8vw, 8rem);
}

.contact-copy p {
	max-width: 34rem;
	margin: 1.7rem 0 0;
	color: var(--ink-soft);
	font-size: 1.08rem;
}

.contact-form {
	padding: clamp(1.5rem, 4vw, 3rem);
	background: var(--white);
	border: 1px solid rgba(4, 26, 51, 0.08);
	border-radius: var(--radius);
	box-shadow: 0 18px 55px rgba(4, 26, 51, 0.08);
}

.form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

.form-field {
	display: grid;
	gap: 0.5rem;
}

.form-field-full {
	grid-column: 1 / -1;
}

.form-field label,
.form-privacy label {
	font-size: 0.84rem;
	font-weight: 750;
}

.form-field input,
.form-field select,
.form-field textarea {
	width: 100%;
	min-height: 3.2rem;
	padding: 0.78rem 0.9rem;
	background: var(--paper);
	border: 1px solid rgba(4, 26, 51, 0.18);
	border-radius: 0.55rem;
	color: var(--ink);
	transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.form-field textarea {
	min-height: 9rem;
	resize: vertical;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
	background: var(--white);
	border-color: var(--blue);
	box-shadow: 0 0 0 3px rgba(7, 143, 223, 0.12);
	outline: none;
}

.form-privacy {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.75rem;
	margin-top: 1.25rem;
	align-items: start;
}

.form-privacy input {
	width: 1.1rem;
	height: 1.1rem;
	margin-top: 0.22rem;
	accent-color: var(--blue);
}

.contact-form .button {
	margin-top: 1.5rem;
	cursor: pointer;
}

.contact-form .button:disabled {
	cursor: wait;
	opacity: 0.62;
}

.contact-preview .form-status {
	background: #edf6fa;
	color: #0b4f6b;
	font-weight: 500;
}

.contact-preview input:disabled,
.contact-preview select:disabled,
.contact-preview textarea:disabled {
	opacity: 1;
	background: #f1f4f4;
	color: #68777f;
	-webkit-text-fill-color: #68777f;
}

.contact-preview .button:disabled {
	cursor: not-allowed;
}

.contact-preview-note {
	margin: 1.25rem 0 0;
	font-size: 0.82rem;
	color: var(--ink-soft);
}

.form-status {
	margin: 0 0 1.35rem;
	padding: 0.9rem 1rem;
	border-radius: 0.55rem;
	font-weight: 700;
}

.form-status-success {
	background: #e3f6ed;
	color: #075b37;
}

.form-status-error {
	background: #fff0ef;
	color: #982d27;
}

.hp-field {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.site-footer {
	padding: 4.5rem 0 2rem;
	background: #020f1e;
	color: var(--white);
}

.footer-top {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 3rem;
	align-items: start;
	padding-bottom: 4rem;
}

.footer-brand img {
	width: min(27rem, 100%);
	padding: 1rem;
	background: var(--white);
	border-radius: 0.65rem;
}

.footer-brand p {
	margin: 1.2rem 0 0;
	color: rgba(255, 255, 255, 0.65);
}

.footer-nav {
	display: grid;
	grid-template-columns: repeat(2, auto);
	gap: 0.8rem 2.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-nav a {
	font-size: 0.88rem;
	font-weight: 700;
	text-decoration: none;
}

.footer-legal {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1rem 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--line-dark);
	color: rgba(255, 255, 255, 0.58);
	font-size: 0.78rem;
}

.footer-company {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1rem;
}

.footer-company span:not(:last-child)::after {
	margin-left: 1rem;
	content: "·";
}

.content-page {
	min-height: 75vh;
	padding: calc(var(--header-height) + 5rem) 0 6rem;
}

.content-page article {
	max-width: 52rem;
}

.content-page h1 {
	margin: 0 0 2rem;
	font-size: clamp(2.7rem, 6vw, 5.5rem);
	font-weight: 540;
	letter-spacing: -0.055em;
	line-height: 1;
}

.entry-content {
	color: var(--ink-soft);
	font-size: 1.08rem;
}

.entry-content h2,
.entry-content h3 {
	margin-top: 2.5em;
	color: var(--ink);
	letter-spacing: -0.03em;
}

.entry-content a {
	color: var(--blue);
}

.post-list {
	display: grid;
	gap: 0;
	max-width: 58rem;
	margin-top: 4rem;
	border-top: 1px solid var(--line);
}

.post-card {
	padding: 2.5rem 0;
	border-bottom: 1px solid var(--line);
}

.post-card h2 {
	margin: 0.4rem 0 1rem;
	font-size: clamp(1.6rem, 3vw, 2.6rem);
	font-weight: 560;
	letter-spacing: -0.04em;
	line-height: 1.1;
}

.post-card h2 a {
	text-decoration: none;
}

.post-card h2 a:hover {
	color: var(--blue);
}

.post-card p {
	max-width: 44rem;
	margin: 0;
	color: var(--ink-soft);
}

.post-meta {
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.navigation.pagination {
	margin-top: 2.5rem;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.page-numbers {
	display: grid;
	min-width: 2.6rem;
	height: 2.6rem;
	place-items: center;
	border: 1px solid var(--line);
	border-radius: 50%;
	font-weight: 750;
	text-decoration: none;
}

.page-numbers.current,
.page-numbers:hover {
	background: var(--ink);
	border-color: var(--ink);
	color: var(--white);
}

.not-found {
	display: grid;
	min-height: 70vh;
	place-items: center;
	text-align: center;
}

.not-found .code {
	color: var(--blue);
	font-size: 0.8rem;
	font-weight: 900;
	letter-spacing: 0.2em;
}

[data-reveal] {
	opacity: 1;
	transform: none;
	transition: opacity 600ms ease, transform 600ms ease;
}

[data-reveal].is-visible {
	opacity: 1;
	transform: none;
}

@media (max-width: 70rem) {
	.site-nav {
		position: fixed;
		inset: var(--header-height) 0 auto;
		display: block;
		padding: 1.5rem;
		background: rgba(255, 255, 255, 0.98);
		border-bottom: 1px solid var(--line);
		box-shadow: 0 22px 45px rgba(4, 26, 51, 0.09);
		opacity: 0;
		pointer-events: none;
		transform: translateY(-0.75rem);
		transition: opacity 180ms ease, transform 180ms ease;
	}

	.site-nav.is-open {
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}

	.site-nav ul {
		display: grid;
		gap: 0;
	}

	.site-nav li + li {
		border-top: 1px solid var(--line);
	}

	.site-nav a {
		display: block;
		padding: 1rem 0;
		font-size: 1rem;
	}

	.menu-toggle {
		display: block;
	}

	.hero-inner {
		grid-template-columns: 1fr;
	}

	.hero-system {
		width: min(34rem, 85vw);
		min-height: 0;
		margin: 0 auto;
	}
}

@media (max-width: 52rem) {
	.container {
		width: min(calc(100% - 2rem), var(--container));
	}

	.header-actions {
		gap: 0.65rem;
	}

	.vision-grid,
	.method-layout,
	.confidentiality-panel,
	.partners-grid,
	.contact-layout {
		grid-template-columns: 1fr;
	}

	.method-header {
		position: static;
	}

	.focus-grid {
		grid-template-columns: 1fr;
	}

	.focus-card {
		min-height: 0;
	}

	.focus-number {
		margin-bottom: 2.5rem;
	}

	.contact-layout {
		gap: 3rem;
	}

	.footer-top {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 38rem) {
	:root {
		--header-height: 4.6rem;
	}

	.brand-link {
		width: 9.6rem;
	}

	.hero {
		padding-top: calc(var(--header-height) + 3rem);
	}

	.hero-title {
		font-size: clamp(3rem, 16vw, 4.7rem);
	}

	.hero-system {
		width: min(26rem, 92vw);
	}

	.system-node {
		font-size: 0.55rem;
	}

	.form-grid {
		grid-template-columns: 1fr;
	}

	.form-field-full {
		grid-column: auto;
	}

	.partner-type {
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}

	.footer-nav {
		grid-template-columns: 1fr;
	}

	.footer-legal {
		display: grid;
	}

	.footer-company {
		display: grid;
		gap: 0.2rem;
	}

	.footer-company span:not(:last-child)::after {
		display: none;
	}
}

@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;
	}

	[data-reveal] {
		opacity: 1;
		transform: none;
	}
}
.focus-section{color:#071a29!important}.focus-section::after{display:none}.focus-section .section-intro,.focus-card p{color:#455969!important}.focus-card h3{color:#071a29}

.site-header,.site-footer{isolation:isolate}
.brand-link img,.footer-brand img{display:block;background:transparent;filter:brightness(1.02);mix-blend-mode:multiply}
.footer-brand>a{display:inline-block;max-width:100%;vertical-align:top}
.footer-brand img{width:18rem;max-width:100%;height:auto;border-radius:0;padding:0}
.footer-brand p{max-width:36rem;line-height:1.65}
:root{--ink:#071a29;--ink-soft:#455969;--blue:#00729e;--paper:#f5f6f4;--radius:.35rem;--container:80rem}
body{font-family:"Aptos","Segoe UI",Helvetica,Arial,sans-serif}
.site-header,.site-header.is-scrolled{background:#f5f6f4;backdrop-filter:none;border-color:var(--line)}
.header-inner{min-height:5.7rem}.site-nav a{font-weight:500;letter-spacing:0;font-size:.88rem}
.brand-link{width:12rem}.language-switcher{border-radius:3px}.language-switcher a{border-radius:2px;min-width:2.25rem;min-height:2.25rem}
.hero{background:#06111c;color:#fff;min-height:850px;min-height:min(950px,100svh);padding:11rem 0 7rem;align-content:center}
.hero::before{z-index:1;background:linear-gradient(90deg,rgba(3,13,22,.97),rgba(3,13,22,.77) 35%,rgba(3,13,22,.04) 80%);mask-image:none}
.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center}
.hero-inner{display:block}.hero-copy{max-width:780px}.hero-eyebrow{color:#88dcff;font-weight:600;font-size:.7rem;letter-spacing:.21em}
.hero-title{font-size:clamp(3.4rem,6.4vw,6.6rem);font-weight:400;line-height:1.01;max-width:12ch;letter-spacing:-.057em}
.hero-body{color:#c1cdd6;font-size:1.12rem;max-width:36rem;line-height:1.75}
.button{border-radius:3px;min-height:3.5rem;padding:.85rem 1.3rem;font-weight:600}.hero .button-primary{background:#a6e4fb;color:#071a29;border-color:#a6e4fb}.hero .button-secondary{color:white;background:#09182670;border-color:#82929c}
.hero-baseline{position:absolute;bottom:2.2rem;left:0;right:0;display:flex;justify-content:space-between;z-index:2;border-top:1px solid #ffffff35;padding-top:1rem;font-size:.65rem;letter-spacing:.13em;color:#bfccd6}.hero-baseline a{text-decoration:none;letter-spacing:0;font-size:.8rem}
.discipline-bar{border-bottom:1px solid var(--line);background:#e9eeed}.discipline-bar .container{display:grid;grid-template-columns:repeat(4,1fr)}.discipline-bar span{padding:1.4rem .8rem;text-align:center;font-size:.8rem;border-right:1px solid var(--line)}.discipline-bar span:last-child{border:0}
.section-title{font-weight:400;font-size:clamp(2.4rem,4.2vw,4.4rem);line-height:1.06;max-width:16ch;letter-spacing:-.045em}
.section-kicker{font-size:.68rem;font-weight:650}.section{padding:clamp(4.5rem,8vw,8rem) 0}
.vision-grid{gap:6rem}.vision-copy p{font-size:1.12rem}.vision-quote{font-weight:400}.focus-section{background:#e9eeed}.focus-section .section-title{max-width:22ch}.focus-grid{gap:0;border-top:1px solid #bfcbd1;margin-top:3rem}.focus-card{background:transparent;border:0;border-right:1px solid #bfcbd1;border-bottom:1px solid #bfcbd1;border-radius:0;box-shadow:none;padding:2.4rem 2rem;min-height:230px;transition:background .2s}.focus-card:hover{background:#f6f8f6;transform:none}.focus-card h3{font-size:1.55rem;font-weight:500;letter-spacing:-.03em}.focus-number{font-size:.75rem;background:none;color:var(--blue);width:auto;height:auto;display:block;margin-bottom:2rem}.focus-card p{font-size:.98rem}.focus-section .section-intro{max-width:50rem;font-size:1.05rem}
.film-section{padding-top:6rem;background:#071723;color:#fff;overflow:hidden}.film-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:3rem;padding-bottom:3rem}.film-heading .section-kicker{color:#8edfff;margin-top:.5rem}.film-heading h2{font-size:clamp(2rem,4vw,4rem);font-weight:400;line-height:1.06;letter-spacing:-.04em;max-width:15ch;margin:0}.film-frame{position:relative;max-width:1400px;margin:auto}.film-frame video{width:100%;max-height:610px;object-fit:cover;display:block;background:#071723;clip-path:polygon(1.2% 0,100% 1.6%,98.8% 100%,0 98.2%);animation:oblitech-film-form 14s ease-in-out infinite alternate}.film-control{position:absolute;right:1.25rem;bottom:1.25rem;display:grid;place-items:center;width:2.8rem;height:2.8rem;padding:0;border:1px solid #ffffff70;border-radius:50%;background:#071723c9;color:#fff;font:600 .8rem/1 system-ui;cursor:pointer;backdrop-filter:blur(8px)}.film-control:hover,.film-control:focus-visible{background:#a6e4fb;color:#071a29;border-color:#a6e4fb}.film-control:focus-visible{outline:3px solid #fff;outline-offset:3px}@keyframes oblitech-film-form{0%{clip-path:polygon(1.2% 0,100% 1.6%,98.8% 100%,0 98.2%)}50%{clip-path:polygon(0 1.2%,98.7% 0,100% 98.8%,1.1% 100%)}100%{clip-path:polygon(1% 0,100% .7%,99.2% 100%,0 99%)}}
.method-header .section-title{max-width:13ch}.method-step{border-color:#bdc9ce}.method-step h3{font-weight:500}.confidentiality-panel{border-radius:0;box-shadow:none}.partners-section{background:#f5f6f4}.partner-type{border-radius:0;box-shadow:none;border-width:0 0 1px;background:transparent}.team-teaser{background:#e9eeed;border-block:1px solid var(--line)}.team-teaser .container{display:grid;grid-template-columns:1.2fr 1fr;gap:6rem;align-items:center}.team-teaser p{font-size:1.15rem}.team-teaser .section-kicker{font-size:.68rem}.team-teaser .button{margin-top:1.3rem}.contact-section{background:#071723;color:#fff}.contact-section .section-kicker{color:#85dafa}.contact-copy>p:not(.section-kicker){color:#bdd0da}.contact-form{color:var(--ink);border-radius:4px}.site-footer{background:#e9eeed;color:var(--ink)}.footer-brand p,.footer-legal{color:#52616b}.footer-top{border-color:#bcc9cf}.footer-nav a{color:var(--ink)}
.about-hero{padding-top:11rem;padding-bottom:4rem}.about-hero h1{font-size:clamp(3rem,7vw,7rem);font-weight:400;line-height:1.02;letter-spacing:-.06em;max-width:15ch;margin:0 0 3rem}.about-lead{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem}.about-lead p{font-size:1.25rem;max-width:43rem;margin:0;color:var(--ink-soft)}.about-lead span{font-size:.7rem;white-space:nowrap;letter-spacing:.06em}.about-image{margin:0;position:relative;background:#071723}.about-image img{width:100%;height:450px;object-fit:cover;object-position:center 48%}.about-image figcaption{padding:1rem 2rem;color:#bcd0dc;font-size:.7rem}.team-intro{display:flex;justify-content:space-between;gap:3rem;margin-bottom:4rem}.team-intro .section-title{max-width:14ch}.profile{display:grid;grid-template-columns:1fr 1.5fr;gap:7rem;padding:4rem 0;border-top:1px solid #bdc9ce}.profile-identity h2{font-weight:500;letter-spacing:-.03em;font-size:1.7rem;margin:1.4rem 0 .2rem}.profile-role{color:var(--blue);font-size:.9rem;margin:0}.profile-monogram{height:290px;background:#0a2333;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#9cc9dc}.profile-monogram::before{content:"";position:absolute;inset:22px;border:1px solid #9cc9dc35}.profile-monogram span{font-size:6rem;font-weight:250;letter-spacing:-.08em}.profile-monogram small{position:absolute;bottom:40px;font-size:.6rem;letter-spacing:.28em}.profile-photo{width:100%;height:350px;object-fit:cover}.profile-content{padding-top:1rem}.profile-content h3{font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.04em;font-weight:400;line-height:1.12;max-width:18ch;margin:0 0 2rem}.profile-content>p{font-size:1.1rem;color:var(--ink-soft);line-height:1.85}.expertise-tags{list-style:none;padding:1.2rem 0;display:flex;flex-wrap:wrap;gap:.65rem}.expertise-tags li{border:1px solid #bdc9ce;padding:.45rem .8rem;font-size:.75rem}.profile-links{display:flex;flex-direction:column;gap:.6rem;margin-top:1rem}.profile-links a{font-size:.85rem;color:#006e9d}.principles-section{background:#e9eeed}.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:2rem}.principles-grid article{border-top:1px solid #a5b6bf;padding-top:1.4rem}.principles-grid span{font-size:.75rem;color:var(--blue)}.principles-grid h3{font-size:1.6rem;font-weight:500;line-height:1.2;letter-spacing:-.03em}.principles-grid p{color:var(--ink-soft)}.about-cta{background:#071723;color:#fff}.about-cta .container{display:flex;justify-content:space-between;align-items:center;gap:4rem}.about-cta h2{font-size:clamp(2rem,3.5vw,3.6rem);font-weight:400;letter-spacing:-.04em;line-height:1.12;max-width:22ch;margin:0}.about-cta .button{flex-shrink:0;background:#a6e4fb;color:#071a29;border-color:#a6e4fb}
@media(min-width:1121px){.site-nav a[aria-current="page"]::after{transform:scaleX(1)}}
@media(max-width:1120px){.site-nav{background:#f5f6f4}.hero{min-height:780px}.hero::before{background:linear-gradient(90deg,#030d16e8,#030d1680)}.hero-title{font-size:5.4rem}.vision-grid{gap:3rem}.profile{gap:3rem}.focus-card{padding:2rem 1.5rem}}
@media(max-width:700px){.header-inner{min-height:4.8rem}.brand-link{width:9.2rem}.hero{padding-top:9rem;min-height:800px;min-height:100svh;padding-bottom:7rem}.hero-art{object-position:63% center}.hero::before{background:linear-gradient(90deg,#030d16eb,#030d1699)}.hero-title{font-size:clamp(3.2rem,11vw,4.6rem);max-width:11ch}.hero-body{font-size:1rem;max-width:32rem}.hero-eyebrow{font-size:.59rem;letter-spacing:.12em}.hero-actions{gap:.8rem;margin-top:1.8rem}.hero-baseline{font-size:.52rem}.hero-baseline a{font-size:.65rem}.discipline-bar .container{grid-template-columns:repeat(2,1fr)}.discipline-bar span{font-size:.68rem;padding:1rem .4rem}.discipline-bar span:nth-child(2){border-right:0}.vision-grid,.team-teaser .container,.profile{grid-template-columns:1fr;gap:2rem}.vision-quote{font-size:1.6rem}.film-heading,.team-intro{display:block}.film-heading h2{margin-top:1.5rem}.film-frame video{min-height:260px}.focus-card{border-right:0}.profile-monogram{height:240px}.profile{padding:2.8rem 0}.profile-content{padding-top:0}.team-intro .section-title{margin-top:1rem}.principles-grid{grid-template-columns:1fr;gap:1.5rem}.about-hero{padding-top:8rem}.about-lead{display:block}.about-lead span{display:block;margin-top:2rem}.about-image img{height:300px}.about-cta .container{display:block}.about-cta .button{margin-top:2rem}.section-title{max-width:17ch}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.landing-sidebar .section-kicker{display:block}
.text-link{color:#00678d;font-size:.9rem;text-underline-offset:.3em}.hero-actions .text-link{align-self:center}.focus-card .text-link{display:inline-block;margin-top:1rem}.solution-card h3 a{color:inherit;text-decoration:none}.solution-card h3 a:hover{text-decoration:underline;text-underline-offset:.25em}.service-links{background:#e9eeed}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2rem}.related-grid article{border-top:1px solid #a8bcc6;padding-top:1.5rem}.related-grid h2,.related-grid h3{font-size:1.65rem;line-height:1.25;font-weight:500;letter-spacing:-.025em}.related-grid a{color:var(--ink);text-decoration:none}.related-grid a:hover{text-decoration:underline}.related-grid p{color:var(--ink-soft);font-size:.95rem}.landing-hero{background:#e9eeed;padding-top:8rem;padding-bottom:4rem}.landing-hero h1{max-width:20ch;font-size:clamp(3rem,5.5vw,5.6rem)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:.55rem;font-size:.72rem;color:var(--ink-soft);margin-bottom:3rem}.breadcrumbs a{color:#00678d}.landing-lead{font-size:1.2rem;color:var(--ink-soft);max-width:47rem;line-height:1.75}.landing-layout{display:grid;grid-template-columns:14rem minmax(0,1fr);gap:6rem;padding-top:5rem;padding-bottom:5rem}.landing-sidebar{align-self:start;position:sticky;top:8rem;font-size:.85rem;color:var(--ink-soft)}.landing-sidebar a{color:#00678d;display:inline-block;margin-bottom:1rem}.landing-body{max-width:55rem;min-width:0}.landing-body>section{border-top:1px solid #c9d3d8;padding-top:1.4rem;margin-bottom:3.2rem}.landing-body h2{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:400;letter-spacing:-.03em;line-height:1.15;margin:0 0 1.5rem}.landing-body p{font-size:1.06rem;line-height:1.85;color:var(--ink-soft)}.landing-outcomes{background:#e9eeed;padding:2rem!important}.landing-outcomes li{margin:.75rem 0}.landing-faq details{border-bottom:1px solid #bdc9ce;padding:1.3rem 0}.landing-faq summary{cursor:pointer;font-weight:600;font-size:1rem;line-height:1.55}.landing-faq details p{font-size:1rem}.research-reference{font-size:.82rem!important}.research-reference a{color:#00678d}.related-section{background:#e9eeed}.related-section .section-title{max-width:22ch}.audience-section{background:#071723;color:#fff}.audience-section .section-title{max-width:22ch}.audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;margin-top:3rem}.audience-card{padding:2rem;border:1px solid #587889;display:flex;justify-content:space-between;gap:1rem;color:#d1effa;text-decoration:none;font-size:1.25rem}.audience-card:hover{background:#123246}.publications-section{background:#e9eeed}.publications-section .section-title{max-width:23ch}.research-summary{display:grid;grid-template-columns:repeat(3,1fr);margin:3.5rem 0 4rem;border-block:1px solid #a8bcc6}.research-summary span{padding:1.4rem 1.5rem;border-right:1px solid #a8bcc6;color:var(--ink-soft);font-size:.82rem}.research-summary span:last-child{border-right:0}.research-summary strong{display:block;color:var(--ink);font-size:2rem;font-weight:450;line-height:1.1}.research-group-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-soft);margin:0}.publication-list{margin:1.5rem 0 3rem}.publication-list article{padding:2rem 0;border-top:1px solid #a8bcc6}.publication-list span,.research-evidence-grid span{font-size:.75rem;color:var(--ink-soft)}.publication-list h3,.research-evidence-grid h3{max-width:50ch;font-size:1.35rem;line-height:1.4;font-weight:500}.publication-list a,.research-evidence-grid a{color:#00678d;text-underline-offset:.25em}.publication-list p,.research-evidence-grid p{font-size:.85rem;color:var(--ink-soft)}.research-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#a8bcc6;border:1px solid #a8bcc6;margin-bottom:1.5rem}.research-evidence-grid article{background:#f5f6f4;padding:2rem}.research-evidence-grid .patent-record{background:#071723;color:white}.research-evidence-grid .patent-record span,.research-evidence-grid .patent-record p{color:#b8cbd5}.research-evidence-grid .patent-record a{color:#a6e4fb}.research-note{max-width:56rem;font-size:.76rem;line-height:1.65;color:var(--ink-soft);margin:0 0 2rem}
@media(max-width:1000px){.landing-layout{grid-template-columns:11rem minmax(0,1fr);gap:2.5rem}.audience-grid{gap:.8rem}.audience-card{padding:1.3rem}}
@media(max-width:700px){.landing-hero{padding-top:7rem}.landing-layout{display:block;padding-top:3rem;padding-bottom:2rem}.landing-sidebar{position:static;margin-bottom:2.5rem}.landing-sidebar>p:last-child{max-width:40rem}.landing-body>section{margin-bottom:2.3rem}.landing-outcomes{padding:1.5rem!important}.related-grid,.audience-grid,.research-evidence-grid{grid-template-columns:1fr;gap:1rem}.breadcrumbs{font-size:.65rem;margin-bottom:2rem}.landing-lead{font-size:1.08rem}.related-grid h2,.related-grid h3{font-size:1.5rem}.landing-body p{font-size:1rem}.research-summary{grid-template-columns:1fr}.research-summary span{border-right:0;border-bottom:1px solid #a8bcc6}.research-summary span:last-child{border-bottom:0}.publication-list h3,.research-evidence-grid h3{font-size:1.17rem}.research-evidence-grid{background:transparent;border:0}.research-evidence-grid article{border:1px solid #a8bcc6}}
.solutions-hero{background:#e9eeed;border-bottom:1px solid #bdc9ce}
.solutions-hero h1{max-width:17ch}.solution-areas .section-title{max-width:24ch}.solution-areas .section-intro{max-width:49rem}
.solution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:3rem;border-top:1px solid #bdc9ce;border-left:1px solid #bdc9ce}
.solution-card{min-width:0;padding:2.5rem 3rem;border-right:1px solid #bdc9ce;border-bottom:1px solid #bdc9ce}.solution-card h3{font-weight:500;font-size:2rem;letter-spacing:-.035em;line-height:1.15;max-width:22ch;overflow-wrap:break-word;hyphens:auto}.solution-card p{color:var(--ink-soft);line-height:1.8}.solution-card .solution-capabilities{font-size:.75rem;line-height:1.7;padding-top:1.3rem;margin-top:1.6rem;border-top:1px solid #d4dce0;color:#00678d}
.development-section{background:#071723;color:#fff}.development-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:start}.development-intro>p{font-size:1.1rem;color:#bdd0da}.development-path{list-style:none;padding:0;margin:4rem 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.development-path li{border-top:1px solid #567180;padding-top:1.3rem}.development-path span{font-size:.75rem;color:#8edfff}.development-path h3{font-size:1.4rem;font-weight:500;margin:1.8rem 0 1rem}.development-path p{color:#bdd0da;font-size:.95rem}
.engagement-section .section-title{max-width:20ch}.engagement-list{margin-top:3rem}.engagement-list article{display:grid;grid-template-columns:1fr 1.3fr;gap:5rem;padding:2rem 0;border-top:1px solid #bdc9ce}.engagement-list h3{font-size:1.7rem;font-weight:500;letter-spacing:-.03em;line-height:1.25;margin:0;max-width:22ch}.engagement-list p{font-size:1.05rem;margin:0;color:var(--ink-soft)}.impact-section{background:#e9eeed}.impact-section p{font-size:1.2rem;color:var(--ink-soft)}.solutions-page .about-cta .section-intro{font-size:1rem;color:#bdd0da;max-width:40rem;margin-bottom:0}
.rd-pathway{background:#071723;color:#fff}.rd-pathway .section-kicker{color:#8edfff}.rd-pathway-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:start}.rd-pathway-intro>p{margin:2rem 0 0;color:#bdd0da;font-size:1.1rem}.rd-pathway-grid{list-style:none;padding:0;margin:4rem 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 2rem;counter-reset:none}.rd-pathway-grid li{display:grid;grid-template-columns:2.5rem 1fr;gap:.8rem;align-items:start;min-height:7rem;padding:1.25rem 0;border-top:1px solid #567180}.rd-pathway-grid span,.rd-stop-gate>span{color:#8edfff;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.rd-pathway-grid strong{font-size:1.05rem;font-weight:560;line-height:1.35}.rd-stop-gate{display:grid;grid-template-columns:1fr 2fr;gap:2rem;margin-top:2rem;padding:2rem;border:1px solid #567180;background:#0d2432}.rd-stop-gate h3{margin:0 0 .7rem;font-size:1.45rem;font-weight:560}.rd-stop-gate p{margin:0;color:#bdd0da;max-width:52rem}
.legal-heading{padding-top:10rem;padding-bottom:3rem;border-bottom:1px solid #bdc9ce}.legal-heading h1{font-size:clamp(3rem,6vw,6rem);font-weight:400;letter-spacing:-.05em;line-height:1.1;margin:1rem 0 1.5rem}.legal-heading>p:last-child{font-size:.85rem;color:var(--ink-soft)}
.legal-layout{display:grid;grid-template-columns:14rem minmax(0,1fr);gap:5rem;padding-top:3rem;padding-bottom:7rem}.legal-nav{display:flex;flex-direction:column;gap:.2rem;align-self:start;position:sticky;top:8rem}.legal-nav a{padding:.8rem 1rem;text-decoration:none;font-size:.9rem;color:var(--ink-soft);border-left:2px solid transparent}.legal-nav a[aria-current]{border-color:#00729e;color:#00678d;background:#e9eeed}.legal-copy{max-width:55rem;min-width:0;color:var(--ink-soft);font-size:1rem;line-height:1.85}.legal-copy section{padding-top:1rem;margin-top:1.8rem;border-top:1px solid #c9d3d8}.legal-copy h2{font-size:1.55rem;letter-spacing:-.02em;line-height:1.3;color:var(--ink);font-weight:500;margin:1.4rem 0}.legal-copy a,.contact-unavailable>a{color:#00678d;text-underline-offset:.22em}.legal-intro{font-size:1.2rem;color:var(--ink)}.legal-draft{padding:1.3rem 1.5rem;background:#fff6df;color:#684512;border:1px solid #d8bf8e;font-size:.9rem;margin-bottom:2rem}.legal-copy p{overflow-wrap:anywhere}.table-scroll{overflow-x:auto;width:100%}.legal-copy table{border-collapse:collapse;width:100%;font-size:.87rem;line-height:1.6;margin:1rem 0}.legal-copy caption{text-align:left;font-weight:600;color:var(--ink);padding-bottom:1rem}.legal-copy th{text-align:left;background:#e9eeed;color:var(--ink);font-weight:600}.legal-copy th,.legal-copy td{padding:1rem;border:1px solid #bdc9ce;vertical-align:top;overflow-wrap:anywhere}.legal-copy td:first-child{min-width:10rem}.contact-unavailable h3{font-weight:500;font-size:1.7rem;line-height:1.3;letter-spacing:-.03em}.contact-unavailable .section-kicker{color:#00678d}.contact-unavailable p{color:var(--ink-soft)}
@media(max-width:1000px){.legal-layout{grid-template-columns:11rem minmax(0,1fr);gap:2rem}.solution-card{padding:2rem}.development-intro,.engagement-list article,.rd-pathway-intro{gap:2.5rem}.development-path,.rd-pathway-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.solution-grid{grid-template-columns:1fr}.solution-card{padding:2rem 1.5rem}.solution-card h3{font-size:1.7rem}.development-intro,.engagement-list article,.rd-pathway-intro,.rd-stop-gate{grid-template-columns:1fr;gap:1rem}.development-path,.rd-pathway-grid{grid-template-columns:1fr;gap:1.3rem}.development-path h3{font-size:1.2rem}.rd-pathway-grid li{min-height:0}.rd-stop-gate{padding:1.4rem}.legal-heading{padding-top:8rem;padding-bottom:2rem}.legal-layout{display:block;padding-top:1.5rem;padding-bottom:4rem}.legal-nav{position:static;flex-direction:row;flex-wrap:wrap;margin-bottom:2rem}.legal-nav a{padding:.65rem .7rem;border-left:0;border-bottom:2px solid transparent}.legal-copy h2{font-size:1.4rem}.legal-copy th,.legal-copy td{padding:.6rem}.legal-copy table{font-size:.8rem}.legal-copy td:first-child{min-width:7rem}.legal-copy table{min-width:430px}.legal-intro{font-size:1.1rem}}
.landing-page h1,.landing-page h2,.landing-page h3{overflow-wrap:break-word;hyphens:none}.landing-page p,.landing-page a{overflow-wrap:anywhere;hyphens:auto}
@media print{.site-header,.site-footer,.legal-nav,.skip-link{display:none}.legal-heading{padding-top:0}.legal-layout{display:block;padding:0}.legal-copy{max-width:none}.legal-copy section{break-inside:avoid}.table-scroll{overflow:visible}.legal-copy table{min-width:0}}


.portfolio-section{background:#e9eeed;color:#071a29;overflow:hidden}
.portfolio-section::after{position:absolute;top:-24rem;right:-22rem;width:48rem;height:48rem;border:1px solid #00729e24;border-radius:50%;box-shadow:0 0 0 5rem #00729e0a,0 0 0 10rem #00729e08;content:"";pointer-events:none}
.portfolio-section .container{position:relative;z-index:1}
.portfolio-section .section-title{max-width:20ch}
.portfolio-section .section-intro{max-width:57rem;color:#455969;font-size:1.05rem}
.portfolio-grid{display:grid;grid-template-columns:minmax(0,1fr);margin-top:3.5rem;border-top:1px solid #afc0c8;border-inline:1px solid #afc0c8}
.portfolio-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2.6fr);grid-template-areas:"heading facts" "link facts";grid-template-rows:1fr auto;gap:1.8rem 2.5rem;min-width:0;padding:2.35rem;border-bottom:1px solid #afc0c8;background:#f5f6f455;transition:background .2s ease}
.portfolio-card:hover{background:#f8f9f7}
.portfolio-card-head{grid-area:heading;min-width:0}
.portfolio-number{color:#00729e;font-size:.72rem;font-weight:700;letter-spacing:.16em}
.portfolio-card h3{max-width:20ch;margin:1.3rem 0 0;font-size:clamp(1.55rem,2vw,2rem);font-weight:450;letter-spacing:-.035em;line-height:1.15;overflow-wrap:break-word}
.portfolio-facts{grid-area:facts;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;margin:0}
.portfolio-facts div{min-width:0;padding:0 1.1rem;border-left:1px solid #c6d1d6}
.portfolio-facts div:last-child{padding-right:0}
.portfolio-facts dt{margin:0 0 .8rem;color:#526771;font-size:.65rem;font-weight:700;letter-spacing:.1em;line-height:1.5;text-transform:uppercase;overflow-wrap:break-word}
.portfolio-facts dd{margin:0;color:#263f4d;font-size:.9rem;line-height:1.6;overflow-wrap:anywhere;hyphens:auto}
.portfolio-card>.text-link{grid-area:link;justify-self:start;align-self:end;margin:0;color:#00678d;font-weight:600}
.portfolio-pipeline{display:grid;grid-template-columns:minmax(10rem,.42fr) minmax(0,1.58fr);gap:2rem;margin-top:1.5rem;padding:1.8rem 2rem;border:1px solid #afc0c8;background:#f5f6f4}
.portfolio-pipeline>p{margin:0;color:#00729e;font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.portfolio-pipeline h3{margin:0 0 .45rem;font-size:1.25rem;font-weight:500;letter-spacing:-.02em}
.portfolio-pipeline div p{max-width:52rem;margin:0;color:#455969;font-size:.9rem;line-height:1.65}


.investor-section{background:#071723;color:#fff}
.investor-panel{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(3rem,8vw,8rem);align-items:start}
.investor-label{display:block;margin-bottom:1.2rem;color:#8edfff;font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.investor-intro h2{max-width:15ch;margin:0;font-size:clamp(2.4rem,4.5vw,4.6rem);font-weight:400;letter-spacing:-.05em;line-height:1.02}
.investor-intro>p{max-width:39rem;margin:1.6rem 0 0;color:#bfd0da;font-size:1.05rem;line-height:1.75}
.investor-intro>.investor-evidence{margin-top:1.15rem;padding-left:1rem;border-left:2px solid #4faacb;color:#d7e6ed;font-size:.88rem;line-height:1.6}
.button-investor{margin-top:2rem;border-color:#a6e4fb;background:#a6e4fb;color:#071a29}
.button-investor:hover{border-color:#fff;background:#fff;color:#071a29}
.investor-access ol{margin:0;padding:0;list-style:none;border-top:1px solid #587889}
.investor-access li{display:grid;grid-template-columns:3.25rem 1fr;gap:1.3rem;padding:1.45rem 0;border-bottom:1px solid #587889}
.investor-access li>span{padding-top:.15rem;color:#8edfff;font-size:.67rem;font-weight:700;letter-spacing:.14em}
.investor-access h3{margin:0;font-size:1.17rem;font-weight:500;letter-spacing:-.015em}
.investor-access li p{margin:.35rem 0 0;color:#aec5d1;font-size:.9rem;line-height:1.55}
.investor-note{margin:1.7rem 0 0;padding-left:1.2rem;border-left:2px solid #8edfff;color:#d7e6ed;font-size:.86rem;line-height:1.65}

@media(max-width:1200px){.portfolio-facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.5rem}.portfolio-facts div:nth-child(even){padding-right:0}}
@media(max-width:900px){.portfolio-card{padding:2rem 1.5rem;gap:1.8rem}.investor-panel{grid-template-columns:1fr;gap:3.5rem}.investor-intro h2{max-width:18ch}}
@media(max-width:700px){.portfolio-grid{margin-top:2.5rem}.portfolio-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "facts" "link";grid-template-rows:auto;gap:1.6rem}.portfolio-card h3{max-width:24ch;font-size:1.75rem;margin-top:.9rem}.portfolio-facts div{padding:0 1rem 0 0;border-left:0}.portfolio-facts div:nth-child(even){padding-left:1rem;border-left:1px solid #c6d1d6}.portfolio-pipeline{grid-template-columns:1fr;gap:.85rem;padding:1.5rem}.investor-access li{grid-template-columns:2.4rem 1fr}.investor-intro>p{font-size:1rem}}
@media(max-width:480px){.portfolio-facts{grid-template-columns:minmax(0,1fr);gap:1.15rem}.portfolio-facts div,.portfolio-facts div:nth-child(even){padding:1.1rem 0 0;border-left:0;border-top:1px solid #c6d1d6}.portfolio-facts dt{margin-bottom:.5rem}.hero-inner,.partners-grid>*,.team-teaser .container>*{min-width:0}.hero-title,.section-title{overflow-wrap:anywhere;hyphens:auto}.section-kicker,.button{max-width:100%}.button{text-align:center}}


.benefit-section{background:#071723;color:#fff}
.benefit-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);gap:clamp(3rem,8vw,8rem);align-items:end}
.benefit-intro .section-kicker{color:#8edfff}.benefit-intro .section-title{max-width:17ch}
.benefit-intro>p{margin:0;color:#c0d2dc;font-size:1.08rem;line-height:1.8}
.benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:4rem 0 0;padding:0;list-style:none;border-top:1px solid #547383;border-left:1px solid #547383}
.benefit-grid li{min-width:0;padding:1.75rem 1.4rem;border-right:1px solid #547383;border-bottom:1px solid #547383}
.benefit-grid span{display:block;margin-bottom:2.2rem;color:#8edfff;font-size:.68rem;font-weight:700;letter-spacing:.16em}
.benefit-grid h3{min-height:0;margin:0 0 1rem;font-size:1.12rem;font-weight:550;line-height:1.3;letter-spacing:-.015em;hyphens:none}
.benefit-grid p{margin:0;color:#b8ccd6;font-size:.86rem;line-height:1.65}
.benefit-closing{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end;margin-top:2rem;padding-left:1.4rem;border-left:2px solid #8edfff}
.benefit-closing p{max-width:55rem;margin:0;color:#e3edf1;line-height:1.7}.benefit-closing small{color:#8da8b5;font-size:.68rem;text-align:right}
.form-captcha{margin-top:1.35rem;min-height:65px}.cf-turnstile{max-width:100%}
@media(max-width:1000px){.benefit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.benefit-intro{gap:3rem}}
@media(max-width:700px){.landing-hero h1{font-size:clamp(2.55rem,11vw,2.9rem)}.benefit-intro,.benefit-closing{grid-template-columns:1fr;gap:1.5rem}.benefit-grid{grid-template-columns:1fr;margin-top:2.8rem}.benefit-grid li:last-child{grid-column:auto}.benefit-grid h3{min-height:0}.benefit-closing small{text-align:left}.film-control{right:.8rem;bottom:.8rem}}


.hero-title .hero-line{display:block;color:inherit;white-space:nowrap;overflow-wrap:normal;hyphens:none}


.team-teaser .team-title-nowrap{max-width:none;font-size:clamp(1.6rem,4vw,4.4rem);overflow-wrap:normal;hyphens:none}
.team-title-nowrap span{display:block;white-space:nowrap}
:root { --header-height: 5.7rem; }
[hidden] { display: none !important; }
html { scroll-padding-top: calc(var(--header-height) + 1rem); }
.section { scroll-margin-top: 0; }
main { min-width: 0; }
.oblitech-no-js .menu-toggle { display: none; }
.oblitech-no-js .site-header { position: static; }

.film-frame video { aspect-ratio: 1536 / 1024; animation: none; }
.film-noscript { margin: 0; padding: 1rem; }

.form-email-alternative { margin: 1rem 0 0; padding-top: 1rem; border-top: 1px solid #d4dce0; font-size: .9rem; line-height: 1.6; color: #455969; }
.form-email-alternative a { color: #00678d; font-weight: 500; text-underline-offset: .2em; overflow-wrap: anywhere; }
.contact-preview-note { margin-top: 1rem; }
.form-help { font-size: .9rem; line-height: 1.55; color: #455969; }
.contact-form input, .contact-form select, .contact-form textarea { font-size: 1rem; }
.landing-toc { display: flex; flex-direction: column; gap: .25rem; margin: 1rem 0 2rem; }
.landing-toc a { padding: .5rem 0; line-height: 1.45; margin: 0; }
.landing-body section[id] { scroll-margin-top: calc(var(--header-height) + 1rem); }
.footer-company { overflow-wrap: anywhere; }

.portfolio-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
.portfolio-card { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.85fr); grid-template-areas: "heading benefit" "reading reading"; grid-template-rows: auto auto; gap: 1.4rem 2.5rem; border-radius: 0; }
.portfolio-card h3 { max-width: none; margin-top: .8rem; font-size: clamp(1.4rem, 2vw, 1.85rem); line-height: 1.3; overflow-wrap: normal; hyphens: none; }
.portfolio-summary { grid-area: benefit; align-self: center; max-width: 52rem; margin: 0; color: #455969; font-size: 1rem; line-height: 1.7; }
.portfolio-reading { grid-area: reading; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem; align-items: start; }
.portfolio-reading > .text-link { display: inline-flex; align-items: center; min-height: 44px; margin: 0; color: #00678d; font-weight: 600; }
.portfolio-details { min-width: 0; }
.portfolio-details summary { padding: .6rem 0; min-height: 44px; width: fit-content; cursor: pointer; font-size: .9rem; color: #00678d; }
.portfolio-details .portfolio-facts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; max-width: 52rem; margin-top: 1rem; }
.portfolio-details .portfolio-facts div, .portfolio-details .portfolio-facts div:nth-child(even) { padding: 0; border: 0; }
.portfolio-details .portfolio-facts dt { margin-bottom: .35rem; }
.portfolio-details .portfolio-facts dd { font-size: .95rem; }
@media(max-width:1120px) {
  .site-nav { max-height: calc(100dvh - var(--header-height)); overflow-y: auto; visibility: hidden; }
  .site-nav.is-open { visibility: visible; }
  .oblitech-no-js .header-inner { flex-wrap: wrap; padding-block: .75rem; }
  .oblitech-no-js .site-nav { position: static; order: 3; width: 100%; opacity: 1; transform: none; visibility: visible; pointer-events: auto; max-height: none; box-shadow: none; padding: .5rem 0; }
  .oblitech-no-js .header-actions { margin-left: auto; }
}
@media(max-width:700px) {
  :root { --header-height: 4.8rem; }
  .portfolio-card { grid-template-columns: minmax(0, 1fr); grid-template-areas: "heading" "benefit" "reading"; gap: 1rem; }
  .portfolio-card h3 { font-size: 1.5rem; }
  .portfolio-reading { grid-template-columns: minmax(0, 1fr); gap: .2rem; }
  .portfolio-reading > .text-link { justify-self: start; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print { .film-section { display: none; } }


.team-portraits { display: flex; flex-wrap: wrap; gap: 1.8rem; margin-bottom: 1.5rem; }
.team-portraits figure { margin: 0; }
.team-avatar { display: block; width: 88px; height: 88px; object-fit: cover; border-radius: 50%; border: 1px solid #bdc9ce; }
.team-portraits figcaption { margin-top: .55rem; font-size: .85rem; color: #455969; }
.profile { grid-template-columns: .85fr 1.65fr; }
.profile-photo { display: block; width: 200px; max-width: 100%; height: 200px; object-fit: cover; border-radius: 3px; }
.film-frame video, .film-poster { aspect-ratio: 16 / 9; width: 100%; height: auto; }
@media(max-width:700px) {
  .profile { grid-template-columns: 1fr; }
  .team-portraits { gap: 1.2rem; }
}


img[data-person="bruno"] { filter: brightness(1.17) contrast(.97); }
.film-frame .film-poster { display: block; max-height: 610px; object-fit: cover; clip-path: polygon(1.2% 0,100% 1.6%,98.8% 100%,0 98.2%); }
.hero-art, .film-poster { animation: none; }
.research-group-title { margin: 0 0 1rem; font-size: .8rem; font-weight: 600; letter-spacing: .1em; }
.publication-list { list-style: none; padding: 0; margin: 0 0 2.5rem; border-bottom: 1px solid #a8bcc6; }
.publication-row { display: grid; grid-template-columns: 4.5rem minmax(0,1fr); gap: 1.4rem; padding: 1.3rem 0; border-top: 1px solid #a8bcc6; }
.publication-list .publication-year, .publication-year { font-size: .95rem; line-height: 1.6; font-weight: 600; color: #455969; }
.publication-content { min-width: 0; }
.publication-content h4 { margin: 0 0 .45rem; max-width: 65ch; font-size: clamp(1.05rem,1.5vw,1.2rem); line-height: 1.45; font-weight: 500; letter-spacing: -.015em; }
.publication-content h4 a { color: #071a29; text-decoration: none; }
.publication-content h4 a:hover { color: #00678d; text-decoration: underline; text-underline-offset: .2em; }
.publication-arrow { color: #00678d; white-space: nowrap; }
.publication-list .publication-journal, .publication-journal { margin: .35rem 0 0; max-width: 75ch; font-size: .85rem; line-height: 1.6; color: #455969; }
.publication-details { margin-top: .35rem; }
.publication-details summary { width: fit-content; min-height: 32px; padding: .3rem 0; font-size: .8rem; color: #00678d; cursor: pointer; }
.publication-details div { padding: .3rem 0 .2rem; }
.publication-details p { margin: .25rem 0; font-size: .8rem; line-height: 1.6; color: #455969; }
.publication-doi { overflow-wrap: anywhere; }
.research-records { margin-bottom: 1.5rem; }
.research-record-group { margin-top: 2rem; }
.research-record-group .publication-row { border-bottom: 1px solid #a8bcc6; }
.publication-content a:focus-visible, .publication-details summary:focus-visible { outline: 2px solid #00678d; outline-offset: 4px; }
@media(max-width:700px) {
 .publication-row { grid-template-columns: minmax(0,1fr); gap: .35rem; padding: 1.2rem 0; }
 .publication-content h4 { font-size: 1.08rem; }
 .publication-details summary { min-height: 44px; padding: .55rem 0; }
 .film-frame .film-poster { min-height: 0; }
}
@media print { .publication-details > div { display: block; } }


.legal-heading h1 { overflow-wrap: anywhere; }
.home-page > .portfolio-section { padding-block: clamp(3.25rem,4.6vw,4.75rem); }
.portfolio-section .section-kicker, .is-technology .section-kicker { font-size: .8rem; line-height: 1.55; letter-spacing: .09em; }
.portfolio-card { padding-block: 1.7rem; gap: 1rem 2.5rem; }
.portfolio-card .portfolio-purpose { margin: .65rem 0 0; font-size: .9rem; line-height: 1.5; color: #00678d; }
.portfolio-pipeline > p, .portfolio-facts dt { font-size: .78rem; letter-spacing: .07em; }
.verification-note { padding-left: 1rem; border-left: 2px solid #00678d; font-size: .95rem; }
@media(max-width:700px) {
 .home-page > .portfolio-section { padding-block: 2.75rem; }
 .portfolio-card { padding: 1.35rem 1.25rem; gap: .85rem; }
 .home-page .portfolio-section .section-title { hyphens: none; }
}
