.marlin-public-page {
	min-width: 0;
	overflow: clip;
	background: var(--marlin-paper);
}

.marlin-page-hero--public {
	position: relative;
	display: block;
	min-height: 0;
	padding-top: 112px;
	overflow: hidden;
	color: var(--marlin-heading);
	background: #f3f4f6;
}

.marlin-page-hero--public::before {
	position: absolute;
	inset: 0;
	content: "";
	background-image: linear-gradient(rgba(15, 26, 61, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(15, 26, 61, .045) 1px, transparent 1px);
	background-size: 52px 52px;
	mask-image: none;
}

.marlin-page-hero--public::after {
	position: absolute;
	top: 96px;
	right: 0;
	left: 0;
	height: 1px;
	content: "";
	background: rgba(217, 119, 6, .7);
}

.marlin-page-hero--public .marlin-page-hero__scrim {
	display: none;
}

.marlin-page-hero--public .marlin-page-hero__content {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: 40px;
	align-items: center;
	padding-block: 80px;
}

.marlin-page-hero--public .marlin-eyebrow {
	margin-bottom: 20px;
}

.marlin-page-hero--public h1 {
	max-width: 900px;
	margin: 0;
	color: var(--marlin-heading);
	font-size: 3.75rem;
	font-weight: 900;
	letter-spacing: -.04em;
	line-height: 60px;
	text-wrap: balance;
}

.marlin-page-hero--public .marlin-page-hero__copy > p:not(.marlin-eyebrow) {
	max-width: 650px;
	margin: 24px 0 0;
	color: #2a2a2a;
	font-size: 1.125rem;
	line-height: 32px;
}

.marlin-page-hero__media-frame {
	position: relative;
	aspect-ratio: 16 / 10;
	border: 1px solid rgba(255, 255, 255, .8);
	border-radius: 12px;
	background: rgba(255, 255, 255, .6);
	box-shadow: 0 12px 34px rgba(15, 26, 61, .12);
}

.marlin-page-hero__media-frame > div {
	position: absolute;
	top: -24%;
	right: 0;
	bottom: -24%;
	left: 0;
	overflow: hidden;
	border-radius: 12px;
}

.marlin-page-hero--public .marlin-page-hero__media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.marlin-page-hero__media-frame span {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 62%, rgba(15, 26, 61, .18));
}

.marlin-public-faq-section {
	padding: clamp(72px, 8vw, 112px) 0;
	background: var(--marlin-surface);
}

.marlin-faq-accordion {
	max-width: 980px;
	margin-inline: auto;
	padding: 0;
	color: var(--marlin-heading);
	background: transparent;
}

.marlin-faq-accordion .marlin-service-faq__items {
	overflow: hidden;
	border: 1px solid #d1d5db;
	border-radius: 12px;
	background: var(--marlin-surface);
}

.marlin-faq-accordion details {
	border-bottom: 1px solid #d1d5db;
}

.marlin-faq-accordion details:last-child {
	border-bottom: 0;
}

.marlin-faq-accordion summary {
	padding: 20px 52px 20px 20px;
	font-size: 1.125rem;
}

.marlin-faq-accordion details p {
	max-width: 760px;
	margin: -4px 0 0;
	padding: 0 20px 24px;
	color: #2a2a2a;
	line-height: 1.75;
}

@media (max-width: 980px) {
	.marlin-page-hero--public .marlin-page-hero__content { grid-template-columns: 1fr; gap: 54px; }
	.marlin-page-hero__media-frame { width: min(100%, 760px); }
}

@media (max-width: 760px) {
	.marlin-page-hero--public { padding-top: 112px; }
	.marlin-page-hero--public::after { top: 96px; }
	.marlin-page-hero--public .marlin-page-hero__content { gap: 38px; padding-block: 56px; }
	.marlin-page-hero--public h1 { font-size: 3rem; line-height: 60px; }
	.marlin-page-hero--public .marlin-page-hero__copy > p:not(.marlin-eyebrow) { font-size: 1.125rem; line-height: 32px; }
	.marlin-page-hero__media-frame > div { top: -12%; bottom: -12%; }
	.marlin-faq-accordion summary { min-height: 64px; padding: 18px 48px 18px 18px; font-size: 1rem; }
	.marlin-faq-accordion details p { padding: 0 18px 22px; }
}

.marlin-public-section {
	padding: 52px 0;
	color: var(--marlin-heading);
	background: var(--marlin-paper);
}

@media (min-width: 768px) {
	.marlin-public-section { padding-block: 76px; }
}

@media (min-width: 1180px) {
	.marlin-public-section { padding-block: 104px; }
}

.marlin-public-section__heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .4fr);
	gap: 36px;
	align-items: end;
	margin-bottom: 44px;
}

.marlin-public-section__heading h2,
.marlin-contact-grid h2,
.marlin-legal-status h2 {
	max-width: 900px;
	margin: 12px 0 0;
	font-family: var(--marlin-display);
	font-size: clamp(2.15rem, 4.5vw, 4.9rem);
	font-weight: 900;
	letter-spacing: -.052em;
	line-height: .98;
}

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

.marlin-public-card-grid article {
	display: grid;
	min-height: 250px;
	grid-template-rows: auto auto 1fr auto;
	gap: 18px;
	padding: 30px;
	border-right: 1px solid var(--marlin-line);
	border-bottom: 1px solid var(--marlin-line);
	background: rgba(255, 255, 255, .82);
}

.marlin-public-card-grid article > span,
.marlin-public-card-grid small {
	color: var(--marlin-orange);
	font-size: .67rem;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.marlin-public-card-grid h3 {
	margin: 0;
	font-family: var(--marlin-display);
	font-size: clamp(1.25rem, 2.3vw, 1.8rem);
	font-weight: 850;
	letter-spacing: -.035em;
	line-height: 1.12;
}

.marlin-public-card-grid p {
	margin: 0;
	color: var(--marlin-muted);
	font-size: .92rem;
	line-height: 1.65;
}

.marlin-public-card-grid article > strong {
	padding-top: 16px;
	border-top: 1px solid var(--marlin-line);
	font-size: .8rem;
	line-height: 1.55;
}

.marlin-company-timeline {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	margin-bottom: clamp(70px, 9vw, 118px);
	border-top: 1px solid var(--marlin-line);
}

.marlin-company-timeline article {
	min-height: 190px;
	padding: 24px 18px;
	border-right: 1px solid var(--marlin-line);
	border-bottom: 1px solid var(--marlin-line);
	background: rgba(255, 255, 255, .68);
}

.marlin-company-timeline strong {
	color: var(--marlin-orange);
	font-family: var(--marlin-display);
	font-size: 2.1rem;
}

.marlin-company-timeline p {
	margin: 28px 0 0;
	font-size: .82rem;
	font-weight: 750;
	line-height: 1.55;
}

.marlin-public-features {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: clamp(70px, 9vw, 118px);
}

.marlin-public-features article {
	min-height: 350px;
	padding: clamp(30px, 5vw, 58px);
	border-radius: 22px;
	background: var(--marlin-surface);
}

.marlin-public-features article:first-child {
	color: #fff;
	background: var(--marlin-navy);
}

.marlin-public-features h2 {
	margin: 30px 0 0;
	font-family: var(--marlin-display);
	font-size: clamp(1.55rem, 3.2vw, 2.8rem);
	letter-spacing: -.04em;
	line-height: 1.15;
}

.marlin-public-section--process .marlin-public-card-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.marlin-public-section--process .marlin-public-card-grid article:nth-child(4n + 2),
.marlin-public-section--process .marlin-public-card-grid article:nth-child(4n + 4) {
	background: var(--marlin-navy);
	color: #fff;
}

.marlin-public-section--process .marlin-public-card-grid article:nth-child(4n + 2) p,
.marlin-public-section--process .marlin-public-card-grid article:nth-child(4n + 4) p {
	color: rgba(255, 255, 255, .65);
}

.marlin-team-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.marlin-team-grid article {
	overflow: hidden;
	border: 1px solid var(--marlin-line);
	border-radius: 18px;
	background: var(--marlin-surface);
	box-shadow: 0 18px 52px rgba(15, 26, 61, .08);
}

.marlin-team-grid img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: top;
	background: var(--marlin-paper);
}

.marlin-team-grid article > div {
	padding: 22px;
	border-top: 1px solid var(--marlin-line);
}

.marlin-team-grid h2 {
	margin: 0;
	font-family: var(--marlin-display);
	font-size: 1.35rem;
	letter-spacing: -.03em;
}

.marlin-team-grid p {
	margin: 8px 0 0;
	color: #a84d13;
	font-size: .82rem;
	font-weight: 750;
	line-height: 1.45;
}

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

.marlin-contact-grid article {
	min-height: 360px;
	padding: 30px;
	border: 1px solid var(--marlin-line);
	border-radius: 22px;
	background: var(--marlin-surface);
	box-shadow: 0 22px 64px rgba(15, 26, 61, .08);
}

.marlin-contact-grid article:last-child {
	color: #fff;
	background: radial-gradient(circle at 82% 10%, rgba(255, 107, 24, .25), transparent 32%), var(--marlin-navy);
}

.marlin-contact-grid h2 {
	font-size: 2rem;
}

.marlin-contact-grid ul {
	display: grid;
	gap: 0;
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
}

.marlin-contact-grid li {
	padding: 16px 0;
	border-top: 1px solid currentColor;
	color: inherit;
	font-size: .86rem;
	font-weight: 650;
	line-height: 1.55;
	opacity: .72;
}

.marlin-legal-directory {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.marlin-legal-directory > a {
	display: grid;
	min-height: 280px;
	grid-template-rows: auto auto 1fr auto;
	gap: 18px;
	padding: 30px;
	border: 1px solid var(--marlin-line);
	border-radius: 14px;
	background: var(--marlin-surface);
	transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.marlin-legal-directory > a:hover,
.marlin-legal-directory > a:focus-visible {
	border-color: var(--marlin-orange);
	box-shadow: 0 24px 70px rgba(15, 26, 61, .1);
	transform: translateY(-3px);
}

.marlin-legal-directory > a > div {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	color: var(--marlin-muted);
	font-size: .7rem;
	font-weight: 850;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.marlin-legal-directory h2 {
	margin: 0;
	font-family: var(--marlin-display);
	font-size: clamp(1.4rem, 2.5vw, 2rem);
	letter-spacing: -.035em;
}

.marlin-legal-directory p,
.marlin-legal-status p {
	margin: 0;
	color: var(--marlin-muted);
	line-height: 1.7;
}

.marlin-legal-directory strong {
	color: #a84d13;
	font-size: .78rem;
}

.marlin-legal-status {
	margin-top: 18px;
	padding: 30px;
	border: 1px solid var(--marlin-line);
	border-radius: 14px;
	background: var(--marlin-surface);
}

.marlin-legal-status h2 {
	font-size: 1.7rem;
}

.marlin-legal-status p {
	margin-top: 16px;
}

.marlin-legal-layout {
	display: grid;
	grid-template-columns: minmax(250px, .78fr) minmax(0, 1.22fr);
	gap: 40px;
	align-items: start;
}

.marlin-legal-layout > aside {
	position: sticky;
	top: 112px;
	padding: 26px;
	border: 1px solid var(--marlin-line);
	border-radius: 12px;
	background: var(--marlin-surface);
}

.marlin-legal-layout dl,
.marlin-legal-layout nav {
	display: grid;
	gap: 14px;
	margin: 16px 0 0;
}

.marlin-legal-layout__aside-group {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--marlin-line);
}

.marlin-legal-layout__aside-group h3 {
	margin: 0;
	color: var(--marlin-muted);
	font-size: .68rem;
	font-weight: 900;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.marlin-legal-layout dl > div {
	display: grid;
	gap: 5px;
}

.marlin-legal-layout dt {
	color: var(--marlin-muted);
	font-size: .68rem;
	font-weight: 800;
}

.marlin-legal-layout dd {
	margin: 0;
	font-size: .8rem;
	font-weight: 750;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.marlin-legal-layout nav {
	gap: 8px;
}

.marlin-legal-layout nav a {
	padding: 10px 12px;
	border-radius: 8px;
	font-size: .77rem;
	font-weight: 800;
}

.marlin-legal-layout nav a[aria-current="page"] {
	color: #fff;
	background: var(--marlin-navy);
}

.marlin-legal-layout article > section {
	padding: 32px 0;
	border-top: 1px solid var(--marlin-line);
}

.marlin-legal-layout article > section:first-child {
	padding-top: 0;
	border-top: 0;
}

.marlin-legal-language-note {
	margin: 0 0 24px;
	padding: 16px 20px;
	border: 1px solid rgba(217, 119, 6, .2);
	border-radius: 8px;
	color: var(--marlin-heading);
	background: #fffbeb;
	font-size: .875rem;
	font-weight: 600;
	line-height: 24px;
}

.marlin-legal-layout article h2 {
	margin: 0;
	font-family: var(--marlin-body);
	font-size: 1.5rem;
	font-weight: 900;
	letter-spacing: normal;
	line-height: 30px;
}

.marlin-legal-layout article p,
.marlin-legal-layout article li {
	color: var(--marlin-heading);
	font-size: 1rem;
	line-height: 2;
}

.marlin-legal-layout article p {
	margin: 16px 0 0;
}

.marlin-legal-layout article ul {
	display: grid;
	gap: 12px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.marlin-legal-layout article li {
	display: flex;
	gap: 12px;
}

.marlin-legal-layout article li::before {
	width: 6px;
	height: 6px;
	flex: 0 0 auto;
	margin-top: 13px;
	border-radius: 50%;
	content: "";
	background: #d97706;
}

@media (min-width: 768px) {
	.marlin-legal-layout article h2 { font-size: 1.875rem; line-height: 36px; }
}

.marlin-routes-geography { padding: 20px 0 24px; color: var(--marlin-heading); background: var(--marlin-surface); }
.marlin-routes-geography__layout { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: 20px; align-items: center; }
.marlin-routes-geography__layout h2 { max-width: 640px; margin: 0; font-family: var(--marlin-display); font-size: clamp(1.9rem,3.3vw,2.35rem); font-weight: 900; letter-spacing: -.04em; line-height: 1.08; }
.marlin-routes-geography__layout > div:first-child > p { margin: 12px 0 0; color: var(--marlin-muted); font-size: .88rem; font-weight: 650; line-height: 1.7; }
.marlin-routes-geography__button { min-height: 40px; margin-top: 16px; padding-inline: 16px; color: #fff; background: var(--marlin-navy); font-size: .78rem; }
.marlin-routes-map { position: relative; aspect-ratio: 2 / 1; overflow: hidden; padding: 8px; border: 1px solid rgba(15,26,61,.08); border-radius: 22px; background: var(--marlin-soft); box-shadow: 0 22px 70px rgba(15,26,61,.08); }
.marlin-routes-map canvas { display: block; width: 100%; height: 100%; border-radius: 18px; background: var(--marlin-surface); }
.marlin-routes-map > p { position: absolute; inset: 0; margin: 0; place-content: center; color: var(--marlin-muted); text-align: center; }
.marlin-routes-types { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-top: 20px; }
.marlin-routes-types article { overflow: hidden; border: 1px solid rgba(15,26,61,.08); border-radius: 18px; background: var(--marlin-surface); box-shadow: 0 12px 34px rgba(15,26,61,.05); }
.marlin-routes-types article > div:first-child { position: relative; height: 144px; overflow: hidden; background: #f1f4f8; }
.marlin-routes-types img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.marlin-routes-types article:hover img { transform: scale(1.05); }
.marlin-routes-types article > div:first-child::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg,rgba(15,26,61,.02),rgba(15,26,61,.46)); }
.marlin-routes-types article > div:first-child span { position: absolute; bottom: 12px; left: 12px; z-index: 1; display: grid; width: 36px; height: 36px; place-items: center; border-radius: 12px; color: var(--marlin-heading); background: var(--marlin-surface); box-shadow: 0 3px 10px rgba(15,26,61,.08); }
.marlin-routes-types article > div:first-child svg { width: 17px; height: 17px; }
.marlin-routes-types article > div:last-child { padding: 12px; }
.marlin-routes-types h3 { margin: 0; font-family: var(--marlin-display); font-size: 1rem; font-weight: 900; }
.marlin-routes-types p { margin: 5px 0 0; color: var(--marlin-muted); font-size: .73rem; font-weight: 650; line-height: 1.45; }

@media (max-width: 1023px) {
	.marlin-routes-geography { padding-block: 24px; }
	.marlin-routes-geography__layout { grid-template-columns: 1fr; }
	.marlin-routes-types { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 767px) {
	.marlin-routes-types { grid-template-columns: 1fr; }
	.marlin-routes-types article > div:first-child { height: 128px; }
}

@media (max-width: 1023px) {
	.marlin-legal-layout { grid-template-columns: 1fr; }
	.marlin-legal-layout > aside { position: static; }
}

@media (max-width: 980px) {
	.marlin-public-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.marlin-public-section--process .marlin-public-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.marlin-company-timeline { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.marlin-team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.marlin-contact-grid { grid-template-columns: 1fr; }
	.marlin-contact-grid article { min-height: 0; }
}

@media (max-width: 760px) {
	.marlin-public-section__heading,
	.marlin-public-features,
	.marlin-legal-directory,
	.marlin-legal-layout { grid-template-columns: 1fr; }
	.marlin-public-card-grid,
	.marlin-public-section--process .marlin-public-card-grid { grid-template-columns: 1fr; }
	.marlin-public-card-grid article { min-height: 0; padding: 24px 20px; }
	.marlin-company-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.marlin-company-timeline article { min-height: 160px; }
	.marlin-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.marlin-legal-layout > aside { position: static; }
}

@media (max-width: 480px) {
	.marlin-company-timeline,
	.marlin-team-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.marlin-legal-directory > a { transition: none; }
	.marlin-legal-directory > a:hover,
	.marlin-legal-directory > a:focus-visible { transform: none; }
}

/* Ordinary-site parity: company, team, barriers, process, cases and contacts. */
.marlin-company-page,
.marlin-team-page,
.marlin-barriers-page,
.marlin-process-page,
.marlin-cases-page,
.marlin-contacts-page {
	min-width: 0;
	overflow: clip;
	color: var(--marlin-heading);
	background: var(--marlin-surface);
}

.marlin-company-history,
.marlin-team,
.marlin-cases,
.marlin-contacts {
	padding: calc(var(--marlin-header-height, 86px) + clamp(64px, 7vw, 104px)) 0 clamp(72px, 8vw, 112px);
}

.marlin-company-history { padding: 104px 0; }

.marlin-company-timeline {
	gap: 16px;
	margin-top: 9px;
	margin-bottom: 56px;
	border-top: 0;
}

.marlin-company-timeline article {
	min-height: 0;
	padding: 20px 0;
	border-top: 1px solid var(--marlin-line);
	border-bottom: 1px solid var(--marlin-line);
	border-right: 0;
	background: transparent;
}

.marlin-company-timeline strong { font-size: clamp(2rem, 3vw, 2.55rem); }
.marlin-company-timeline p { margin-top: 16px; }

.marlin-company-features {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
}

.marlin-company-features article {
	min-height: 0;
	padding: 32px;
	border: 1px solid var(--marlin-line);
	border-radius: 12px;
	background: var(--marlin-paper);
}

.marlin-company-features article.is-dark { color: #fff; background: var(--marlin-navy); }
.marlin-company-features article > p:last-child {
	margin: 20px 0 0;
	font-family: var(--marlin-display);
	font-size: 1.5rem;
	font-weight: 800;
	line-height: 1.5;
}

.marlin-company-values { padding: 104px 0; background: var(--marlin-paper); }
.marlin-company-values__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }
.marlin-company-values__grid article {
	min-height: 0;
	padding: 20px;
	border: 1px solid var(--marlin-line);
	border-radius: 12px;
	background: var(--marlin-surface);
	box-shadow: 0 14px 40px rgba(15, 26, 61, .06);
}
.marlin-company-values__grid h2 { margin: 0; font-family: var(--marlin-display); font-size: 1.25rem; letter-spacing: -.03em; }
.marlin-company-values__grid p { margin: 14px 0 0; color: var(--marlin-muted); font-size: .86rem; line-height: 1.65; }
.marlin-company-geography { margin-top: 48px; padding: 32px; border: 1px solid var(--marlin-line); border-radius: 12px; background: var(--marlin-surface); }
.marlin-company-geography h2 { margin: 20px 0 0; font-family: var(--marlin-display); font-size: 2.25rem; font-weight: 900; letter-spacing: -.04em; line-height: 1.1; }
.marlin-company-geography .marlin-button { margin-top: 32px; color: #fff; background: var(--marlin-navy); box-shadow: 0 14px 32px rgba(15,26,61,.16); }

.marlin-team__heading { display: grid; grid-template-columns: minmax(240px, .45fr) minmax(0, 1fr); gap: 32px; align-items: end; margin-bottom: 40px; }
.marlin-team__heading h1,
.marlin-cases > .marlin-shell > h1,
.marlin-barriers h1,
.marlin-process-heading h1,
.marlin-process-heading h2,
.marlin-process-statuses h2 {
	margin: 10px 0 0;
	font-family: var(--marlin-display);
	font-size: clamp(2.3rem, 4.6vw, 4rem);
	font-weight: 900;
	letter-spacing: -.05em;
	line-height: 1.04;
}
.marlin-team__heading > p { max-width: 760px; margin: 0; color: var(--marlin-muted); font-size: 1.1rem; line-height: 1.75; }
.marlin-team-grid article { transition: transform .5s cubic-bezier(.16,1,.3,1), box-shadow .5s ease; }
.marlin-team-grid article:hover { box-shadow: 0 26px 72px rgba(15, 26, 61, .12); transform: translateY(-4px); }
.marlin-team-grid img { transition: transform .5s cubic-bezier(.16,1,.3,1); }
.marlin-team-grid article:hover img { transform: scale(1.03); }

.marlin-barriers { position: relative; padding: calc(var(--marlin-header-height, 86px) + clamp(64px, 7vw, 104px)) 0 clamp(76px, 8vw, 112px); background: var(--marlin-soft); }
.marlin-barriers::before { position: absolute; inset: 0 0 auto; height: 1px; content: ""; background: #dfe6f5; }
.marlin-barriers__layout { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 40px; align-items: center; }
.marlin-barriers__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.marlin-barriers__grid article {
	position: relative;
	min-height: 192px;
	overflow: hidden;
	padding: 22px;
	border: 1px solid rgba(15, 26, 61, .08);
	border-radius: 20px;
	outline: 0;
	background: var(--marlin-surface);
	box-shadow: 0 14px 44px rgba(15, 26, 61, .06);
	transition: transform .5s cubic-bezier(.16,1,.3,1), box-shadow .5s ease, border-color .5s ease;
}
.marlin-barriers__grid article::after { position: absolute; inset: auto 0 0; height: 4px; content: ""; background: var(--marlin-orange); transition: height .5s cubic-bezier(.16,1,.3,1); }
.marlin-barriers__icon { position: absolute; top: 20px; right: 20px; display: grid; width: 78px; height: 78px; place-items: center; border-radius: 22px; color: rgba(255, 122, 26, .34); background: #fff7ed; transition: opacity .5s ease, transform .5s ease; }
.marlin-barriers__icon svg { width: 38px; height: 38px; }
.marlin-barriers__grid h2 { position: absolute; right: 100px; bottom: 26px; left: 22px; margin: 0; font-family: var(--marlin-display); font-size: 1.22rem; font-weight: 900; line-height: 1.18; transition: transform .5s cubic-bezier(.16,1,.3,1); }
.marlin-barriers__grid p { position: absolute; right: 22px; bottom: 26px; left: 22px; margin: 0; color: var(--marlin-muted); font-size: .84rem; font-weight: 650; line-height: 1.55; opacity: 0; transform: translateY(24px); transition: opacity .5s ease, transform .5s cubic-bezier(.16,1,.3,1); }
.marlin-barriers__grid article:hover,
.marlin-barriers__grid article:focus-visible { border-color: rgba(15, 26, 61, .14); box-shadow: 0 22px 70px rgba(15, 26, 61, .1); transform: translateY(-4px); }
.marlin-barriers__grid article:hover::after,
.marlin-barriers__grid article:focus-visible::after { height: 8px; }
.marlin-barriers__grid article:hover .marlin-barriers__icon,
.marlin-barriers__grid article:focus-visible .marlin-barriers__icon { opacity: 0; transform: scale(.9); }
.marlin-barriers__grid article:hover h2,
.marlin-barriers__grid article:focus-visible h2 { transform: translateY(-84px); }
.marlin-barriers__grid article:hover p,
.marlin-barriers__grid article:focus-visible p { opacity: 1; transform: translateY(0); }

.marlin-process-trajectory,
.marlin-process-statuses { position: relative; color: #fff; background: var(--marlin-navy); }
.marlin-process-trajectory { padding: calc(var(--marlin-header-height, 86px) + 24px) 0 24px; }
.marlin-process-trajectory__grid { position: absolute; inset: 0; opacity: .24; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 52px 52px; }
.marlin-process-trajectory > .marlin-shell { position: relative; }
.marlin-process-heading { display: flex; justify-content: space-between; gap: 32px; align-items: end; }
.marlin-process-heading > p { max-width: 560px; margin: 0; color: rgba(255,255,255,.68); font-size: .9rem; font-weight: 650; line-height: 1.65; }
.marlin-process-trajectory__scroller { display: flex; gap: 12px; margin-top: 28px; padding: 0 30px 14px 0; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-color: rgba(255,255,255,.32) transparent; }
.marlin-process-trajectory__scroller article { position: relative; display: flex; width: 292px; min-height: 278px; flex: 0 0 auto; flex-direction: column; padding: 20px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(255,255,255,.07); box-shadow: 0 18px 54px rgba(0,0,0,.18); scroll-snap-align: start; backdrop-filter: blur(18px); transition: transform .3s ease, background .3s ease; }
.marlin-process-trajectory__scroller article:hover { background: rgba(255,255,255,.1); transform: translateY(-4px); }
.marlin-process-trajectory__scroller article > span { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid #85d6aa; border-radius: 50%; font-weight: 900; box-shadow: 0 0 24px rgba(133,214,170,.18); }
.marlin-process-trajectory__scroller h2 { margin: 30px 0 0; font-family: var(--marlin-display); font-size: 1.45rem; line-height: 1.12; }
.marlin-process-trajectory__scroller p { margin: 14px 0 0; color: rgba(255,255,255,.68); font-size: .85rem; font-weight: 650; line-height: 1.55; }
.marlin-process-trajectory__detail { max-width: 760px; margin: 4px 0 0; color: rgba(255,255,255,.62); font-size: .85rem; font-weight: 650; line-height: 1.65; }
.marlin-process-map { padding: clamp(72px, 8vw, 112px) 0; background: var(--marlin-surface); }
.marlin-process-map .marlin-process-heading > p { color: var(--marlin-muted); }
.marlin-process-map__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin: 30px 0 0; padding: 0; list-style: none; }
.marlin-process-map__grid article { position: relative; display: flex; min-height: 206px; flex-direction: column; padding: 18px; overflow: hidden; border: 1px solid rgba(15,26,61,.08); border-radius: 16px; outline: 0; background: var(--marlin-paper); box-shadow: 0 12px 34px rgba(15,26,61,.055); transition: transform .45s ease, background .45s ease, box-shadow .45s ease; }
.marlin-process-map__grid article::after { position: absolute; inset: auto 0 0; height: 4px; content: ""; background: var(--marlin-orange); transition: height .45s ease; }
.marlin-process-map__grid article > span { color: rgba(15,26,61,.32); font-family: var(--marlin-display); font-size: 3rem; font-weight: 900; line-height: 1; transition: opacity .45s ease, transform .45s ease; }
.marlin-process-map__grid h3 { margin: auto 0 0; font-family: var(--marlin-display); font-size: 1.05rem; font-weight: 900; line-height: 1.2; transition: transform .45s ease; }
.marlin-process-map__grid p { max-height: 0; margin: 0; overflow: hidden; color: var(--marlin-muted); font-size: .75rem; font-weight: 650; line-height: 1.55; opacity: 0; transform: translateY(12px); transition: max-height .45s ease, margin .45s ease, opacity .45s ease, transform .45s ease; }
.marlin-process-map__grid article:hover,
.marlin-process-map__grid article:focus-visible { background: var(--marlin-surface); box-shadow: 0 18px 54px rgba(15,26,61,.09); transform: translateY(-3px); }
.marlin-process-map__grid article:hover::after,
.marlin-process-map__grid article:focus-visible::after { height: 8px; }
.marlin-process-map__grid article:hover > span,
.marlin-process-map__grid article:focus-visible > span { opacity: 0; transform: translateY(-8px) scale(.94); }
.marlin-process-map__grid article:hover h3,
.marlin-process-map__grid article:focus-visible h3 { transform: translateY(-4px); }
.marlin-process-map__grid article:hover p,
.marlin-process-map__grid article:focus-visible p { max-height: 120px; margin-top: 12px; opacity: 1; transform: translateY(0); }
.marlin-process-statuses { padding: clamp(72px, 8vw, 112px) 0; }
.marlin-process-statuses__layout { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 40px; }
.marlin-process-statuses header > p:last-child { margin: 24px 0 0; color: rgba(255,255,255,.7); font-size: 1.05rem; line-height: 1.75; }
.marlin-process-statuses__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.marlin-process-statuses__grid article { min-height: 210px; padding: 24px; border: 1px solid rgba(255,255,255,.12); border-radius: 20px; background: rgba(255,255,255,.06); transition: transform .35s ease, background .35s ease, border-color .35s ease; }
.marlin-process-statuses__grid article:hover { border-color: rgba(252,211,77,.38); background: rgba(255,255,255,.09); transform: translateY(-5px); }
.marlin-process-statuses__grid span { color: var(--marlin-orange); font-size: 2.3rem; font-weight: 900; }
.marlin-process-statuses__grid h3 { margin: 20px 0 0; font-family: var(--marlin-display); font-size: 1.5rem; }
.marlin-process-statuses__grid p { margin: 12px 0 0; color: rgba(255,255,255,.64); font-size: .85rem; line-height: 1.65; }

.marlin-cases { background: var(--marlin-paper); }
.marlin-cases__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; margin-top: 40px; }
.marlin-cases__grid article { padding: 28px 24px; border: 1px solid var(--marlin-line); border-radius: 18px; background: var(--marlin-surface); box-shadow: 0 14px 44px rgba(15,26,61,.07); }
.marlin-cases__grid h2 { margin: 0 0 26px; font-family: var(--marlin-display); font-size: 1.45rem; font-weight: 900; letter-spacing: -.03em; line-height: 1.16; }
.marlin-cases__grid strong { display: block; margin-top: 20px; color: #667085; font-size: .8rem; }
.marlin-cases__grid p { margin: 8px 0 0; color: var(--marlin-muted); font-size: .86rem; line-height: 1.65; }
.marlin-cases__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.marlin-cases__tags span { padding: 7px 12px; border-radius: 999px; color: var(--marlin-heading); background: #eef2ff; font-size: .72rem; font-weight: 800; }

.marlin-contacts { background: var(--marlin-surface); }
.marlin-contact-grid { gap: 16px; }
.marlin-contact-grid article { position: relative; min-height: 340px; padding: 24px; overflow: hidden; border-color: rgba(15,26,61,.08); border-radius: 24px; background: var(--marlin-soft); box-shadow: 0 18px 56px rgba(15,26,61,.08); transition: transform .5s ease, box-shadow .5s ease, background .5s ease; }
.marlin-contact-grid article:hover { background: var(--marlin-surface); box-shadow: 0 24px 70px rgba(15,26,61,.12); transform: translateY(-4px); }
.marlin-contact-grid article:last-child { color: #fff; background: radial-gradient(circle at 80% 10%, rgba(255,122,26,.24), transparent 34%), linear-gradient(135deg, rgba(255,255,255,.08), transparent 52%), var(--marlin-navy); }
.marlin-contact-card__top { display: flex; justify-content: space-between; gap: 16px; align-items: start; }
.marlin-contact-card__top > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 16px; color: var(--marlin-orange); background: var(--marlin-surface); box-shadow: 0 12px 30px rgba(15,26,61,.08); }
.marlin-contact-card__top svg { width: 20px; height: 20px; }
.marlin-contact-card__top > small { padding: 7px 12px; border: 1px solid rgba(15,26,61,.08); border-radius: 999px; color: rgba(15,26,61,.46); background: rgba(255,255,255,.72); font-size: .62rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.marlin-contact-grid .marlin-eyebrow { margin-top: 24px; }
.marlin-contact-grid h2 { margin-top: 8px; font-size: 1.55rem; }
.marlin-contact-card__items { margin-top: 20px; border-block: 1px solid rgba(15,26,61,.08); }
.marlin-contact-card__items > div { padding: 16px 0; }
.marlin-contact-card__items > div + div { border-top: 1px solid rgba(15,26,61,.08); }
.marlin-contact-card__items h3 { margin: 0; font-family: var(--marlin-display); font-size: 1rem; font-weight: 900; }
.marlin-contact-card__items p { display: flex; gap: 8px; margin: 8px 0 0; color: var(--marlin-muted); font-size: .82rem; font-weight: 650; line-height: 1.55; }
.marlin-contact-card__items svg { width: 16px; height: 16px; flex: 0 0 auto; margin-top: 3px; color: var(--marlin-orange); }
.marlin-contact-card--connect .marlin-contact-card__top > span { color: #fcd34d; background: rgba(255,255,255,.1); }
.marlin-contact-card--connect .marlin-contact-card__top > small { border-color: rgba(255,255,255,.1); color: rgba(255,255,255,.45); background: rgba(255,255,255,.08); }
.marlin-contact-card--connect > p:not(.marlin-eyebrow) { margin: 12px 0 0; color: rgba(255,255,255,.62); font-size: .82rem; font-weight: 650; line-height: 1.55; }
.marlin-contact-card--connect .marlin-contact-card__operator { color: rgba(255,255,255,.48) !important; font-size: .68rem !important; }
.marlin-contact-card__links { display: grid; gap: 10px; margin-top: 18px; }
.marlin-contact-card__links > * { display: flex; gap: 10px; align-items: start; margin: 0; padding: 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 15px; color: rgba(255,255,255,.78); background: rgba(255,255,255,.08); font-size: .77rem; font-weight: 650; line-height: 1.45; text-decoration: none; }
.marlin-contact-card__links svg { width: 16px; height: 16px; flex: 0 0 auto; color: #fcd34d; }
.marlin-contact-card__links span { display: grid; }
.marlin-contact-card__links small { color: rgba(255,255,255,.42); font-size: .62rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.marlin-contact-map { position: relative; min-height: 460px; margin-top: 24px; overflow: hidden; border: 1px solid rgba(15,26,61,.08); border-radius: 28px; outline: 0; background: var(--marlin-surface); box-shadow: 0 28px 90px rgba(15,26,61,.12); box-sizing: border-box; cursor: pointer; transform: perspective(1000px) rotateX(var(--contact-map-rotate-x, 0deg)) rotateY(var(--contact-map-rotate-y, 0deg)); transform-style: preserve-3d; transition: transform .45s cubic-bezier(.16,1,.3,1); }
.marlin-contact-map > img,
.marlin-contact-map > svg,
.marlin-contact-map__wash { position: absolute; inset: 0; width: 100%; height: 100%; }
.marlin-contact-map > img { object-fit: cover; }
.marlin-contact-map__wash { background: radial-gradient(circle at 48% 42%, transparent 0, rgba(255,255,255,.06) 38%, rgba(255,255,255,.34) 100%), rgba(255,255,255,.24); transition: background-color .45s ease; }
.marlin-contact-map[data-expanded="true"] .marlin-contact-map__wash { background-color: rgba(255,255,255,.08); }
.marlin-contact-map > svg { pointer-events: none; }
.marlin-contact-map__route-shadow,
.marlin-contact-map__route-line { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1700; stroke-dashoffset: 1700; opacity: 0; transition: stroke-dashoffset 1.35s cubic-bezier(.16,1,.3,1), opacity 1.35s cubic-bezier(.16,1,.3,1); }
.marlin-contact-map__route-shadow { stroke: #ecfdf5; stroke-width: 19; }
.marlin-contact-map__route-line { stroke: url(#contact-route-green); stroke-width: 10; }
.marlin-contact-map[data-expanded="true"] .marlin-contact-map__route-shadow { stroke-dashoffset: 0; opacity: .9; }
.marlin-contact-map[data-expanded="true"] .marlin-contact-map__route-line { stroke-dashoffset: 0; opacity: 1; }
.marlin-contact-map__route-marker,
.marlin-contact-map__route-pulse { transform-box: fill-box; transform-origin: center; opacity: 0; transform: scale(.45); }
.marlin-contact-map__route-marker { fill: #22c55e; stroke: #ecfdf5; stroke-width: 8; transition: opacity .5s cubic-bezier(.16,1,.3,1), transform .5s cubic-bezier(.16,1,.3,1); }
.marlin-contact-map__route-pulse { fill: none; stroke: #22c55e; stroke-width: 3; transform: scale(.55); transition: opacity .58s cubic-bezier(.16,1,.3,1), transform .58s cubic-bezier(.16,1,.3,1); }
.marlin-contact-map[data-expanded="true"] .marlin-contact-map__route-marker { opacity: 1; transform: scale(1); transition-delay: .95s; }
.marlin-contact-map[data-expanded="true"] .marlin-contact-map__route-pulse { opacity: .42; transform: scale(1); transition-delay: 1.02s; }
.marlin-contact-map__content { position: relative; z-index: 2; display: flex; min-height: 460px; flex-direction: column; justify-content: space-between; padding: 24px; }
.marlin-contact-map__content > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 14px; color: var(--marlin-heading); background: #34d399; box-shadow: 0 16px 38px rgba(16,185,129,.28); }
.marlin-contact-map__content > span svg { width: 20px; }
.marlin-contact-map__content > small { position: absolute; top: 24px; right: 24px; display: flex; gap: 8px; align-items: center; padding: 7px 12px; border-radius: 999px; color: rgba(15,26,61,.62); background: rgba(255,255,255,.72); font-size: .62rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.marlin-contact-map__content > small i { width: 6px; height: 6px; border-radius: 50%; background: #34d399; }
.marlin-contact-map__content h2 { margin: 0; font-family: var(--marlin-display); font-size: clamp(2rem, 3vw, 2.4rem); font-weight: 900; letter-spacing: -.04em; }
.marlin-contact-map__content p { max-height: 0; margin: 0; overflow: hidden; color: rgba(15,26,61,.58); font-family: monospace; font-size: .85rem; opacity: 0; transition: max-height .35s ease, margin .35s ease, opacity .35s ease; }
.marlin-contact-map[data-expanded="true"] .marlin-contact-map__content p { max-height: 30px; margin-top: 8px; opacity: 1; }
.marlin-contact-map__content a { display: inline-flex; min-height: 42px; gap: 8px; align-items: center; margin-top: 16px; padding: 0 16px; border: 1px solid rgba(15,26,61,.1); border-radius: 12px; color: var(--marlin-heading); background: var(--marlin-surface); font-size: .82rem; font-weight: 900; text-decoration: none; }
.marlin-contact-map__content a svg { width: 16px; }
.marlin-contact-map > aside { position: absolute; right: 22px; bottom: 22px; z-index: 3; width: min(280px, calc(100% - 44px)); padding: 18px; border: 1px solid rgba(255,255,255,.8); border-radius: 20px; color: var(--marlin-heading); background: rgba(255,255,255,.78); box-shadow: 0 22px 60px rgba(15,26,61,.1); backdrop-filter: blur(16px); }
.marlin-contact-map > aside small { display: block; color: rgba(15,26,61,.46); font-size: .62rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.marlin-contact-map > aside strong { display: block; margin-top: 8px; font-family: var(--marlin-display); font-size: 1.1rem; }
.marlin-contact-map > aside p { margin: 8px 0 0; color: rgba(15,26,61,.7); font-size: .76rem; font-weight: 650; line-height: 1.5; }
.marlin-contact-map > aside button { width: 100%; padding: 0; border: 0; color: inherit; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.marlin-contact-map > aside button:focus-visible { outline: 3px solid var(--marlin-orange); outline-offset: 6px; border-radius: 8px; }

html[data-theme="dark"] .marlin-company-page,
html[data-theme="dark"] .marlin-team-page,
html[data-theme="dark"] .marlin-barriers-page,
html[data-theme="dark"] .marlin-cases-page,
html[data-theme="dark"] .marlin-contacts-page,
html[data-theme="dark"] .marlin-company-history,
html[data-theme="dark"] .marlin-process-map,
html[data-theme="dark"] .marlin-contacts { color: #f7f9ff; background: #09132e; }
html[data-theme="dark"] .marlin-company-values,
html[data-theme="dark"] .marlin-cases,
html[data-theme="dark"] .marlin-barriers { color: #f7f9ff; background: #0d1835; }
html[data-theme="dark"] .marlin-company-features article:not(.is-dark),
html[data-theme="dark"] .marlin-company-values__grid article,
html[data-theme="dark"] .marlin-company-geography,
html[data-theme="dark"] .marlin-team-grid article,
html[data-theme="dark"] .marlin-team-grid article > div,
html[data-theme="dark"] .marlin-barriers__grid article,
html[data-theme="dark"] .marlin-process-map__grid article,
html[data-theme="dark"] .marlin-cases__grid article,
html[data-theme="dark"] .marlin-contact-grid article:not(.marlin-contact-card--connect) { color: #f7f9ff; border-color: rgba(255,255,255,.1); background: #111d3d; }
html[data-theme="dark"] .marlin-company-values__grid p,
html[data-theme="dark"] .marlin-team__heading > p,
html[data-theme="dark"] .marlin-barriers__grid p,
html[data-theme="dark"] .marlin-process-map .marlin-process-heading > p,
html[data-theme="dark"] .marlin-process-map__grid p,
html[data-theme="dark"] .marlin-cases__grid p,
html[data-theme="dark"] .marlin-contact-card__items p { color: rgba(255,255,255,.64); }

@media (max-width: 1100px) {
	.marlin-company-values__grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
	.marlin-process-map__grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
}

@media (max-width: 980px) {
	.marlin-company-features,
	.marlin-team__heading,
	.marlin-barriers__layout,
	.marlin-process-statuses__layout { grid-template-columns: 1fr; }
	.marlin-barriers__layout { align-items: start; }
	.marlin-cases__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 760px) {
	.marlin-company-history,
	.marlin-team,
	.marlin-cases,
	.marlin-contacts { padding-top: calc(var(--marlin-header-height, 72px) + 54px); }
	.marlin-company-values__grid { grid-template-columns: 1fr; }
	.marlin-company-values__grid article { min-height: 0; }
	.marlin-barriers__grid,
	.marlin-process-statuses__grid,
	.marlin-cases__grid { grid-template-columns: 1fr; }
	.marlin-process-heading { align-items: start; flex-direction: column; }
	.marlin-process-map__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.marlin-process-map__grid article { min-height: 190px; }
	.marlin-contact-map,
	.marlin-contact-map__content { min-height: 390px; }
	.marlin-contact-map > aside { display: none; }
}

@media (min-width: 1024px) {
	.marlin-contact-map { height: 56dvh; min-height: 390px; }
	.marlin-contact-map__content { height: 100%; min-height: 390px; box-sizing: border-box; }
}

@media (max-width: 480px) {
	.marlin-company-features { grid-template-columns: 1fr; }
	.marlin-company-features article { min-height: 0; }
	.marlin-barriers__grid h2 { right: 88px; }
	.marlin-process-map__grid { grid-template-columns: 1fr; }
	.marlin-process-map__grid article { min-height: 176px; }
}

@media (prefers-reduced-motion: reduce) {
	.marlin-team-grid article,
	.marlin-team-grid img,
	.marlin-barriers__grid article,
	.marlin-barriers__grid h2,
	.marlin-barriers__grid p,
	.marlin-process-trajectory__scroller article,
	.marlin-process-map__grid article,
	.marlin-process-map__grid article > span,
	.marlin-process-map__grid p,
	.marlin-process-statuses__grid article,
	.marlin-contact-map,
	.marlin-contact-map > svg path,
	.marlin-contact-map > svg circle { transition: none; }
}

/* The ordinary process page uses full-screen bookends and a two-column map at md. */
.marlin-process-trajectory { display: flex; min-height: 100svh; align-items: center; }
.marlin-process-page > .marlin-service-consultation { min-height: 100svh; }

@media (min-width: 768px) and (max-width: 1023px) {
	.marlin-process-map__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Route chapters follow the same full-screen rhythm as the ordinary page. */
@media (min-width: 561px) and (max-width: 820px) {
	.marlin-routes-page .marlin-page-hero--public { min-height: 1066px; }
	.marlin-routes-page .marlin-routes-geography { display: flex; min-height: 1209px; align-items: center; }
	.marlin-routes-page > .marlin-service-consultation { min-height: 100svh; }
}

@media (min-width: 821px) {
	.marlin-routes-page .marlin-page-hero--public { min-height: clamp(668px,calc(873px - 14.2vw),728px); }
	.marlin-routes-page .marlin-routes-geography { display: flex; min-height: 100svh; align-items: center; }
}

/* Match Tailwind's sm/lg/xl team-card breakpoints from the ordinary site. */
@media (max-width: 1279px) {
	.marlin-team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1023px) {
	.marlin-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 639px) {
	.marlin-team-grid { grid-template-columns: 1fr; }
}

/* Match the ordinary site's DistributionSection on the brands page. */
.marlin-distribution-section {
	padding: clamp(68px, 8vw, 108px) 0;
	color: var(--marlin-heading);
	background: var(--marlin-surface);
}

.marlin-distribution-section__layout {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
	align-items: center;
}

.marlin-distribution-section__media {
	position: relative;
	aspect-ratio: 16 / 11;
	margin: 0;
	overflow: hidden;
	border: 1px solid #d1d5db;
	border-radius: 12px;
	background: #f3f4f6;
	box-shadow: 0 12px 34px rgba(15, 26, 61, .12);
}

.marlin-distribution-section__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s cubic-bezier(.16, 1, .3, 1);
}

.marlin-distribution-section__media:hover img { transform: scale(1.025); }

.marlin-distribution-section__copy h2 {
	margin: 12px 0 0;
	font-family: var(--marlin-display);
	font-size: clamp(2.25rem, 4vw, 3rem);
	font-weight: 900;
	letter-spacing: -.04em;
	line-height: 1.08;
	text-wrap: balance;
}

.marlin-distribution-section__copy > p:not(.marlin-eyebrow) {
	margin: 24px 0 0;
	color: #2a2a2a;
	font-size: 1.125rem;
	line-height: 1.78;
}

.marlin-distribution-section__capabilities {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 32px;
}

.marlin-distribution-section__capabilities > div {
	padding: 12px 16px;
	border: 1px solid #d1d5db;
	border-radius: 10px;
	background: var(--marlin-paper);
	font-size: .875rem;
	font-weight: 800;
}

.marlin-distribution-section__button {
	margin-top: 32px;
	color: #fff;
	background: var(--marlin-navy);
	box-shadow: 0 14px 32px rgba(15, 26, 61, .16);
}

.marlin-distribution-section__button:hover { background: #192b5d; }

html[data-theme="dark"] .marlin-distribution-section { color: #f7f9ff; background: #09132e; }
html[data-theme="dark"] .marlin-distribution-section__copy > p:not(.marlin-eyebrow) { color: rgba(255, 255, 255, .72); }
html[data-theme="dark"] .marlin-distribution-section__capabilities > div { border-color: rgba(255, 255, 255, .1); background: #111d3d; }

@media (max-width: 1023px) {
	.marlin-distribution-section__layout { grid-template-columns: 1fr; }
}

@media (max-width: 639px) {
	.marlin-distribution-section__capabilities { grid-template-columns: 1fr; }
	.marlin-distribution-section__copy > p:not(.marlin-eyebrow) { font-size: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
	.marlin-distribution-section__media img { transition: none; }
}

/* AboutPage uses the ordinary site's 52/76/104 section rhythm and md five-column values grid. */
@media (max-width: 1179px) and (min-width: 761px) {
	.marlin-company-history,
	.marlin-company-values { padding-block: 76px; }
}

@media (min-width: 768px) {
	.marlin-company-values__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	.marlin-company-history { padding-bottom: 72px; }
	.marlin-company-values { padding-block: 52px; }
	.marlin-company-geography h2 { font-size: 2.25rem; }
}

/* Ordinary-site dark theme parity for public, company, contact, and legal pages. */
html[data-theme="dark"] :is(.marlin-public-page, .marlin-company-page, .marlin-team-page, .marlin-barriers-page, .marlin-process-page, .marlin-cases-page, .marlin-contacts-page) {
	color: var(--marlin-dark-text);
	background: var(--marlin-dark-canvas);
}

html[data-theme="dark"] .marlin-page-hero--public {
	color: var(--marlin-dark-text);
	background: var(--marlin-dark-soft);
}

html[data-theme="dark"] .marlin-page-hero--public::before {
	background-image: linear-gradient(rgba(234, 240, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(234, 240, 255, .045) 1px, transparent 1px);
}

html[data-theme="dark"] .marlin-page-hero--public .marlin-page-hero__copy > p:not(.marlin-eyebrow) {
	color: var(--marlin-dark-body);
}

html[data-theme="dark"] .marlin-page-hero__media-frame {
	border-color: var(--marlin-dark-line);
	background: rgba(234, 240, 255, .04);
	box-shadow: 0 22px 64px rgba(0, 0, 0, .24);
}

html[data-theme="dark"] .marlin-page-hero__media-frame span {
	background: linear-gradient(180deg, transparent 56%, rgba(8, 13, 24, .5));
}

html[data-theme="dark"] :is(.marlin-public-section, .marlin-public-faq-section, .marlin-company-history, .marlin-team, .marlin-process-map, .marlin-contacts, .marlin-routes-geography, .marlin-distribution-section) {
	color: var(--marlin-dark-text);
	background: var(--marlin-dark-surface);
}

html[data-theme="dark"] :is(.marlin-company-values, .marlin-cases, .marlin-barriers) {
	color: var(--marlin-dark-text);
	background: var(--marlin-dark-soft);
}

html[data-theme="dark"] :is(.marlin-public-card-grid article, .marlin-company-timeline article, .marlin-public-features article, .marlin-team-grid article, .marlin-team-grid article > div, .marlin-company-features article:not(.is-dark), .marlin-company-values__grid article, .marlin-company-geography, .marlin-barriers__grid article, .marlin-process-map__grid article, .marlin-cases__grid article, .marlin-contact-grid article:not(.marlin-contact-card--connect), .marlin-distribution-section__capabilities > div) {
	border-color: var(--marlin-dark-line);
	color: var(--marlin-dark-text);
	background: var(--marlin-dark-surface);
	box-shadow: 0 18px 52px rgba(0, 0, 0, .18);
}

html[data-theme="dark"] :is(.marlin-public-card-grid p, .marlin-company-values__grid p, .marlin-team__heading > p, .marlin-company-features article > p:last-child, .marlin-barriers__grid p, .marlin-process-map .marlin-process-heading > p, .marlin-process-map__grid p, .marlin-cases__grid p, .marlin-contact-card__items p, .marlin-routes-geography__layout > div:first-child > p, .marlin-distribution-section__copy > p:not(.marlin-eyebrow)) {
	color: var(--marlin-dark-muted);
}

html[data-theme="dark"] .marlin-public-section--process .marlin-public-card-grid article:nth-child(4n + 2),
html[data-theme="dark"] .marlin-public-section--process .marlin-public-card-grid article:nth-child(4n + 4),
html[data-theme="dark"] :is(.marlin-public-features article:first-child, .marlin-company-features article.is-dark, .marlin-contact-grid article:last-child) {
	color: #fff;
	background-color: var(--marlin-dark-brand);
}

html[data-theme="dark"] .marlin-team-grid img {
	background: var(--marlin-dark-soft);
}

html[data-theme="dark"] .marlin-barriers::before {
	background: var(--marlin-dark-line);
}

html[data-theme="dark"] .marlin-barriers__icon {
	color: var(--marlin-dark-accent-soft);
	background: rgba(255, 122, 26, .13);
}

html[data-theme="dark"] .marlin-process-map__grid article > span {
	color: rgba(168, 179, 199, .36);
}

html[data-theme="dark"] .marlin-process-map__grid article:is(:hover, :focus-visible) {
	background: var(--marlin-dark-soft);
	box-shadow: 0 18px 54px rgba(0, 0, 0, .22);
}

html[data-theme="dark"] .marlin-cases__grid strong {
	color: var(--marlin-dark-muted);
}

html[data-theme="dark"] .marlin-cases__tags span {
	color: var(--marlin-dark-text);
	background: rgba(126, 149, 255, .14);
}

html[data-theme="dark"] .marlin-faq-accordion {
	color: var(--marlin-dark-text);
}

html[data-theme="dark"] .marlin-faq-accordion .marlin-service-faq__items {
	border-color: var(--marlin-dark-line);
	background: var(--marlin-dark-surface);
}

html[data-theme="dark"] .marlin-faq-accordion details {
	border-color: var(--marlin-dark-line);
	background: transparent;
}

html[data-theme="dark"] .marlin-faq-accordion summary {
	color: var(--marlin-dark-text);
}

html[data-theme="dark"] .marlin-faq-accordion details p {
	color: var(--marlin-dark-muted);
}

html[data-theme="dark"] .marlin-contact-grid article:not(.marlin-contact-card--connect):hover {
	background: var(--marlin-dark-soft);
	box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
}

html[data-theme="dark"] .marlin-contact-card__top > span {
	background: rgba(234, 240, 255, .07);
	box-shadow: none;
}

html[data-theme="dark"] .marlin-contact-card__top > small {
	border-color: var(--marlin-dark-line);
	color: var(--marlin-dark-muted);
	background: rgba(234, 240, 255, .06);
}

html[data-theme="dark"] .marlin-contact-card__items,
html[data-theme="dark"] .marlin-contact-card__items > div + div {
	border-color: var(--marlin-dark-line);
}

html[data-theme="dark"] .marlin-contact-map {
	border-color: var(--marlin-dark-line);
	color: var(--marlin-dark-text);
	background: var(--marlin-dark-surface);
	box-shadow: 0 28px 90px rgba(0, 0, 0, .3);
}

html[data-theme="dark"] .marlin-contact-map__wash {
	background: radial-gradient(circle at 48% 42%, transparent 0, rgba(8, 13, 24, .12) 38%, rgba(8, 13, 24, .56) 100%), rgba(8, 13, 24, .34);
}

html[data-theme="dark"] .marlin-contact-map[data-expanded="true"] .marlin-contact-map__wash {
	background-color: rgba(8, 13, 24, .16);
}

html[data-theme="dark"] .marlin-contact-map__route-shadow {
	stroke: var(--marlin-dark-brand);
}

html[data-theme="dark"] :is(.marlin-contact-map__content > small, .marlin-contact-map__content a) {
	border-color: var(--marlin-dark-line);
	color: var(--marlin-dark-text);
	background: rgba(16, 24, 39, .84);
}

html[data-theme="dark"] .marlin-contact-map__content p {
	color: var(--marlin-dark-body);
}

html[data-theme="dark"] .marlin-contact-map > aside {
	border-color: var(--marlin-dark-line);
	color: var(--marlin-dark-text);
	background: rgba(16, 24, 39, .9);
	box-shadow: 0 22px 60px rgba(0, 0, 0, .28);
}

html[data-theme="dark"] .marlin-contact-map > aside small {
	color: var(--marlin-dark-muted);
}

html[data-theme="dark"] .marlin-contact-map > aside p {
	color: var(--marlin-dark-body);
}

html[data-theme="dark"] .marlin-legal-directory > a,
html[data-theme="dark"] .marlin-legal-status,
html[data-theme="dark"] .marlin-legal-layout > aside {
	border-color: var(--marlin-dark-line);
	color: var(--marlin-dark-text);
	background: var(--marlin-dark-surface);
	box-shadow: 0 18px 52px rgba(0, 0, 0, .16);
}

html[data-theme="dark"] :is(.marlin-legal-directory > a > div, .marlin-legal-directory p, .marlin-legal-status p, .marlin-legal-layout__aside-group h3, .marlin-legal-layout dt) {
	color: var(--marlin-dark-muted);
}

html[data-theme="dark"] .marlin-legal-directory > a:is(:hover, :focus-visible) {
	border-color: var(--marlin-dark-accent);
	box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
}

html[data-theme="dark"] .marlin-legal-layout {
	color: var(--marlin-dark-text);
}

html[data-theme="dark"] :is(.marlin-legal-layout__aside-group, .marlin-legal-layout article > section) {
	border-color: var(--marlin-dark-line);
}

html[data-theme="dark"] .marlin-legal-layout nav a {
	color: var(--marlin-dark-body);
}

html[data-theme="dark"] .marlin-legal-layout nav a:is(:hover, :focus-visible) {
	background: rgba(234, 240, 255, .07);
}

html[data-theme="dark"] .marlin-legal-layout nav a[aria-current="page"] {
	color: #fff;
	background: var(--marlin-dark-brand);
}

html[data-theme="dark"] .marlin-legal-language-note {
	border-color: rgba(255, 179, 111, .28);
	color: var(--marlin-dark-body);
	background: rgba(255, 122, 26, .12);
}

html[data-theme="dark"] .marlin-legal-layout article :is(p, li) {
	color: var(--marlin-dark-body);
}

html[data-theme="dark"] .marlin-routes-map {
	border-color: var(--marlin-dark-line);
	background: var(--marlin-dark-soft);
	box-shadow: 0 22px 70px rgba(0, 0, 0, .22);
}

html[data-theme="dark"] .marlin-routes-map canvas {
	background: var(--marlin-dark-surface);
}

html[data-theme="dark"] .marlin-routes-types article {
	border-color: var(--marlin-dark-line);
	color: var(--marlin-dark-text);
	background: var(--marlin-dark-surface);
	box-shadow: 0 12px 34px rgba(0, 0, 0, .18);
}

html[data-theme="dark"] .marlin-routes-types article > div:first-child {
	background: var(--marlin-dark-soft);
}

html[data-theme="dark"] .marlin-routes-types article > div:first-child span {
	color: var(--marlin-dark-text);
	background: rgba(16, 24, 39, .9);
}

html[data-theme="dark"] .marlin-distribution-section__media {
	border-color: var(--marlin-dark-line);
	background: var(--marlin-dark-soft);
	box-shadow: 0 12px 34px rgba(0, 0, 0, .24);
}
