/* opt-one:base-reset */

* {
	box-sizing: border-box;
	margin: 0px;
	padding: 0px;
}

body {
	margin: 0px;
	font-family: "DM Sans", sans-serif;
	background-color: rgb(0, 0, 0);
}

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

p {
	margin: 0px 0px 1em;
	padding: 0px;
}

img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

picture {
	display: block;
	width: 100%;
	height: 100%;
}

picture img {
	display: block;
}

html {
	scroll-behavior: smooth;
}

.squircle-page {
	position: relative;
	height: 100svh;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 24px;
	padding: 40px clamp(20px, 5vw, 64px);
	background: radial-gradient(120% 90% at 50% -10%, rgb(28, 28, 28) 0%, rgb(0, 0, 0) 55%), radial-gradient(90% 70% at 90% 110%, rgb(22, 22, 22) 0%, rgb(0, 0, 0) 60%), rgb(0, 0, 0);
	color: var(--color-white, #fff);
	font-family: var(--font-sans, 'DM Sans', Arial, sans-serif);
	anchor-name: --anchor-squircle-page;
}

.squircle-noise {
	position: absolute;
	inset: 0px;
	pointer-events: none;
	z-index: 0;
	opacity: 0.5;
	background-image: repeating-linear-gradient(115deg, rgba(255, 255, 255, 0.024) 0px, rgba(255, 255, 255, 0.024) 1px, transparent 1px, transparent 3px);
	mix-blend-mode: overlay;
}

.site-header, .site-footer, .hero {
	position: relative;
	z-index: 1;
}

.site-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	anchor-name: --anchor-site-header;
}

.wordmark {
	font-family: "DM Sans", sans-serif;
	font-weight: 700;
	font-size: clamp(18px, 4vw, 18px);
	letter-spacing: 0em;
	margin: 0px;
	padding: 0px;
	font-variation-settings: "wght" 456;
}

.site-header-tag {
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gray-400, #9a9a9a);
}

.hero {
	flex: 1 1 0%;
	display: grid;
	place-items: center;
	min-height: 0px;
}

.shape-wrap {
	position: absolute;
	inset: auto;
	display: grid;
	place-items: center;
}

.shape-back {
	grid-area: 1 / 1;
	width: min(50vw, 50vh, 540px);
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 28%, rgb(255, 233, 138) 0%, rgb(255, 194, 60) 45%, rgb(255, 138, 30) 100%);
	transform: translateX(30%);
	opacity: 0.95;
	z-index: 0;
	animation: 11s ease-in-out 0s infinite normal none running shape-back-drift;
}

.morph-shape {
	grid-area: 1 / 1;
	width: min(58vw, 58vh, 620px);
	aspect-ratio: 1 / 1;
	overflow: hidden;
	isolation: isolate;
	mask-image: radial-gradient(white, black);
	background: rgb(5, 5, 5);
	box-shadow: rgba(0, 0, 0, 0.6) 0px 60px 120px;
	animation: 11s ease-in-out 0s infinite normal none running squircle-morph;
	will-change: border-radius, transform;
	z-index: 1;
}

.morph-shape::before {
	content: "";
	position: absolute;
	inset: -20%;
	background: radial-gradient(circle at 22% 18%, rgb(255, 106, 106) 0%, transparent 42%), radial-gradient(circle at 58% 12%, rgb(255, 210, 63) 0%, transparent 46%), radial-gradient(circle at 12% 55%, rgb(247, 184, 255) 0%, transparent 40%), radial-gradient(circle at 52% 50%, rgb(255, 122, 48) 0%, transparent 55%), radial-gradient(circle at 82% 40%, rgb(47, 209, 201) 0%, transparent 45%), radial-gradient(circle at 30% 92%, rgb(59, 63, 214) 0%, transparent 50%), radial-gradient(circle at 78% 88%, rgb(28, 20, 64) 0%, transparent 55%), rgb(255, 138, 46);
	filter: blur(38px) saturate(1.35) contrast(1.05);
	animation: 16s ease-in-out 0s infinite alternate none running squircle-drift;
}

.morph-shape::after {
	content: "";
	position: absolute;
	inset: -10%;
	opacity: 0.35;
	mix-blend-mode: overlay;
	background-image: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.16) 0px, rgba(255, 255, 255, 0.16) 1px, transparent 1px, transparent 3px), repeating-linear-gradient(90deg, rgba(0, 0, 0, 0.18) 0px, rgba(0, 0, 0, 0.18) 1px, transparent 1px, transparent 3px), repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.08) 0px, rgba(255, 255, 255, 0.08) 1px, transparent 1px, transparent 4px);
	background-size: 3px 3px, 3px 3px, 5px 5px;
}

@keyframes squircle-morph { 
  0%, 100% { border-radius: 0%; transform: rotate(0deg) scale(1); }
  20% { border-radius: 26% 32% 28% 34% / 32% 26% 34% 28%; transform: rotate(6deg) scale(1.02); }
  40% { border-radius: 44% 56% 52% 48% / 48% 44% 56% 52%; transform: rotate(-5deg) scale(1.05); }
  50% { border-radius: 50%; transform: rotate(0deg) scale(1.07); }
  60% { border-radius: 44% 56% 52% 48% / 48% 44% 56% 52%; transform: rotate(5deg) scale(1.05); }
  80% { border-radius: 26% 32% 28% 34% / 32% 26% 34% 28%; transform: rotate(-6deg) scale(1.02); }
}

@-webkit-keyframes squircle-spin { 
  100% { transform: rotate(360deg); }
}

@keyframes squircle-spin { 
  100% { transform: rotate(360deg); }
}

@-webkit-keyframes squircle-drift { 
  0% { transform: translate(-3%, -2%) rotate(0deg) scale(1); }
  100% { transform: translate(3%, 2%) rotate(8deg) scale(1.08); }
}

@keyframes squircle-drift { 
  0% { transform: translate(-3%, -2%) rotate(0deg) scale(1); }
  100% { transform: translate(3%, 2%) rotate(8deg) scale(1.08); }
}

@-webkit-keyframes shape-back-drift { 
  0%, 100% { transform: translateX(30%) translateY(0%); }
  50% { transform: translateX(26%) translateY(-2%); }
}

@keyframes shape-back-drift { 
  0%, 100% { transform: translateX(30%) translateY(0%); }
  50% { transform: translateX(26%) translateY(-2%); }
}

.tagline {
	position: relative;
	z-index: 2;
	max-width: 18ch;
	margin: 0px;
	padding: 0px 16px;
	text-align: center;
	font-family: var(--font-sans, 'DM Sans', Arial, sans-serif);
	font-size: clamp(26px, 4.6vw, 60px);
	line-height: 1.08;
	letter-spacing: -0.02em;
	color: rgba(255, 255, 255, 0);
	font-weight: 500;
	background-image: linear-gradient(163deg, rgba(255, 255, 255, 0.792) 1%, rgb(255, 255, 255) 100%);
	background-position: 0% 0%;
	background-size: auto;
	background-repeat: repeat;
	background-clip: text, border-box;
}

.tagline-line {
	display: block;
	font-weight: 500;
	opacity: 1;
	color: rgba(255, 255, 255, 0);
}

.tagline-line-em {
	font-weight: 800;
	opacity: 1;
}

.site-footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}

.footer-block-right {
	text-align: right;
}

.footer-label {
	display: block;
	margin-bottom: 6px;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gray-600, #6b6b6b);
}

.footer-value {
	display: block;
	font-style: normal;
	font-size: 15px;
	line-height: 1.4;
	color: rgb(255, 255, 255);
}

.footer-link {
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	transition: border-color 0.2s;
}

.footer-link:hover, .footer-link:focus-visible {
	border-color: rgb(255, 255, 255);
}

.hero-footer {
	will-change: transform, opacity;
}

.page-footer {
	background: rgb(0, 0, 0);
	padding: 40px clamp(20px, 5vw, 64px);
}

.section-what-we-do {
	background: rgb(255, 255, 255);
	color: rgb(17, 17, 17);
	padding: clamp(80px, 12vw, 160px) clamp(20px, 5vw, 64px);
}

.section-inner {
	max-width: 1200px;
	margin: 0px auto;
}

.section-label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--gray-600, #6b6b6b);
	margin: 0px 0px 48px;
}

.section-label--light {
	color: var(--gray-400, #9a9a9a);
}

.what-we-do-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 56px;
}

.what-we-do-col {
	position: relative;
}

.what-we-do-col:first-child {
	border-left: none;
}

.col-shape {
	width: 64px;
	height: 64px;
	margin-bottom: 28px;
}

.blob {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	mask-image: radial-gradient(white, black);
	box-shadow: rgba(0, 0, 0, 0.18) 0px 20px 40px;
	will-change: border-radius, transform;
}

.blob::before {
	content: "";
	position: absolute;
	inset: -30%;
	filter: blur(20px) saturate(1.4) contrast(1.05);
}

.blob::after {
	content: "";
	position: absolute;
	inset: -10%;
	opacity: 0.3;
	mix-blend-mode: overlay;
	background-image: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.16) 0px, rgba(255, 255, 255, 0.16) 1px, transparent 1px, transparent 3px), repeating-linear-gradient(90deg, rgba(0, 0, 0, 0.18) 0px, rgba(0, 0, 0, 0.18) 1px, transparent 1px, transparent 3px), repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.08) 0px, rgba(255, 255, 255, 0.08) 1px, transparent 1px, transparent 4px);
	background-size: 3px 3px, 3px 3px, 5px 5px;
}

.blob--device {
	background: rgb(28, 43, 107);
	animation: 14s ease-in-out 0s infinite normal none running blob-morph-a;
}

.blob--device::before {
	background: radial-gradient(circle at 25% 20%, rgb(106, 227, 255) 0%, transparent 45%), radial-gradient(circle at 70% 15%, rgb(124, 140, 255) 0%, transparent 48%), radial-gradient(circle at 20% 70%, rgb(178, 141, 255) 0%, transparent 42%), radial-gradient(circle at 75% 75%, rgb(51, 85, 255) 0%, transparent 55%), rgb(28, 43, 107);
	animation: 12s ease-in-out 0s infinite alternate none running blob-drift-a;
}

.blob--web {
	background: rgb(255, 120, 69);
	animation: 7s ease-in-out 0s infinite alternate none running blob-morph-b;
}

.blob--web::before {
	background: radial-gradient(circle at 25% 20%, rgb(255, 209, 102) 0%, transparent 45%), radial-gradient(circle at 75% 20%, rgb(255, 107, 107) 0%, transparent 48%), radial-gradient(circle at 20% 75%, rgb(255, 143, 177) 0%, transparent 42%), radial-gradient(circle at 75% 75%, rgb(255, 157, 77) 0%, transparent 55%), rgb(255, 120, 69);
	animation: 9s ease-in-out 0s infinite alternate none running blob-drift-b;
	content: "";
}

.blob--agents {
	background: rgb(18, 166, 126);
	animation: 6s ease-in-out 0s infinite normal none running blob-morph-c;
}

.blob--agents::before {
	background: radial-gradient(circle at 25% 20%, rgb(186, 255, 92) 0%, transparent 45%), radial-gradient(circle at 75% 20%, rgb(53, 224, 161) 0%, transparent 48%), radial-gradient(circle at 20% 75%, rgb(31, 182, 182) 0%, transparent 42%), radial-gradient(circle at 75% 75%, rgb(15, 122, 92) 0%, transparent 55%), rgb(18, 166, 126);
	animation: 8s ease-in-out 0s infinite normal none running blob-drift-c;
}

.blob--about {
	background: rgb(18, 20, 46);
	animation: 20s ease-in-out 0s infinite normal none running blob-morph-d;
	box-shadow: rgba(140, 170, 255, 0.25) 0px 0px 120px;
}

.blob--about::before {
	background: radial-gradient(circle at 30% 25%, rgba(255, 255, 255, 0.9) 0%, transparent 40%), radial-gradient(circle at 70% 20%, rgb(143, 211, 255) 0%, transparent 46%), radial-gradient(circle at 25% 75%, rgb(179, 157, 255) 0%, transparent 45%), radial-gradient(circle at 75% 75%, rgb(76, 95, 214) 0%, transparent 55%), rgb(18, 20, 46);
	filter: blur(30px) saturate(1.3) contrast(1.05);
	animation: 18s ease-in-out 0s infinite alternate none running blob-drift-d;
}

@keyframes blob-morph-a { 
  0%, 100% { border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; transform: rotate(0deg) scale(1); }
  50% { border-radius: 46% 54% 54% 46% / 54% 46% 46% 54%; transform: rotate(180deg) scale(1.08); }
}

@keyframes blob-drift-a { 
  0% { transform: translate(-4%, -3%) rotate(0deg) scale(1); }
  100% { transform: translate(4%, 3%) rotate(10deg) scale(1.1); }
}

@keyframes blob-morph-b { 
  0%, 100% { border-radius: 42% 58% 38% 62% / 62% 42% 58% 38%; transform: rotate(0deg) scale(1); }
  50% { border-radius: 58% 42% 62% 38% / 38% 58% 42% 62%; transform: rotate(-14deg) scale(1.12); }
}

@keyframes blob-drift-b { 
  0% { transform: translate(-6%, 4%) rotate(0deg) scale(1.05); }
  100% { transform: translate(6%, -4%) rotate(-14deg) scale(0.95); }
}

@keyframes blob-morph-c { 
  0%, 100% { border-radius: 60% 40% 55% 45% / 45% 60% 40% 55%; transform: rotate(0deg) scale(1); }
  25% { border-radius: 40% 60% 45% 55% / 55% 40% 60% 45%; transform: rotate(20deg) scale(1.05); }
  50% { border-radius: 55% 45% 60% 40% / 40% 55% 45% 60%; transform: rotate(-15deg) scale(0.95); }
  75% { border-radius: 45% 55% 40% 60% / 60% 45% 55% 40%; transform: rotate(10deg) scale(1.08); }
}

@keyframes blob-drift-c { 
  0% { transform: translate(-5%, -5%) rotate(0deg) scale(1); }
  50% { transform: translate(5%, 3%) rotate(20deg) scale(1.15); }
  100% { transform: translate(-3%, 5%) rotate(-10deg) scale(0.9); }
}

@keyframes blob-morph-d { 
  0%, 100% { border-radius: 50%; transform: translate(0%, 0%) rotate(0deg) scale(1); }
  50% { border-radius: 38% 62% 42% 58% / 58% 38% 62% 42%; transform: translate(2%, -3%) rotate(10deg) scale(1.05); }
}

@keyframes blob-drift-d { 
  0% { transform: translate(-3%, -2%) rotate(0deg) scale(1); }
  100% { transform: translate(3%, 2%) rotate(360deg) scale(1.08); }
}

.what-we-do-col h3 {
	font-size: 22px;
	font-weight: 700;
	margin: 0px 0px 14px;
	letter-spacing: -0.01em;
}

.what-we-do-col p {
	font-size: 16px;
	line-height: 1.6;
	color: rgba(17, 17, 17, 0.72);
	margin: 0px;
}

.what-we-do-col a {
	color: rgb(17, 17, 17);
	text-decoration: underline rgba(17, 17, 17, 0.3);
}

.what-we-do-col a:hover, .what-we-do-col a:focus-visible {
	text-decoration-color: rgb(17, 17, 17);
}

.section-about {
	background: rgb(0, 0, 0);
	color: rgb(255, 255, 255);
	padding: clamp(80px, 12vw, 160px) clamp(20px, 5vw, 64px);
}

.about-grid {
	display: grid;
	grid-template-columns: 0.6fr 1fr 0.8fr;
	gap: 48px;
	align-items: center;
}

.about-intro {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.about-year {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.5);
	letter-spacing: 0.04em;
}

.about-text p {
	font-size: clamp(18px, 2vw, 24px);
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.85);
	margin: 0px;
	max-width: 46ch;
}

.about-illustration {
	position: relative;
	aspect-ratio: 1 / 1;
	width: min(100%, 280px);
	justify-self: center;
}

.page-404 {
	min-height: 100vh;
	display: grid;
	place-items: center;
	padding: 24px;
	text-align: center;
}

.page-404-code {
	font-size: 96px;
	font-weight: 700;
	margin: 0px;
	letter-spacing: -0.04em;
	color: rgb(0, 0, 0);
}

.page-404-title {
	font-size: 28px;
	margin: 8px 0px 12px;
	letter-spacing: -0.02em;
	color: rgb(255, 255, 255);
}

.page-404-message {
	font-size: 18px;
	color: rgb(155, 155, 155);
	margin: 0px 0px 28px;
}

.page-404-link {
	display: inline-block;
	padding: 14px 28px;
	border-radius: 12px;
	background: rgb(0, 0, 0);
	color: rgb(255, 255, 255);
	font-weight: 600;
	text-decoration: none;
}

.lang-select {
	display: inline-block;
	anchor-name: --anchor-lang-select;
	position-anchor: --anchor-lang-trigger;
}

.lang-trigger {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-family: inherit;
	font-size: var(--text-regular-size);
	line-height: var(--text-regular-leading);
	color: var(--scheme-text);
	background-color: transparent;
	cursor: pointer;
	transition: all var(--transition-default);
	anchor-name: --anchor-lang-trigger;
	border-style: none;
}

.lang-trigger:hover {
	opacity: 0.85;
}

.lang-trigger-icon {
	display: inline-flex;
	flex-shrink: 0;
	anchor-name: --anchor-lang-trigger-icon;
}

.lang-trigger-icon .element-icon {
	display: inline-flex;
	width: 1.25rem;
	height: 1.25rem;
	color: currentcolor;
}

.lang-trigger-label {
	white-space: nowrap;
	color: rgb(255, 255, 255);
}

.lang-trigger-chevron {
	display: inline-flex;
	flex-shrink: 0;
	transition: transform 300ms;
}

.lang-trigger-chevron .element-icon {
	display: inline-flex;
	width: 1rem;
	height: 1rem;
	color: currentcolor;
}

.lang-menu {
	margin: 0px;
	border-color: var(--gray-400);
	border-radius: 0rem;
	list-style: none;
	inset: 0px;
	align-items: flex-end;
	position: absolute;
	background-color: rgba(255, 255, 255, 0);
	position-area: top;
	border-width: 1px 0px;
	border-left-style: none;
	border-right-style: none;
	border-bottom-style: solid;
	position-try-fallbacks: flip-block;
}

.lang-menu:popover-open {
	display: flex;
	gap: 0.125rem;
	position: absolute;
	margin: 0.25rem 0px 0px;
	inset: auto;
	flex-flow: column;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	align-items: center;
	width: 10rem;
	border-top-color: var(--gray-600);
	border-bottom-color: var(--gray-600);
	z-index: 999;
	position-anchor: --anchor-lang-select;
	position-area: span-left bottom;
}

.lang-option {
	display: block;
}

.lang-link {
	display: block;
	padding: 0.5rem 0.75rem;
	font-size: var(--text-regular-size);
	line-height: var(--text-regular-leading);
	color: var(--scheme-text);
	text-decoration: none;
	white-space: nowrap;
	transition: all var(--transition-default);
}

.lang-link[aria-current] {
	font-weight: 700;
}

.element-icon {
	color: rgb(255, 255, 255);
	anchor-name: --anchor-element-icon;
}

.svg-1 {
	color: rgb(255, 255, 255);
}

.lang-menu:popover-open .lang-link {
	color: rgb(255, 255, 255);
	width: 100%;
	text-align: right;
	background-color: rgb(0, 0, 0);
}

.lang-menu:popover-open .lang-option {
	width: 100%;
	display: flex;
	justify-content: flex-end;
	background-color: rgba(255, 255, 255, 0);
}

.a-1 {
	color: rgb(255, 255, 255);
	text-decoration-line: none;
}

.footer-value.footer-link {
	line-height: 27px;
}

.footer-block.footer-block-right {
	display: flex;
	flex-flow: column;
	align-items: flex-end;
}

.footer-block {
	display: flex;
	flex-flow: column;
	align-items: flex-start;
}

.section-inner.about-grid {
	grid-template-columns: 1fr 1fr;
}

.footer-legal {
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	width: 100%;
}

.privacy-page {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	background: rgb(255, 255, 255);
	color: rgb(17, 17, 17);
}

.privacy-page .site-header {
	background: rgb(0, 0, 0);
	padding: 40px clamp(20px, 5vw, 64px);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.privacy-page .page-footer {
	margin-top: auto;
}

.privacy-content {
	max-width: 800px;
	margin: 0px auto;
	padding: 3rem 2rem;
	line-height: 1.8;
	color: rgb(17, 17, 17);
}

.privacy-content h1 {
	font-size: 2.5rem;
	margin-bottom: 2rem;
	margin-top: 0px;
}

.privacy-content h2 {
	font-size: 1.5rem;
	margin-top: 2.5rem;
	margin-bottom: 1rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 1.5rem;
}

.privacy-content h3 {
	font-size: 1.1rem;
	margin-top: 1.5rem;
	margin-bottom: 0.75rem;
	font-weight: 600;
}

.privacy-content p {
	margin-bottom: 1rem;
}

.privacy-content ul {
	margin-left: 1.5rem;
	margin-bottom: 1rem;
}

.privacy-content li {
	margin-bottom: 0.5rem;
}

.privacy-content a {
	color: rgb(0, 102, 204);
	text-decoration: underline;
}

.privacy-content a:hover {
	opacity: 0.8;
}

.contact-box {
	background: rgba(0, 0, 0, 0.03);
	border-radius: 8px;
	padding: 1.5rem;
	margin-top: 2rem;
	border: 1px solid rgb(0, 0, 0);
}

.flex-horizontal {
	display: flex;
	gap: 0.75rem;
}

.icon-svg {
	color: rgb(255, 255, 255);
}

.div-1 {
	width: 30px;
	height: 30px;
}

.site-logo {
	max-width: 6rem;
	height: auto;
	display: flex;
}

.lang-link:hover {
	background-color: rgb(239, 239, 239);
}

@media (max-width: 991px) {
	.footer-legal {
		border-top: 1px solid rgba(255, 255, 255, 0.1);
		padding-top: 16px;
		margin-top: 16px;
	}

	.what-we-do-grid {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.what-we-do-col {
		border-left: none;
		padding-left: 0px;
		border-top: 1px solid rgba(0, 0, 0, 0.1);
		padding-top: 32px;
	}

	.what-we-do-col:first-child {
		border-top: none;
		padding-top: 0px;
	}

	.about-grid {
		grid-template-columns: 1fr;
		gap: 32px;
		text-align: left;
	}

	.about-illustration {
		order: -1;
		width: min(60%, 220px);
		margin: 0px auto;
	}

	.tagline-line {
		opacity: 1;
		mix-blend-mode: color-dodge;
	}

	.section-inner.about-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.squircle-page {
		padding: 24px 20px;
		font-size: 14px;
	}

	.morph-shape {
		width: min(78vw, 50vh, 420px);
	}

	.wordmark {
		font-size: clamp(16px, 3vw, 18px);
	}

	.tagline {
		font-size: clamp(20px, 5vw, 40px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.morph-shape, .morph-shape::before, .shape-back, .blob, .blob::before { animation: auto ease 0s 1 normal none running none; }
}

@media print {
	.squircle-page { background: white; color: black; }
	  .morph-shape, .squircle-noise { display: none; }
	  .wordmark, .tagline { color: black; }
}