@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('/assets/fonts/inter-cyrillic.woff2') format('woff2');
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('/assets/fonts/inter-latin.woff2') format('woff2');
	unicode-range:
		U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
		U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--bg: #0a0a0a;
	--bg2: #11120f;
	--ink: #f5f1e8;
	--muted: #a7a49b;
	--line: rgba(245, 241, 232, 0.17);
	--accent: #c9ff3d;
	--accent2: #ff7b36;
	--max: 1440px;
	--pad: clamp(20px, 4vw, 64px);
	--radius: 30px;
	--ease: cubic-bezier(0.22, 1, 0.36, 1);
}
* {
	box-sizing: border-box;
}
html {
	scroll-behavior: smooth;
}
body {
	margin: 0;
	background: var(--bg);
	color: var(--ink);
	font-family:
		Inter,
		-apple-system,
		BlinkMacSystemFont,
		'Segoe UI',
		Roboto,
		Helvetica,
		Arial,
		sans-serif;
	line-height: 1.5;
	letter-spacing: 0;
	overflow-x: hidden;
}
a {
	color: inherit;
	text-decoration: none;
}
button,
input,
textarea {
	font: inherit;
}
::selection {
	background: var(--accent);
	color: #0a0a0a;
}
body:before {
	content: '';
	position: fixed;
	inset: 0;
	z-index: -4;
	background:
		radial-gradient(55vw 55vw at 85% -10%, rgba(201, 255, 61, 0.16), transparent 58%),
		radial-gradient(42vw 42vw at -10% 40%, rgba(255, 123, 54, 0.12), transparent 62%),
		linear-gradient(180deg, #090909 0%, #0d0e0b 50%, #090909 100%);
}
#bg-canvas {
	pointer-events: none;
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: -3;
	opacity: 0.85;
}
.noise {
	pointer-events: none;
	position: fixed;
	inset: 0;
	z-index: 999;
	opacity: 0.045;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");
}
.container {
	width: min(var(--max), 100%);
	margin: auto;
	padding-inline: var(--pad);
}
.eyebrow {
	font-size: 14px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--accent);
	font-weight: 800;
}
.display {
	font-size: clamp(56px, 8.5vw, 140px);
	line-height: 0.96;
	letter-spacing: 0;
	font-weight: 800;
	margin: 0;
	text-wrap: balance;
}
.h1 {
	font-size: clamp(46px, 7vw, 110px);
	line-height: 1.02;
	letter-spacing: 0;
	margin: 0;
	font-weight: 800;
	text-wrap: balance;
}
.h2 {
	font-size: clamp(34px, 4.5vw, 72px);
	line-height: 1.08;
	letter-spacing: 0;
	margin: 0;
	font-weight: 750;
	text-wrap: balance;
}
.h3 {
	font-size: clamp(24px, 2.5vw, 38px);
	line-height: 1.15;
	letter-spacing: 0;
	margin: 0;
	font-weight: 700;
}
.lead {
	font-size: clamp(18px, 1.9vw, 25px);
	line-height: 1.5;
	color: #d6d1c7;
	max-width: 850px;
	letter-spacing: 0;
}
.muted {
	color: var(--muted);
}
.small {
	font-size: 15px;
	color: #bbb7ae;
	line-height: 1.45;
	letter-spacing: 0.02em;
}
.rule {
	border-top: 1px solid var(--line);
}

.topbar {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(10, 10, 10, 0.74);
	backdrop-filter: blur(18px);
	border-bottom: 1px solid var(--line);
}
.nav {
	min-height: 82px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 25px;
}
.brand {
	font-size: 18px;
	letter-spacing: 0.04em;
	font-weight: 800;
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	text-transform: uppercase;
}
.brand i {
	font-style: normal;
	color: var(--accent);
	margin: 0 7px;
	display: inline-block;
	font-size: 14px;
	line-height: 1;
}
.navlinks {
	display: flex;
	align-items: center;
	gap: 32px;
	font-size: 16px;
	font-weight: 500;
}
.navlinks a {
	position: relative;
	color: #d9d5cc;
}
.navlinks a:after {
	content: '';
	position: absolute;
	left: 0;
	right: 100%;
	bottom: -8px;
	height: 1px;
	background: var(--accent);
	transition: right 0.4s var(--ease);
}
.navlinks a:hover:after,
.navlinks a.active:after {
	right: 0;
}
.nav-cta {
	border: 1px solid var(--ink);
	border-radius: 999px;
	padding: 12px 19px;
	font-size: 15px;
	font-weight: 600;
	transition: 0.35s;
	cursor: pointer;
}
.nav-cta:hover {
	background: var(--ink);
	color: #0b0b0b;
}
.menu {
	display: none;
	border: 0;
	background: none;
	color: var(--ink);
	font-size: 26px;
	cursor: pointer;
}

.hero {
	min-height: calc(100vh - 82px);
	display: flex;
	align-items: flex-end;
	padding: 10vh 0 6vh;
	position: relative;
}
.hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(260px, 0.65fr);
	gap: 50px;
	align-items: end;
}
.hero-copy {
	display: grid;
	gap: 34px;
}
.hero-meta {
	display: flex;
	gap: 28px;
	flex-wrap: wrap;
	color: #bbb7ae;
	font-size: 16px;
}
.hero-side {
	align-self: flex-end;
	padding-bottom: 10px;
	border-left: 1px solid var(--line);
	padding-left: 28px;
}
@keyframes float {
	50% {
		transform: translateY(-14px) rotate(2deg);
	}
}
@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 36px;
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 16px 22px;
	min-width: 220px;
	font-size: 16px;
	transition: 0.45s var(--ease);
	font-weight: 700;
	cursor: pointer;
}
.btn:hover {
	background: var(--accent);
	color: #0b0b0b;
	border-color: var(--accent);
	transform: translateY(-3px);
}
.btn.accent {
	background: var(--accent);
	color: #0b0b0b;
	border-color: var(--accent);
}
.btn.accent:hover {
	background: transparent;
	color: var(--ink);
}

.marquee {
	overflow: hidden;
	border-block: 1px solid var(--line);
	background: #0d0e0c;
}
.marquee-track {
	display: flex;
	width: max-content;
	animation: marquee 24s linear infinite;
	padding: 15px 0;
}
.marquee span {
	font-weight: 750;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	font-size: 16px;
	white-space: nowrap;
}
.marquee b {
	color: var(--accent);
	padding: 0 22px;
}
@keyframes marquee {
	to {
		transform: translateX(-50%);
	}
}

.section {
	padding: clamp(85px, 11vw, 175px) 0;
}
.section-head {
	display: grid;
	grid-template-columns: 0.42fr 1.58fr;
	gap: 50px;
	margin-bottom: clamp(45px, 7vw, 95px);
}
.section-intro {
	max-width: 950px;
}
.section-intro .lead {
	margin-top: 28px;
}
.cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--line);
}
.card {
	position: relative;
	min-height: 300px;
	padding: 28px 28px 32px;
	border-bottom: 1px solid var(--line);
	border-right: 1px solid var(--line);
	overflow: hidden;
	transition: 0.5s var(--ease);
}
.card:nth-child(2n) {
	border-right: 0;
}
.card:hover {
	background: #151712;
	transform: translateY(-4px);
}
.card .num {
	font-size: 15px;
	color: var(--accent);
	letter-spacing: 0.14em;
	font-weight: 700;
}
.card .arrow {
	position: absolute;
	right: 28px;
	top: 24px;
	font-size: 30px;
	transition: 0.4s var(--ease);
}
.card:hover .arrow {
	transform: translate(7px, -7px) rotate(4deg);
}
.card h3 {
	font-size: clamp(26px, 2.8vw, 44px);
	letter-spacing: 0;
	line-height: 1.15;
	margin: 70px 0 15px;
}
.card p {
	max-width: 580px;
	color: #c4c0b7;
	font-size: 18px;
	line-height: 1.5;
}
.steps {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.step {
	padding: 30px 22px 46px;
	border-right: 1px solid var(--line);
	min-height: 275px;
}
.step:last-child {
	border-right: 0;
}
.step .n {
	font-size: 15px;
	color: var(--accent);
	letter-spacing: 0.12em;
	font-weight: 700;
}
.step h3 {
	margin-top: 70px;
	font-size: 26px;
	line-height: 1.2;
	letter-spacing: 0;
}
.step p {
	color: #c4c0b7;
	font-size: 17px;
	line-height: 1.5;
}
.problem-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}
.problem {
	padding: 30px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	min-height: 280px;
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0));
}
.problem .label {
	font-size: 14px;
	color: var(--accent);
	letter-spacing: 0.12em;
	font-weight: 700;
}
.problem h3 {
	font-size: clamp(24px, 2.6vw, 38px);
	letter-spacing: 0;
	line-height: 1.2;
	margin: 55px 0 15px;
}
.problem p {
	color: #c4c0b7;
	font-size: 17px;
	line-height: 1.5;
	max-width: 550px;
}
.stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-block: 1px solid var(--line);
}
.stat {
	padding: 50px 25px;
	border-right: 1px solid var(--line);
}
.stat:last-child {
	border-right: 0;
}
.stat strong {
	font-size: clamp(50px, 6.5vw, 96px);
	line-height: 0.95;
	letter-spacing: 0;
	display: block;
}
.stat span {
	display: block;
	color: #bbb7ae;
	font-size: 17px;
	margin-top: 16px;
	max-width: 280px;
	line-height: 1.45;
}

.page-hero {
	padding: clamp(90px, 12vw, 170px) 0 70px;
	border-bottom: 1px solid var(--line);
	position: relative;
	overflow: hidden;
}
.page-hero:after {
	content: '';
	position: absolute;
	width: 480px;
	height: 480px;
	border: 1px solid rgba(201, 255, 61, 0.22);
	border-radius: 50%;
	right: -120px;
	top: -130px;
	box-shadow:
		0 0 0 80px rgba(201, 255, 61, 0.015),
		0 0 0 160px rgba(201, 255, 61, 0.01);
}
.page-hero .kicker {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 58px;
}
.page-hero .lead {
	margin: 38px 0 0;
}
.service-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	border-top: 1px solid var(--line);
}
.service-row {
	padding: 27px;
	min-height: 220px;
	border-bottom: 1px solid var(--line);
	border-right: 1px solid var(--line);
	position: relative;
}
.service-row:nth-child(2n) {
	border-right: 0;
}
.service-row:hover {
	background: #141610;
}
.service-row .num {
	color: var(--accent);
	font-size: 15px;
	letter-spacing: 0.12em;
	font-weight: 700;
}
.service-row h2 {
	font-size: clamp(26px, 2.6vw, 42px);
	margin: 48px 0 10px;
	letter-spacing: 0;
	line-height: 1.18;
}
.service-row p {
	color: #c4c0b7;
	font-size: 18px;
	line-height: 1.5;
	padding-right: 70px;
}
.service-row .arrow {
	position: absolute;
	right: 25px;
	top: 25px;
	font-size: 28px;
}

.content-grid {
	display: grid;
	grid-template-columns: 0.7fr 1.3fr;
	gap: clamp(40px, 8vw, 130px);
}
.content-sticky {
	position: sticky;
	top: 120px;
	align-self: start;
}
.rich h2 {
	font-size: clamp(28px, 3.5vw, 52px);
	line-height: 1.1;
	letter-spacing: 0;
	margin: 0 0 25px;
}
.rich h3 {
	font-size: 24px;
	line-height: 1.25;
	letter-spacing: 0;
	margin: 40px 0 13px;
}
.rich p,
.rich li {
	font-size: 18px;
	line-height: 1.6;
	color: #c4c0b7;
	letter-spacing: 0;
}
.rich ul {
	padding-left: 20px;
	display: grid;
	gap: 12px;
}
.rich section {
	padding: 44px 0;
	border-top: 1px solid var(--line);
}
.rich section:first-child {
	border-top: 0;
	padding-top: 0;
}
.three {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}
.mini {
	padding: 25px;
	border: 1px solid var(--line);
	border-radius: 22px;
	min-height: 185px;
}
.mini b {
	display: block;
	color: var(--accent);
	font-size: 14px;
	letter-spacing: 0.12em;
	font-weight: 750;
	margin-bottom: 50px;
}
.mini h3 {
	font-size: 24px;
	line-height: 1.2;
	margin: 0 0 8px;
	letter-spacing: 0;
}
.mini p {
	margin: 0;
	color: #c4c0b7;
	font-size: 17px;
	line-height: 1.5;
}
.price-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}
.price {
	border: 1px solid var(--line);
	border-radius: 25px;
	padding: 27px;
	min-height: 245px;
	display: flex;
	flex-direction: column;
}
.price h3 {
	font-size: 26px;
	line-height: 1.2;
	margin: 0 0 15px;
	letter-spacing: 0;
}
.price p {
	color: #c4c0b7;
	font-size: 17px;
	margin: 0;
	line-height: 1.5;
}
.price strong {
	font-size: clamp(28px, 3vw, 44px);
	margin-top: auto;
	letter-spacing: 0;
	line-height: 1;
}
.price.featured {
	background: var(--accent);
	color: #0a0a0a;
}
.price.featured p {
	color: #26310d;
}
.price.featured strong {
	color: #0a0a0a;
}
.about-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	align-items: stretch;
}
.portrait {
	border-radius: 30px;
	overflow: hidden;
	min-height: 590px;
	background: #161713;
}
.portrait img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.quote-panel {
	border: 1px solid var(--line);
	border-radius: 30px;
	padding: clamp(30px, 5vw, 70px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.quote-panel h2 {
	font-size: clamp(34px, 4.5vw, 64px);
	line-height: 1.05;
	letter-spacing: 0;
}
.contact-grid {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 20px;
	align-items: stretch;
}
.contact-card {
	border: 1px solid var(--line);
	border-radius: 28px;
	padding: clamp(24px, 4vw, 44px);
	min-height: auto;
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0));
	display: flex;
	flex-direction: column;
}
.contact-card.mini {
	min-height: auto;
	padding: 28px;
}
.contact-channels {
	display: grid;
	gap: 12px;
	margin-top: 24px;
}
.contact-channel-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 20px;
	background: rgba(255, 255, 255, 0.02);
	border: 1px solid var(--line);
	border-radius: 20px;
	transition: all 0.25s var(--ease);
}
.contact-channel-row:hover {
	background: rgba(255, 255, 255, 0.045);
	border-color: rgba(201, 255, 61, 0.4);
	transform: translateY(-2px);
}
.channel-meta {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
}
.channel-icon-wrap {
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--line);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--accent);
	flex-shrink: 0;
	transition: all 0.25s var(--ease);
}
.contact-channel-row:hover .channel-icon-wrap {
	background: rgba(201, 255, 61, 0.12);
	border-color: var(--accent);
}
.channel-details {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}
.channel-top {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.channel-title {
	font-size: 15px;
	font-weight: 700;
	color: var(--ink);
}
.channel-tag {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 2px 8px;
	border-radius: 999px;
	background: rgba(201, 255, 61, 0.12);
	color: var(--accent);
	white-space: nowrap;
}
.channel-link-text {
	font-size: 17px;
	font-weight: 600;
	color: #c4c0b7;
	letter-spacing: 0.01em;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	transition: color 0.2s;
}
.channel-link-text:hover {
	color: var(--accent);
}
.channel-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}
.channel-act-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid var(--line);
	color: var(--ink);
	transition: all 0.2s var(--ease);
	cursor: pointer;
	white-space: nowrap;
}
.channel-act-btn:hover {
	background: var(--accent);
	color: #0a0a0a;
	border-color: var(--accent);
	transform: translateY(-1px);
}
.channel-copy-btn {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--line);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #a7a49b;
	cursor: pointer;
	transition: all 0.2s var(--ease);
}
.channel-copy-btn:hover {
	background: rgba(201, 255, 61, 0.15);
	color: var(--accent);
	border-color: var(--accent);
	transform: scale(1.06);
}
.channel-picker {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.channel-picker-label {
	font-size: 12px;
	color: var(--muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-weight: 600;
}
.channel-picker-options {
	display: flex;
	gap: 8px;
}
.picker-option {
	flex: 1;
	cursor: pointer;
}
.picker-option input {
	display: none;
}
.picker-option span {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 9px 12px;
	border-radius: 12px;
	font-size: 13px;
	font-weight: 600;
	background: #141512;
	border: 1px solid var(--line);
	color: #aaa79f;
	transition: all 0.2s;
	text-align: center;
}
.picker-option input:checked + span {
	background: var(--accent);
	color: #0a0a0a;
	border-color: var(--accent);
	font-weight: 700;
}
.picker-option:hover span {
	border-color: rgba(201, 255, 61, 0.5);
	color: var(--ink);
}
.contact-info-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-top: 20px;
}
.contact-links {
	display: grid;
	gap: 12px;
	margin-top: 28px;
}
.contact-links a {
	font-size: clamp(20px, 2.2vw, 32px);
	letter-spacing: 0;
	line-height: 1.25;
	border-bottom: 1px solid var(--line);
	padding: 12px 0;
	transition: 0.3s var(--ease);
}
.contact-links a:hover {
	color: var(--accent);
	padding-left: 8px;
}
.cta {
	padding: clamp(70px, 10vw, 145px) 0;
	background: var(--accent);
	color: #080808;
}
.cta .eyebrow {
	color: #182006;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.16em;
}
.cta .h2 {
	max-width: 1050px;
	letter-spacing: 0;
	line-height: 1.05;
}
.cta p {
	font-size: 22px;
	max-width: 800px;
	line-height: 1.5;
	letter-spacing: 0;
}
.cta .btn {
	border-color: #090909;
	font-size: 16px;
}
.cta .btn:hover {
	background: #090909;
	color: var(--accent);
}
.footer {
	padding: 60px 0 35px;
}
.footer-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: end;
}
.footer .brand {
	font-size: clamp(26px, 3.5vw, 54px);
	letter-spacing: 0.02em;
	display: inline-flex;
	align-items: center;
}
.footer .brand i {
	margin: 0 8px;
}
.footer-links {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 32px;
	justify-content: flex-end;
	color: #aaa79f;
	font-size: 16px;
	font-weight: 500;
}
.footer-bottom {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	margin-top: 55px;
	padding-top: 20px;
	border-top: 1px solid var(--line);
	color: #77756f;
	font-size: 15px;
}
.reveal {
	opacity: 0;
	transform: translateY(28px);
	transition:
		opacity 0.85s var(--ease),
		transform 0.85s var(--ease);
}
.reveal.on {
	opacity: 1;
	transform: none;
}
.cursor {
	position: fixed;
	width: 18px;
	height: 18px;
	border: 1px solid var(--accent);
	border-radius: 50%;
	pointer-events: none;
	z-index: 1000;
	transform: translate(-50%, -50%);
	transition:
		width 0.2s,
		height 0.2s,
		background 0.2s,
		border-color 0.2s;
	mix-blend-mode: difference;
}
.cursor.hot {
	width: 48px;
	height: 48px;
	background: var(--accent);
	border-color: transparent;
}

/* Form & Input Styles */
.form-wrap {
	display: grid;
	gap: 18px;
	margin-top: 28px;
}
.form-group {
	display: grid;
	gap: 8px;
}
.form-label {
	font-size: 13px;
	color: var(--muted);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-weight: 600;
}
.form-input,
.form-textarea {
	width: 100%;
	padding: 16px 20px;
	background: #151613;
	border: 1px solid var(--line);
	border-radius: 16px;
	color: var(--ink);
	font-size: 16px;
	outline: none;
	transition:
		border-color 0.3s var(--ease),
		background 0.3s var(--ease);
}
.form-input:focus,
.form-textarea:focus {
	border-color: var(--accent);
	background: #1a1c17;
}
.form-textarea {
	min-height: 110px;
	resize: vertical;
}
.form-note {
	font-size: 12px;
	color: var(--muted);
	line-height: 1.4;
	margin: 8px 0 0;
}
.form-consent {
	display: block;
}
.form-consent input {
	margin: 0 6px 0 0;
	vertical-align: middle;
}
.form-consent a {
	text-decoration: underline;
}
.form-status {
	font-size: 14px;
	padding: 10px 14px;
	border-radius: 12px;
	display: none;
	margin-top: 10px;
}
.form-status.success {
	display: block;
	background: rgba(201, 255, 61, 0.15);
	border: 1px solid var(--accent);
	color: var(--accent);
}
.form-status.error {
	display: block;
	background: rgba(255, 100, 100, 0.15);
	border: 1px solid #ff6464;
	color: #ff8a8a;
}
.honeypot-field {
	position: absolute !important;
	opacity: 0 !important;
	height: 0 !important;
	width: 0 !important;
	z-index: -100 !important;
	pointer-events: none !important;
}

/* Modal System */
.modal-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(8, 8, 8, 0.85);
	backdrop-filter: blur(14px);
	z-index: 1100;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.35s var(--ease);
}
.modal-backdrop.open {
	opacity: 1;
	pointer-events: auto;
}
.modal-window {
	background: #121310;
	border: 1px solid var(--line);
	border-radius: 28px;
	padding: clamp(28px, 4.5vw, 48px);
	max-width: 540px;
	width: 100%;
	position: relative;
	transform: translateY(30px) scale(0.96);
	transition: transform 0.35s var(--ease);
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.7);
}
.modal-backdrop.open .modal-window {
	transform: translateY(0) scale(1);
}
.modal-close {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid var(--line);
	color: var(--ink);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	cursor: pointer;
	transition: 0.25s var(--ease);
}
.modal-close:hover {
	background: var(--accent);
	color: #0a0a0a;
	border-color: var(--accent);
}

/* Floating Speed Dial Widget */
.floating-widget {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 900;
	display: flex;
	flex-direction: column-reverse;
	align-items: flex-end;
	gap: 12px;
}
.widget-toggle {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--accent);
	color: #0a0a0a;
	border: none;
	box-shadow: 0 10px 30px rgba(201, 255, 61, 0.35);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	position: relative;
	transition:
		transform 0.3s var(--ease),
		background 0.3s var(--ease);
}
.widget-toggle:hover {
	transform: scale(1.08);
}
.widget-toggle.open {
	transform: rotate(45deg);
	background: #fff;
}
.widget-menu {
	display: flex;
	flex-direction: column;
	gap: 10px;
	opacity: 0;
	transform: translateY(15px) scale(0.9);
	pointer-events: none;
	transition:
		opacity 0.3s var(--ease),
		transform 0.3s var(--ease);
}
.floating-widget.active .widget-menu {
	opacity: 1;
	transform: translateY(0) scale(1);
	pointer-events: auto;
}
.widget-btn {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #141512;
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 10px 18px;
	color: var(--ink);
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
	transition:
		transform 0.25s var(--ease),
		background 0.25s var(--ease),
		border-color 0.25s var(--ease);
}
.widget-btn:hover {
	background: var(--accent);
	color: #0a0a0a;
	border-color: var(--accent);
	transform: translateX(-4px);
}
.widget-btn svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}
.pulse-badge {
	position: absolute;
	top: -2px;
	right: -2px;
	width: 14px;
	height: 14px;
	background: #ff7b36;
	border: 2px solid #0a0a0a;
	border-radius: 50%;
	animation: pulse 2s infinite;
}
@keyframes pulse {
	0% {
		box-shadow: 0 0 0 0 rgba(255, 123, 54, 0.7);
	}
	70% {
		box-shadow: 0 0 0 8px rgba(255, 123, 54, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(255, 123, 54, 0);
	}
}

/* Toast Container */
.toast-container {
	position: fixed;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1200;
	display: flex;
	flex-direction: column;
	gap: 10px;
	pointer-events: none;
}
.toast {
	background: #181a14;
	color: var(--ink);
	border: 1px solid var(--accent);
	border-radius: 999px;
	padding: 14px 28px;
	font-size: 14px;
	font-weight: 600;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.6);
	opacity: 0;
	transform: translateY(20px);
	transition: all 0.35s var(--ease);
	display: flex;
	align-items: center;
	gap: 12px;
	pointer-events: auto;
}
.toast.show {
	opacity: 1;
	transform: translateY(0);
}
.toast.error {
	border-color: #ff6464;
	color: #ff8a8a;
}

@media (max-width: 1000px) {
	.navlinks {
		display: none;
	}
	.menu {
		display: block;
	}
	.nav.open .navlinks {
		display: flex;
		position: absolute;
		left: 0;
		right: 0;
		top: 82px;
		flex-direction: column;
		align-items: flex-start;
		padding: 28px var(--pad);
		background: #0b0b0b;
		border-bottom: 1px solid var(--line);
	}
	.hero-grid,
	.section-head,
	.content-grid,
	.contact-grid,
	.about-grid,
	.contact-info-grid {
		grid-template-columns: 1fr;
	}
	.hero-side {
		border-left: 0;
		border-top: 1px solid var(--line);
		padding: 30px 0 0;
		min-height: auto;
	}
	.steps {
		grid-template-columns: 1fr 1fr;
	}
	.step {
		border-bottom: 1px solid var(--line);
	}
	.step:nth-child(2n) {
		border-right: 0;
	}
	.content-sticky {
		position: static;
	}
	.three {
		grid-template-columns: 1fr;
	}
	.portrait {
		min-height: 480px;
	}
	.cursor {
		display: none;
	}
}
@media (max-width: 680px) {
	.display,
	.h1 {
		font-size: clamp(48px, 15vw, 78px);
	}
	.cards,
	.service-list,
	.problem-grid,
	.price-grid,
	.stats,
	.footer-grid {
		grid-template-columns: 1fr;
	}
	.card,
	.service-row,
	.stat {
		border-right: 0;
	}
	.steps {
		grid-template-columns: 1fr;
	}
	.step {
		border-right: 0;
	}
	.page-hero .kicker {
		flex-direction: column;
		margin-bottom: 38px;
	}
	.hero {
		min-height: auto;
		padding-top: 70px;
	}
	.hero-meta {
		display: grid;
	}
	.footer-links {
		justify-content: flex-start;
	}
	.footer-bottom {
		flex-direction: column;
	}
	.nav {
		min-height: 72px;
	}
	.nav.open .navlinks {
		top: 72px;
	}
	.nav-cta {
		display: none;
	}
	.floating-widget {
		right: 16px;
		bottom: 16px;
	}
}
@media (max-width: 560px) {
	.contact-channel-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}
	.channel-actions {
		width: 100%;
		justify-content: flex-end;
	}
}

/* Editorial design system — shared by all pages. */
/* Ambient layers move with transforms; no continuous canvas rendering. */
body {
	isolation: isolate;
}
.ambient-background {
	position: fixed;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	z-index: -1;
	background: #10120f;
}
.ambient-glow {
	position: absolute;
	width: 90vmax;
	height: 90vmax;
	border-radius: 50%;
	will-change: transform;
	background: radial-gradient(
		ellipse,
		rgba(137, 185, 60, 0.2),
		rgba(113, 155, 48, 0.055) 38%,
		transparent 67%
	);
}
.glow-one {
	top: -55vmax;
	right: -25vmax;
	animation: ambient-drift 23s ease-in-out infinite alternate;
}
.glow-two {
	bottom: -63vmax;
	left: -35vmax;
	background: radial-gradient(
		ellipse,
		rgba(81, 148, 112, 0.17),
		rgba(135, 170, 66, 0.045) 40%,
		transparent 68%
	);
	animation: ambient-drift-two 29s ease-in-out infinite alternate;
}
.ambient-grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(186, 219, 142, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(186, 219, 142, 0.035) 1px, transparent 1px);
	background-size: 88px 88px;
	mask-image: linear-gradient(180deg, transparent, black 35%, transparent);
	opacity: 0.65;
}
@keyframes ambient-drift {
	from {
		transform: translate(-8vw, 0) scale(1);
	}
	to {
		transform: translate(13vw, 32vh) scale(1.16);
	}
}
@keyframes ambient-drift-two {
	from {
		transform: translate(0, -8vh) scale(1.1);
	}
	to {
		transform: translate(32vw, -40vh) scale(0.9);
	}
}
.motion-paused .ambient-glow,
.motion-paused .marquee-track,
.motion-paused .orbit-core,
.motion-paused .orbit-spark {
	animation-play-state: paused !important;
}
.motion-toggle {
	position: fixed;
	bottom: 16px;
	left: 16px;
	z-index: 800;
	border: 1px solid rgba(197, 239, 105, 0.2);
	background: rgba(16, 21, 13, 0.92);
	color: #aebd9a;
	padding: 8px 12px;
	border-radius: 30px;
	font-size: 10px;
	cursor: pointer;
	letter-spacing: 0.02em;
	backdrop-filter: blur(10px);
}
.motion-toggle:hover {
	color: #e4f3cd;
	border-color: #79984b;
}
.price-filters {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 22px;
	padding: 7px;
	border: 1px solid var(--line);
	background: rgba(21, 27, 17, 0.9);
	border-radius: 14px;
	width: fit-content;
}
.filter-btn {
	appearance: none;
	border: 1px solid transparent;
	background: transparent;
	color: #b4bea7;
	padding: 12px 19px;
	border-radius: 9px;
	font-size: 13px;
	font-weight: 550;
	cursor: pointer;
	transition:
		background 0.2s,
		color 0.2s,
		border-color 0.2s;
}
.filter-btn:hover {
	background: #28351b;
	color: #e8efdf;
}
.filter-btn.active {
	background: var(--accent);
	color: #18210e;
	border-color: var(--accent);
	box-shadow: 0 3px 14px #b9ed5515;
}
.price-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 0 0 24px;
	color: #9ca88f;
	font-size: 12px;
}
.price-toolbar p {
	margin: 0;
}
.price-toolbar [data-price-count] {
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.price[hidden] {
	display: none !important;
}
.price .badge {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	gap: 8px;
	max-width: 100%;
	border: 1px solid #77875a50;
	border-radius: 30px;
	padding: 6px 11px;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: #bcd59d;
	background: #a6d66c0a;
	line-height: 1.5;
}
.price.featured .badge {
	color: #304717;
	border-color: #30471740;
	background: #ffffff26;
}
.price .price-action {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid var(--line);
	padding-top: 20px;
	font-size: 12px;
	color: var(--accent);
	font-weight: 600;
	margin-top: 5px;
}
.price.featured .price-action {
	color: #1d3011;
	border-color: #1d301133;
}
.price .price-action:hover {
	text-decoration: underline;
	text-underline-offset: 5px;
}
.price {
	transition:
		border-color 0.25s,
		box-shadow 0.25s,
		transform 0.25s;
}
.price:hover {
	border-color: #91ad6166;
	box-shadow: 0 14px 35px #0002;
	transform: translateY(-3px);
}
.faq-list {
	display: grid;
	gap: 12px;
}
.faq-item {
	border: 1px solid var(--line);
	border-radius: 14px;
	background: rgba(22, 28, 17, 0.88);
	overflow: hidden;
}
.faq-question {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 25px;
	padding: 25px 28px;
	cursor: pointer;
	font-size: 17px;
	line-height: 1.5;
	font-weight: 550;
	letter-spacing: -0.02em;
}
.faq-question::-webkit-details-marker {
	display: none;
}
.faq-icon {
	width: 30px;
	height: 30px;
	flex-shrink: 0;
	border: 1px solid var(--line);
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: var(--accent);
	transition:
		transform 0.25s,
		background 0.25s;
}
.faq-item[open] .faq-icon {
	transform: rotate(45deg);
	background: #334620;
}
.faq-item[open] {
	border-color: #798f4c66;
}
.faq-question:hover {
	color: var(--accent);
}
.faq-answer {
	padding: 0 28px 26px;
	max-width: 900px;
	color: #b4bfa6;
	font-size: 15px;
	line-height: 1.8;
}
.faq-answer p {
	margin: 0;
}
.modal-is-open {
	overflow: hidden;
}
.modal-backdrop:not(.open) {
	visibility: hidden;
}
.modal-backdrop.open {
	visibility: visible;
}
.widget-menu {
	visibility: hidden;
}
.floating-widget.active .widget-menu {
	visibility: visible;
}
@media (max-width: 680px) {
	.price-filters {
		width: 100%;
		gap: 6px;
		padding: 6px;
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
	.filter-btn {
		padding: 12px 8px;
		font-size: 11px;
		min-height: 44px;
	}
	.price-toolbar {
		font-size: 11px;
		gap: 14px;
		align-items: flex-start;
	}
	.price-toolbar p {
		max-width: 210px;
	}
	.faq-question {
		font-size: 15px;
		padding: 20px;
		gap: 12px;
	}
	.faq-answer {
		padding: 0 20px 22px;
		font-size: 14px;
	}
	.ambient-grid {
		background-size: 64px 64px;
	}
	.motion-toggle {
		font-size: 9px;
		bottom: 12px;
		left: 12px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.motion-toggle {
		display: none;
	}
	.ambient-glow {
		will-change: auto;
	}
}
:root {
	--bg: #10120f;
	--bg2: #181b16;
	--ink: #f1f2e9;
	--muted: #aaafa1;
	--line: rgba(233, 240, 220, 0.14);
	--accent: #c5ef69;
	--max: 1360px;
	--radius: 20px;
	--pad: clamp(20px, 4.5vw, 64px);
}
body:before {
	background:
		radial-gradient(ellipse at 95% 5%, rgba(162, 198, 94, 0.07), transparent 42%),
		linear-gradient(180deg, #10120f, #10120f);
}
#bg-canvas {
	display: block;
	z-index: -1;
	opacity: 0.8;
}
.cursor {
	display: none;
}
.noise {
	opacity: 0.018;
	z-index: 1;
}
:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 5px;
}
.eyebrow {
	font-size: 11px;
	letter-spacing: 0.13em;
	font-weight: 650;
}
.display,
.h1,
.h2,
.h3 {
	letter-spacing: -0.045em;
	font-weight: 600;
}
.display {
	font-size: clamp(50px, 5.6vw, 82px);
	line-height: 1.04;
	text-wrap: initial;
}
.h1 {
	font-size: clamp(44px, 6.5vw, 88px);
	line-height: 1.06;
}
.h2 {
	font-size: clamp(32px, 4vw, 54px);
	line-height: 1.12;
}
.lead {
	font-size: clamp(17px, 1.5vw, 20px);
	line-height: 1.65;
	color: #bfc4b6;
}
.topbar {
	background: rgba(16, 18, 15, 0.94);
	border-color: var(--line);
	backdrop-filter: blur(18px);
}
.nav {
	min-height: 86px;
}
.brand {
	font-size: 16px;
	letter-spacing: -0.035em;
}
.brand i {
	font-size: 19px;
	margin-inline: 5px;
}
.navlinks {
	gap: 26px;
	font-size: 13px;
}
.navlinks a {
	color: #c2c7b9;
}
.navlinks .nav-cta {
	color: var(--ink);
	border-color: var(--line);
	padding: 11px 17px;
	border-radius: 8px;
	font-size: 12px;
}
.navlinks .nav-cta:hover {
	background: var(--accent);
	color: var(--bg);
	border-color: var(--accent);
}
.home-hero {
	min-height: auto;
	padding: 88px 0 76px;
}
.hero-grid {
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	gap: 48px;
	align-items: center;
}
.hero-copy {
	gap: 26px;
}
.hero-copy .lead {
	max-width: 510px;
	margin: 0;
}
.accent-text {
	color: var(--accent);
}
.hero-eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
}
.status-dot {
	width: 7px;
	height: 7px;
	flex-shrink: 0;
	background: var(--accent);
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(197, 239, 105, 0.07);
}
.hero-actions {
	display: flex;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
	margin-top: 6px;
}
.btn {
	border-radius: 9px;
	min-width: 190px;
	padding: 15px 20px;
	font-size: 13px;
	gap: 26px;
	transition:
		background 0.2s,
		color 0.2s,
		transform 0.2s;
}
.btn.accent:hover {
	background: #d5ff83;
	color: #10120f;
}
.hero-secondary {
	font-size: 13px;
	color: #c7cbbf;
	display: flex;
	gap: 14px;
	padding-block: 12px;
}
.hero-secondary:hover {
	color: var(--accent);
}
.hero-meta {
	font-size: 11px;
	color: #a0a695;
	gap: 22px;
	margin-top: 14px;
}
.hero-meta span {
	display: flex;
	align-items: center;
	gap: 8px;
}
.hero-meta span:before {
	content: '•';
	color: var(--accent);
}
.growth-visual {
	align-self: stretch;
	border: 1px solid var(--line);
	border-radius: 22px;
	padding: 24px;
	background:
		radial-gradient(circle at 50% 45%, rgba(197, 239, 105, 0.08), transparent 58%), #151812;
	overflow: hidden;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.visual-caption {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.12em;
	color: #b4bba8;
}
.visual-index {
	color: #7e8974;
}
.orbit-scene {
	position: relative;
	height: 320px;
	max-width: 400px;
	width: 100%;
	margin: auto;
	display: grid;
	place-items: center;
}
.orbit {
	position: absolute;
	border: 1px solid #35412a;
	border-radius: 50%;
	transform: rotate(-24deg);
}
.orbit-outer {
	width: 90%;
	height: 82%;
}
.orbit-inner {
	width: 68%;
	height: 62%;
	border-style: dashed;
	border-color: #333d2b;
}
.orbit-core {
	width: 132px;
	height: 132px;
	border-radius: 50%;
	background: linear-gradient(145deg, #daff99, #95bd42);
	color: #17200d;
	box-shadow:
		0 0 55px rgba(197, 239, 105, 0.13),
		inset 0 0 0 8px rgba(255, 255, 255, 0.1);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transform: rotate(-10deg);
}
.orbit-core > span {
	font-size: 48px;
	letter-spacing: -0.09em;
	font-weight: 750;
}
.orbit-core small {
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 0.1em;
}
.orbit-label {
	position: absolute;
	padding: 9px 13px;
	background: #20271b;
	border: 1px solid #3a472e;
	border-radius: 7px;
	font-size: 11px;
	color: #d5ddc8;
	box-shadow: 0 4px 20px #10120f66;
}
.orbit-top {
	top: 27px;
	left: 14%;
}
.orbit-right {
	right: 0;
	top: 44%;
}
.orbit-bottom {
	bottom: 26px;
	left: 16%;
}
.orbit-spark {
	position: absolute;
	right: 18%;
	top: 14%;
	font-size: 37px;
	color: var(--accent);
}
.visual-result {
	display: flex;
	gap: 14px;
	border-top: 1px solid var(--line);
	padding-top: 20px;
	align-items: center;
}
.result-arrow {
	width: 38px;
	height: 38px;
	flex-shrink: 0;
	display: grid;
	place-items: center;
	background: #26301c;
	border-radius: 10px;
	font-size: 25px;
	color: var(--accent);
}
.visual-result strong {
	font-size: 13px;
	font-weight: 600;
}
.visual-result p {
	font-size: 11px;
	color: #a0aa91;
	line-height: 1.55;
	max-width: 280px;
	margin: 5px 0 0;
}
.marquee {
	background: #171b14;
	border-color: var(--line);
}
.marquee span {
	font-size: 11px;
	letter-spacing: 0.09em;
	color: #b5bdab;
	font-weight: 550;
}
.marquee b {
	font-weight: 400;
	padding-inline: 32px;
}
.marquee-track {
	padding-block: 17px;
	animation-duration: 42s;
}
.section {
	padding: 96px 0;
}
.section-head {
	grid-template-columns: 1fr 2.3fr;
	gap: 45px;
	margin-bottom: 48px;
}
.section-head > .eyebrow {
	padding-top: 9px;
}
.section-intro .lead {
	margin: 20px 0 0;
	max-width: 650px;
}
.cards,
.service-list {
	gap: 14px;
	border: 0;
}
.card,
.service-row {
	border: 1px solid var(--line) !important;
	border-radius: 16px;
	background: #171a14;
	padding: 26px;
	min-height: 245px;
	transition:
		background 0.2s,
		border-color 0.2s,
		transform 0.2s;
}
.card:hover,
.service-row:hover {
	background: #202719;
	border-color: #748c4c !important;
	transform: translateY(-3px);
}
.card .num,
.service-row .num {
	font-size: 11px;
	color: #8e9b7c;
}
.card .arrow {
	font-size: 21px;
	border: 1px solid var(--line);
	width: 35px;
	height: 35px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	right: 25px;
	top: 20px;
}
.card h3,
.service-row h2 {
	font-size: clamp(24px, 2.4vw, 32px);
	letter-spacing: -0.035em;
	font-weight: 550;
	margin: 48px 0 12px;
}
.card p,
.service-row p {
	font-size: 14px;
	line-height: 1.65;
	color: #acb49f;
	margin: 0;
	max-width: 380px;
}
.service-row p {
	padding-right: 0;
}
.steps {
	border: 1px solid var(--line);
	border-radius: 16px;
	overflow: hidden;
	background: #141710;
}
.step {
	min-height: 230px;
	padding: 25px 20px;
}
.step .n {
	font-size: 10px;
}
.step h3 {
	margin: 48px 0 12px;
	font-size: 23px;
	letter-spacing: -0.03em;
	font-weight: 550;
}
.step p {
	font-size: 13px;
	color: #adb5a1;
	line-height: 1.65;
}
.problem {
	background: #171a14;
	border-radius: 16px;
	min-height: 245px;
	padding: 28px;
}
.problem .label {
	font-size: 10px;
}
.problem h3 {
	font-size: 28px;
	font-weight: 550;
	letter-spacing: -0.035em;
	margin-top: 40px;
}
.problem p {
	font-size: 14px;
	color: #adb5a1;
}
.stat {
	padding: 38px 26px;
}
.stat strong {
	font-size: clamp(50px, 6vw, 80px);
	color: var(--accent);
	font-weight: 550;
	letter-spacing: -0.065em;
}
.stat span {
	font-size: 13px;
	color: #adb5a1;
	max-width: 230px;
}
.page-hero {
	padding: 85px 0 55px;
}
.page-hero .kicker {
	margin-bottom: 32px;
}
.page-hero:after {
	pointer-events: none;
	opacity: 0.45;
}
.page-hero .lead {
	max-width: 750px;
	margin-top: 24px;
}
.rich h2 {
	font-size: clamp(26px, 3vw, 40px);
	letter-spacing: -0.03em;
	font-weight: 550;
}
.rich p,
.rich li {
	font-size: 16px;
	line-height: 1.8;
}
.price {
	padding: 30px;
	border-radius: 16px;
	background: #171a14;
	gap: 20px;
	min-height: 280px;
}
.price h3 {
	font-size: 26px;
	letter-spacing: -0.03em;
	font-weight: 550;
}
.price p {
	font-size: 14px;
}
.price strong {
	padding-top: 25px;
	font-weight: 600;
	letter-spacing: -0.04em;
}
.portrait,
.quote-panel,
.contact-card {
	border-radius: 18px;
}
.portrait {
	min-height: 460px;
}
.quote-panel {
	background: #171a14;
}
.quote-panel h2 {
	font-size: clamp(32px, 4vw, 50px);
	letter-spacing: -0.04em;
	font-weight: 550;
}
.contact-card {
	background: #171a14;
}
.contact-channel-row {
	border-radius: 12px;
	padding: 14px;
}
.channel-icon-wrap {
	border-radius: 10px;
}
.channel-link-text {
	font-size: 15px;
}
.channel-tag {
	font-size: 9px;
}
.form-label {
	font-size: 10px;
}
.form-input,
.form-textarea {
	border-radius: 9px;
	background: #11150e;
	font-size: 14px;
}
.form-consent {
	line-height: 1.7;
	font-size: 11px;
}
.form-consent input {
	accent-color: var(--accent);
}
.cta {
	margin: 0 var(--pad);
	border-radius: 24px;
	padding: 65px 0;
	background: var(--accent);
	position: relative;
	overflow: hidden;
}
.cta .container {
	position: relative;
	z-index: 1;
}
.cta .h2 {
	max-width: 850px;
	font-size: clamp(32px, 4.4vw, 60px);
	letter-spacing: -0.05em;
}
.cta p {
	font-size: 16px;
	max-width: 590px;
	line-height: 1.65;
}
.cta .btn {
	background: #17200f;
	color: #f1f5e8;
	border-color: #17200f;
}
.cta .btn:hover {
	background: #2b391c;
}
.cta:after {
	content: none;
	position: absolute;
	right: 35px;
	bottom: -75px;
	font-size: 350px;
	line-height: 1;
	opacity: 0.08;
	pointer-events: none;
}
.footer {
	padding: 64px 0 28px;
}
.footer .brand {
	font-size: clamp(20px, 2.6vw, 34px);
	letter-spacing: -0.04em;
}
.footer-links {
	gap: 15px 24px;
	font-size: 12px;
}
.footer-bottom {
	font-size: 11px;
	color: #a0a695;
	margin-top: 35px;
	padding-top: 22px;
}
.reveal {
	opacity: 1;
	transform: none;
}
.modal-window {
	max-height: calc(100dvh - 40px);
	overflow-y: auto;
	border-radius: 18px;
}
.toast {
	border-radius: 12px;
	max-width: calc(100vw - 32px);
}
.widget-toggle {
	width: 48px;
	height: 48px;
	box-shadow: 0 5px 18px #0005;
}
.pulse-badge {
	display: none;
}
@media (min-width: 1001px) and (max-width: 1150px) {
	.hero-grid {
		gap: 24px;
	}
	.display {
		font-size: 61px;
	}
	.navlinks {
		gap: 16px;
	}
	.brand {
		font-size: 14px;
	}
	.growth-visual {
		padding: 20px;
	}
	.hero-actions {
		gap: 15px;
	}
}
@media (max-width: 1000px) {
	.hero-grid {
		grid-template-columns: 1fr 1fr;
		gap: 25px;
	}
	.display {
		font-size: clamp(42px, 6vw, 64px);
	}
	.home-hero {
		padding: 60px 0;
	}
	.growth-visual {
		padding: 20px;
		border-top: 1px solid var(--line);
	}
	.hero-actions {
		gap: 12px;
	}
	.hero-meta {
		gap: 10px;
	}
	.orbit-scene {
		height: 285px;
	}
	.orbit-core {
		width: 110px;
		height: 110px;
	}
	.orbit-label {
		font-size: 9px;
		padding: 8px;
	}
	.section-head {
		grid-template-columns: 1fr;
		gap: 18px;
	}
	.section {
		padding: 72px 0;
	}
	.steps {
		grid-template-columns: 1fr 1fr;
	}
	.step:last-child {
		grid-column: 1/-1;
	}
	.nav.open .navlinks {
		top: 86px;
		background: #171b14;
		gap: 24px;
		box-shadow: 0 16px 30px #0005;
	}
	.menu {
		width: 44px;
		height: 44px;
		font-size: 22px;
		border: 1px solid var(--line);
		border-radius: 8px;
	}
	.content-grid {
		gap: 40px;
	}
}
@media (max-width: 680px) {
	.nav {
		min-height: 72px;
	}
	.nav.open .navlinks {
		top: 72px;
	}
	.brand {
		font-size: 14px;
	}
	.home-hero {
		padding: 44px 0;
	}
	.hero-grid {
		grid-template-columns: 1fr;
		gap: 34px;
	}
	.display {
		font-size: clamp(39px, 9.6vw, 65px);
		line-height: 1.09;
		letter-spacing: -0.055em;
	}
	.hero-copy {
		gap: 23px;
	}
	.hero-eyebrow {
		font-size: 9px;
	}
	.hero-copy .lead {
		font-size: 16px;
	}
	.hero-actions {
		gap: 20px;
	}
	.hero-actions .btn {
		min-width: 175px;
	}
	.hero-secondary {
		font-size: 12px;
	}
	.hero-meta {
		display: flex;
		gap: 20px;
		font-size: 10px;
		margin-top: 0;
	}
	.growth-visual {
		max-width: 480px;
		width: 100%;
		justify-self: center;
	}
	.orbit-scene {
		height: 260px;
		max-width: 330px;
	}
	.orbit-core {
		width: 116px;
		height: 116px;
	}
	.orbit-label {
		font-size: 10px;
	}
	.visual-result p {
		max-width: none;
	}
	.section {
		padding: 58px 0;
	}
	.section-head {
		margin-bottom: 30px;
	}
	.cards,
	.service-list {
		gap: 12px;
	}
	.card,
	.service-row {
		min-height: 220px;
		padding: 24px;
	}
	.card h3,
	.service-row h2 {
		margin-top: 44px;
	}
	.steps {
		grid-template-columns: 1fr;
	}
	.step {
		min-height: auto;
		padding: 24px;
	}
	.step h3 {
		margin: 20px 0 10px;
	}
	.problem {
		min-height: 225px;
		padding: 24px;
	}
	.problem h3 {
		font-size: 25px;
		margin-top: 30px;
	}
	.stat {
		padding: 28px 0;
		border-bottom: 1px solid var(--line);
	}
	.stat:last-child {
		border-bottom: 0;
	}
	.stat span {
		max-width: none;
	}
	.page-hero {
		padding: 55px 0 40px;
	}
	.page-hero .h1 {
		font-size: clamp(38px, 9.5vw, 58px);
	}
	.page-hero:after {
		opacity: 0.2;
	}
	.portrait {
		min-height: 340px;
	}
	.cta {
		margin-inline: 12px;
		padding: 40px 0;
		border-radius: 16px;
	}
	.cta .container {
		padding-inline: 24px;
	}
	.cta .h2 {
		font-size: 34px;
	}
	.cta:after {
		font-size: 220px;
		right: -10px;
		bottom: -45px;
	}
	.footer-grid {
		gap: 26px;
	}
	.footer .brand {
		font-size: 23px;
	}
	.footer-bottom {
		gap: 10px;
		padding-bottom: 34px;
	}
	.contact-card {
		padding: 24px;
	}
	.channel-picker-options {
		gap: 5px;
	}
	.picker-option span {
		padding: 10px 7px;
	}
	.price strong {
		font-size: 32px;
	}
}
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	*,
	*:before,
	*:after {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}
	.reveal {
		opacity: 1;
		transform: none;
	}
}

/* Creative direction: oversized type, kinetic stickers and saturated panels. */
/* Method page and readable document layout. */
.approach-creative {
	--service-color: #ff9569;
}
.approach-creative .editorial-hero .btn {
	margin-top: 22px;
	border-radius: 999px;
}
.approach-creative .editorial-highlight {
	background: var(--creative-orange);
}
.method-poster {
	padding: 30px;
	border-radius: 20px;
	background: var(--creative-purple);
	color: #281c37;
	transform: rotate(3deg);
	box-shadow: 10px 12px 0 #b6a2ff12;
}
.method-poster .eyebrow {
	color: #413053;
	font-size: 10px;
	display: block;
	margin-bottom: 32px;
}
.method-label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	padding: 17px 16px;
	border-radius: 9px;
	background: #f2eddf;
	color: #282232;
	font-size: 16px;
	font-weight: 650;
	box-shadow: 3px 4px 0 #281c371c;
	margin: 12px 0;
	transform: rotate(-4deg);
}
.method-label:nth-of-type(2) {
	background: var(--creative-orange);
	transform: rotate(3deg);
}
.method-label:nth-of-type(3) {
	background: var(--accent);
	transform: rotate(-2deg);
}
.method-label span {
	font-size: 28px;
	line-height: 1;
}
.method-poster p {
	font-size: 12px;
	line-height: 1.7;
	margin: 26px 0 0;
}
.method-heading {
	margin-bottom: 32px;
}
.method-heading .h2 {
	margin-top: 15px;
}
#method {
	scroll-margin-top: 100px;
}
.approach-creative .steps {
	border: 0;
	gap: 14px;
	grid-template-columns: repeat(6, 1fr);
	background: none;
	overflow: visible;
}
.approach-creative .step {
	grid-column: span 2;
	border: 1px solid var(--line);
	border-radius: 18px;
	background: #191d15;
	min-height: 250px;
	padding: 28px;
}
.approach-creative .step:nth-child(4),
.approach-creative .step:nth-child(5) {
	grid-column: span 3;
}
.approach-creative .step:first-child {
	background: var(--accent);
	color: #22291a;
}
.approach-creative .step:nth-child(3) {
	background: var(--creative-purple);
	color: #2b1e3d;
}
.approach-creative .step:nth-child(5) {
	background: var(--creative-orange);
	color: #321d12;
}
.approach-creative .step .n {
	font-size: 38px;
	opacity: 0.7;
	line-height: 1;
	color: inherit;
	font-weight: 600;
}
.approach-creative .step h3 {
	margin-top: 35px;
}
.approach-creative .step p {
	color: inherit;
	opacity: 0.85;
	font-size: 14px;
}
.privacy-creative .page-hero:after {
	display: none;
}
.privacy-creative .page-hero .h1 {
	max-width: 1050px;
	font-size: clamp(38px, 5.5vw, 78px);
}
.privacy-creative .page-hero .h1 > span {
	color: var(--creative-purple);
}
.privacy-grid {
	display: grid;
	grid-template-columns: 0.75fr 1.6fr;
	gap: 55px;
}
.privacy-navigation {
	position: sticky;
	top: 115px;
	align-self: start;
}
.privacy-navigation nav {
	display: grid;
	gap: 0;
	margin: 22px 0 30px;
}
.privacy-navigation nav a {
	padding: 17px 0;
	border-bottom: 1px solid var(--line);
	font-size: 13px;
	color: #b9c3ad;
}
.privacy-navigation nav a:hover {
	color: var(--accent);
}
.privacy-contact {
	position: relative;
	padding: 25px;
	background: var(--creative-purple);
	color: #2b1c3c;
	border-radius: 16px;
}
.privacy-contact > span {
	position: absolute;
	right: 20px;
	top: 15px;
	font-size: 28px;
}
.privacy-contact h2 {
	font-size: 21px;
	margin: 18px 0 14px;
	font-weight: 600;
}
.privacy-contact p {
	font-size: 13px;
	line-height: 1.8;
}
.privacy-contact > a {
	font-size: 13px;
	text-decoration: underline;
	text-underline-offset: 4px;
	overflow-wrap: anywhere;
}
.privacy-document {
	display: grid;
	gap: 18px;
	max-width: 850px;
}
.privacy-document section,
.privacy-document section:first-child {
	padding: 32px;
	border: 1px solid var(--line);
	border-radius: 16px;
	background: rgba(24, 29, 20, 0.95);
	scroll-margin-top: 110px;
}
.document-number {
	display: block;
	font-size: 10px;
	letter-spacing: 0.1em;
	color: var(--creative-purple);
	margin-bottom: 24px;
}
.privacy-document h2 {
	font-size: 28px;
	line-height: 1.35;
	margin-bottom: 18px;
}
.privacy-document p {
	font-size: 16px;
	line-height: 1.85;
	margin-bottom: 0;
}
.privacy-document a {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 4px;
	overflow-wrap: anywhere;
}
@media (max-width: 1000px) {
	.privacy-grid {
		gap: 30px;
		grid-template-columns: 1fr 2fr;
	}
	.method-poster {
		padding: 20px;
	}
	.method-label {
		font-size: 13px;
	}
	.approach-creative .step {
		grid-column: span 3;
	}
	.approach-creative .step:last-child {
		grid-column: 1/-1;
	}
}
@media (max-width: 680px) {
	.privacy-grid {
		grid-template-columns: 1fr;
	}
	.privacy-navigation {
		position: static;
	}
	.privacy-navigation nav {
		grid-template-columns: 1fr 1fr;
		gap: 0 16px;
	}
	.privacy-navigation nav a {
		font-size: 11px;
	}
	.privacy-document section,
	.privacy-document section:first-child {
		padding: 24px;
	}
	.privacy-document h2 {
		font-size: 24px;
	}
	.privacy-document p {
		font-size: 15px;
	}
	.privacy-creative .page-hero .h1 {
		font-size: 37px;
	}
	.privacy-creative .kicker {
		gap: 15px;
	}
	.method-poster {
		width: calc(100% - 10px);
		max-width: 390px;
		justify-self: center;
		padding: 25px;
	}
	.method-label {
		font-size: 16px;
	}
	.approach-creative .steps {
		grid-template-columns: 1fr;
	}
	.approach-creative .step,
	.approach-creative .step:nth-child(4),
	.approach-creative .step:nth-child(5) {
		grid-column: auto;
		min-height: 230px;
	}
	.approach-creative .step h3 {
		margin-top: 28px;
	}
}
/* About and pricing editorial layouts. */
.editorial-hero:after {
	display: none;
}
.editorial-hero .kicker {
	align-items: center;
	margin-bottom: 42px;
}
.editorial-index {
	font-size: 10px;
	letter-spacing: 0.12em;
	color: #a4af98;
}
.editorial-grid {
	display: grid;
	grid-template-columns: 1.65fr 0.85fr;
	align-items: center;
	gap: 55px;
}
.editorial-hero .h1 {
	font-size: clamp(44px, 5.2vw, 74px);
	letter-spacing: -0.06em;
	font-weight: 700;
	line-height: 1.15;
}
.editorial-highlight {
	display: inline-block;
	background: var(--creative-purple);
	color: #21172e;
	padding: 0 0.1em 0.05em;
	transform: rotate(-2deg);
	border-radius: 4px;
}
.pricing-creative .editorial-highlight {
	background: var(--accent);
}
.editorial-hero .lead {
	font-size: 17px;
	max-width: 600px;
	margin-top: 28px;
}
.experience-seal {
	position: relative;
	aspect-ratio: 1;
	max-width: 320px;
	width: 100%;
	justify-self: center;
	border-radius: 50%;
	background: var(--creative-orange);
	color: #2c170e;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transform: rotate(9deg);
	outline: 1px dashed #2c170e66;
	outline-offset: -15px;
	box-shadow: 10px 12px 0 #ff865415;
}
.experience-seal > span {
	font-size: 11px;
	font-weight: 650;
	letter-spacing: 0.1em;
}
.experience-seal strong {
	font-size: clamp(65px, 7vw, 95px);
	letter-spacing: -0.09em;
	line-height: 1.3;
}
.experience-seal i {
	position: absolute;
	right: 0;
	bottom: 0;
	font-style: normal;
	font-size: 75px;
	color: #f9f0d7;
	animation: creative-spin 25s linear infinite;
}
.team-section {
	padding-top: 70px;
}
.about-creative .about-grid {
	gap: 22px;
	grid-template-columns: 1fr 1.1fr;
}
.about-creative .portrait {
	position: relative;
	min-height: 520px;
	background: #2c3025;
	border-radius: 22px;
}
.about-creative .portrait img {
	object-position: center top;
}
.portrait-caption {
	position: absolute;
	bottom: 22px;
	left: 22px;
	right: 22px;
	display: flex;
	flex-direction: column;
	background: var(--accent);
	color: #192010;
	padding: 20px 23px;
	border-radius: 10px;
	transform: rotate(-2deg);
	box-shadow: 4px 5px 0 #10120f33;
	gap: 5px;
}
.portrait-caption > span {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
.portrait-caption strong {
	font-size: 25px;
	letter-spacing: -0.04em;
}
.portrait-caption small {
	font-size: 11px;
}
.about-creative .quote-panel {
	position: relative;
	background: var(--creative-purple);
	color: #281c39;
	border: 0;
	padding: 40px;
	overflow: hidden;
}
.quote-mark {
	display: block;
	font-family: Georgia, serif;
	font-size: 130px;
	line-height: 0.75;
	color: #463160;
	margin: 15px 0;
}
.about-creative .quote-panel .eyebrow {
	color: #4c366c;
}
.about-creative .quote-panel h2 {
	font-size: clamp(36px, 4vw, 53px);
	margin: 20px 0;
}
.about-creative .quote-panel .lead {
	font-size: 18px;
	color: #3d2d50;
	line-height: 1.7;
}
.about-creative .quote-panel .small {
	color: #4b3666;
	border-top: 1px solid #35204b33;
	padding-top: 20px;
	margin-top: 20px;
}
.about-creative .stats {
	gap: 16px;
	border: 0;
}
.about-creative .stat {
	background: #1a1f15;
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 32px;
}
.about-creative .stat strong {
	font-size: 70px;
}
.manifesto-section {
	padding-top: 0;
}
.manifesto-head {
	display: flex;
	justify-content: space-between;
	align-items: start;
	gap: 30px;
	margin-bottom: 38px;
}
.manifesto-head .h2 {
	max-width: 650px;
}
.principle-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
.principle-grid article {
	position: relative;
	overflow: hidden;
	min-height: 355px;
	padding: 30px;
	border-radius: 18px;
	background: var(--accent);
	color: #24291a;
}
.principle-grid article:nth-child(2) {
	background: var(--creative-orange);
	color: #301a12;
}
.principle-grid article:nth-child(3) {
	background: #eeeada;
	color: #24281e;
}
.principle-grid article > span {
	font-size: 10px;
	letter-spacing: 0.07em;
	font-weight: 600;
}
.principle-grid h3 {
	font-size: 31px;
	letter-spacing: -0.045em;
	line-height: 1.12;
	font-weight: 650;
	margin: 60px 0 20px;
}
.principle-grid p {
	font-size: 14px;
	line-height: 1.75;
	margin: 0;
	position: relative;
	z-index: 1;
}
.principle-grid b {
	position: absolute;
	top: 15px;
	right: 20px;
	font-size: 48px;
	font-weight: 400;
	line-height: 1;
	opacity: 0.6;
}
.pricing-creative .editorial-hero .btn {
	margin-top: 18px;
	border-radius: 999px;
}
.price-ticket {
	position: relative;
	padding: 27px;
	background: var(--creative-purple);
	color: #291b3c;
	border-radius: 17px;
	transform: rotate(5deg);
	box-shadow: 10px 12px 0 #b6a2ff12;
}
.ticket-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 10px;
	font-weight: 650;
	letter-spacing: 0.1em;
}
.ticket-top > span:last-child {
	font-size: 40px;
	line-height: 1;
}
.price-ticket > p {
	font-size: 13px;
	margin: 45px 0 9px;
}
.price-ticket > strong {
	display: block;
	white-space: nowrap;
	font-size: clamp(35px, 3.7vw, 52px);
	letter-spacing: -0.06em;
	line-height: 1.2;
	font-weight: 750;
}
.price-ticket > strong small {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: -0.02em;
}
.price-ticket > strong > span {
	font-size: 30px;
}
.ticket-divider {
	border-top: 2px dashed #291b3c44;
	margin: 30px -27px 23px;
	position: relative;
}
.ticket-divider:before,
.ticket-divider:after {
	content: '';
	position: absolute;
	top: -10px;
	width: 18px;
	height: 18px;
	background: #10120f;
	border-radius: 50%;
}
.ticket-divider:before {
	left: -9px;
}
.ticket-divider:after {
	right: -9px;
}
.ticket-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	font-size: 11px;
	line-height: 1.5;
}
.ticket-bars {
	width: 80px;
	height: 40px;
	background: repeating-linear-gradient(
		90deg,
		#291b3c 0 2px,
		transparent 2px 5px,
		#291b3c 5px 9px,
		transparent 9px 11px
	);
	flex-shrink: 0;
}
#choose-service {
	scroll-margin-top: 95px;
}
.pricing-guide {
	margin-bottom: 30px;
}
.pricing-guide h2 {
	font-size: clamp(30px, 3vw, 43px);
	letter-spacing: -0.045em;
	font-weight: 600;
	margin: 12px 0;
}
.pricing-guide p {
	font-size: 14px;
	color: #aeb99f;
}
.pricing-creative .price-grid {
	gap: 20px;
	counter-reset: offer;
}
.pricing-creative .price {
	position: relative;
	counter-increment: offer;
	min-height: 330px;
	padding: 30px;
	border-radius: 20px;
	overflow: hidden;
	border-top: 3px solid var(--accent);
}
.pricing-creative .price:before {
	content: counter(offer, decimal-leading-zero);
	position: absolute;
	right: 23px;
	top: 22px;
	font-size: 12px;
	opacity: 0.55;
	font-variant-numeric: tabular-nums;
}
.pricing-creative .price .badge {
	margin-right: 30px;
}
.pricing-creative .price:nth-child(3n + 2) {
	border-top-color: var(--creative-purple);
}
.pricing-creative .price:nth-child(3n) {
	border-top-color: var(--creative-orange);
}
.pricing-creative .price h3 {
	font-size: 29px;
	font-weight: 650;
	letter-spacing: -0.04em;
	max-width: 430px;
}
.pricing-creative .price strong {
	font-size: 49px;
	padding-top: 24px;
	letter-spacing: -0.06em;
}
.pricing-creative .price .price-action {
	padding: 15px 18px;
	background: #ffffff08;
	border: 1px solid #ffffff18;
	border-radius: 10px;
	margin-top: 8px;
	transition: background 0.2s;
}
.pricing-creative .price .price-action:hover {
	background: #ffffff14;
	text-decoration: none;
}
.pricing-creative .price.featured .price-action {
	background: #23182e;
	color: #f9f5eb;
	border-color: #23182e;
}
.pricing-creative .price.featured .price-action:hover {
	background: #392a49;
}
.pricing-creative .price.featured {
	border-color: transparent;
}
.pricing-help {
	display: flex;
	align-items: center;
	gap: 28px;
	padding: 30px;
	border: 1px dashed #b6a2ff55;
	border-radius: 18px;
	margin-top: 28px;
	background: #b6a2ff09;
}
.help-spark {
	font-size: 60px;
	color: var(--creative-purple);
	line-height: 1;
}
.pricing-help h3 {
	font-size: 23px;
	letter-spacing: -0.035em;
	margin: 0 0 8px;
	font-weight: 600;
}
.pricing-help p {
	font-size: 13px;
	color: #aab49e;
	margin: 0;
	line-height: 1.7;
}
.pricing-help .btn {
	margin-left: auto;
	white-space: nowrap;
	font-size: 12px;
	border-color: #b6a2ff66;
	min-width: auto;
}
.motion-paused .experience-seal i {
	animation-play-state: paused !important;
}
@media (max-width: 1000px) {
	.editorial-grid {
		gap: 30px;
		grid-template-columns: 1.5fr 1fr;
	}
	.editorial-hero .h1 {
		font-size: 48px;
	}
	.about-creative .about-grid {
		grid-template-columns: 1fr 1fr;
	}
	.about-creative .quote-panel {
		padding: 28px;
	}
	.about-creative .portrait {
		min-height: 480px;
	}
	.principle-grid {
		grid-template-columns: 1fr;
	}
	.principle-grid article {
		min-height: 240px;
	}
	.principle-grid h3 {
		margin-top: 35px;
	}
	.pricing-help {
		flex-wrap: wrap;
	}
	.pricing-help .btn {
		margin-left: 0;
	}
	.price-ticket {
		padding: 22px;
	}
	.ticket-divider {
		margin-inline: -22px;
	}
}
@media (max-width: 680px) {
	.editorial-hero .kicker {
		gap: 15px;
		flex-direction: row;
		margin-bottom: 28px;
	}
	.editorial-index {
		font-size: 8px;
	}
	.editorial-hero .eyebrow {
		font-size: 9px;
	}
	.editorial-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.editorial-hero .h1 {
		font-size: clamp(34px, 8.7vw, 51px);
		line-height: 1.2;
	}
	.editorial-highlight {
		max-width: 100%;
	}
	.editorial-hero .lead {
		font-size: 16px;
	}
	.experience-seal {
		width: 220px;
	}
	.experience-seal strong {
		font-size: 73px;
	}
	.experience-seal i {
		font-size: 55px;
	}
	.team-section {
		padding-top: 48px;
	}
	.about-creative .about-grid {
		grid-template-columns: 1fr;
	}
	.about-creative .portrait {
		min-height: 390px;
		max-height: 470px;
	}
	.about-creative .quote-panel h2 {
		font-size: 37px;
	}
	.about-creative .quote-panel .lead {
		font-size: 16px;
	}
	.about-creative .stats {
		margin-top: 30px !important;
	}
	.about-creative .stat {
		padding: 28px;
	}
	.about-creative .stat strong {
		font-size: 60px;
	}
	.manifesto-head {
		flex-direction: column;
		gap: 18px;
	}
	.principle-grid article {
		padding: 25px;
	}
	.principle-grid h3 {
		font-size: 30px;
	}
	.price-ticket {
		width: calc(100% - 20px);
		max-width: 370px;
		justify-self: center;
		transform: rotate(3deg);
		padding: 26px;
	}
	.price-ticket > strong {
		font-size: 52px;
	}
	.ticket-divider {
		margin-inline: -26px;
	}
	.price-ticket > p {
		margin-top: 32px;
	}
	.pricing-creative .price {
		padding: 25px;
		min-height: 320px;
	}
	.pricing-creative .price h3 {
		font-size: 26px;
	}
	.pricing-creative .price strong {
		font-size: 43px;
	}
	.pricing-help {
		padding: 24px;
		gap: 18px;
	}
	.help-spark {
		font-size: 43px;
	}
	.pricing-help .btn {
		width: 100%;
		justify-content: center;
	}
	.pricing-help h3 {
		font-size: 22px;
	}
}
/* Service detail: numbered editorial cards and a kinetic cover for each offer. */
.service-detail {
	--service-color: #ceff47;
}
.service-hero {
	padding: 35px 0 65px;
}
.service-hero:after {
	display: none;
}
.service-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 11px;
	color: #a5af9a;
	margin-bottom: 45px;
}
.service-breadcrumb a:hover {
	color: var(--service-color);
}
.service-breadcrumb [aria-current] {
	color: #e1e7d6;
}
.service-hero-grid {
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	align-items: center;
	gap: 65px;
}
.service-kicker {
	display: flex;
	align-items: center;
	gap: 20px;
	font-size: 10px;
	letter-spacing: 0.1em;
	color: #a8b399;
	margin-bottom: 26px;
}
.service-kicker > span:first-child {
	padding: 7px 12px;
	border-radius: 30px;
	color: var(--service-color);
	border: 1px solid var(--service-color);
}
.service-hero .h1 {
	font-size: clamp(42px, 5.2vw, 74px);
	font-weight: 650;
	letter-spacing: -0.055em;
	line-height: 1.08;
}
.service-hero .lead {
	font-size: 17px;
	margin-top: 25px;
	max-width: 600px;
}
.service-hero-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 24px;
	margin-top: 32px;
}
.service-hero-actions .btn {
	background: var(--service-color);
	border-color: var(--service-color);
	color: #18151e;
	border-radius: 999px;
}
.service-jump {
	font-size: 12px;
	color: #c7cfbc;
	padding: 12px 0;
}
.service-poster {
	position: relative;
	background: var(--service-color);
	color: #201927;
	padding: 25px;
	border-radius: 18px;
	transform: rotate(3deg);
	box-shadow: 10px 12px 0 #ffffff0a;
	min-height: 400px;
	overflow: hidden;
}
.poster-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 9px;
	letter-spacing: 0.12em;
	font-weight: 650;
}
.poster-top > span:last-child {
	font-size: 22px;
}
.poster-art {
	height: 225px;
	position: relative;
	display: grid;
	place-items: center;
}
.poster-number {
	font-size: 165px;
	line-height: 1;
	font-weight: 800;
	letter-spacing: -0.095em;
	z-index: 1;
	color: #211b29;
}
.poster-ring {
	position: absolute;
	width: 225px;
	height: 160px;
	border: 1px solid #211b2960;
	border-radius: 50%;
	animation: creative-orbit 20s linear infinite;
}
.poster-ring.second {
	width: 160px;
	height: 225px;
	animation-direction: reverse;
}
.poster-arrow {
	position: absolute;
	right: 8px;
	top: 30px;
	font-size: 60px;
	transform: rotate(-10deg);
	color: #fffbed;
}
.poster-tags {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	z-index: 2;
	justify-content: center;
	min-height: 46px;
}
.poster-tag {
	font-size: 11px;
	background: #241e2d;
	color: #f8f4e9;
	padding: 9px 12px;
	align-self: center;
	border-radius: 4px;
	transform: rotate(-5deg);
}
.tag-1 {
	transform: rotate(5deg);
	background: #fff9e9;
	color: #211b29;
}
.tag-2 {
	transform: rotate(-2deg);
}
.poster-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid #211b2933;
	margin-top: 20px;
	padding-top: 18px;
	font-size: 12px;
	line-height: 1.2;
	font-weight: 750;
	letter-spacing: -0.02em;
}
.poster-star {
	font-size: 38px;
	font-weight: 400;
	animation: creative-spin 20s linear infinite;
}
#service-details {
	scroll-margin-top: 95px;
}
.service-detail .content-grid {
	grid-template-columns: 0.8fr 1.4fr;
	gap: 45px;
}
.service-note {
	border: 1px solid #ffffff20;
	background: #181b16;
	border-radius: 18px;
	padding: 30px;
	overflow: hidden;
}
.service-note .eyebrow {
	color: var(--service-color);
	font-size: 9px;
	max-width: 190px;
}
.service-note .h2 {
	font-size: 36px;
	line-height: 1.13;
	margin-top: 32px;
}
.service-note p {
	color: #aeb6a3;
	font-size: 14px;
	line-height: 1.8;
	margin: 24px 0;
}
.service-note .btn {
	color: #17131d;
	background: var(--service-color);
	border-color: var(--service-color);
	width: 100%;
	font-size: 12px;
}
.note-pin {
	position: absolute;
	right: 20px;
	top: 15px;
	font-size: 38px;
	color: var(--service-color);
	transform: rotate(15deg);
}
.note-back {
	display: block;
	margin-top: 20px;
	font-size: 11px;
	color: #aeb6a3;
}
.service-content {
	display: grid;
	gap: 16px;
	counter-reset: service-block;
}
.service-content section,
.service-content section:first-child {
	position: relative;
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 30px;
	background: rgba(23, 28, 19, 0.94);
	counter-increment: service-block;
	overflow: hidden;
}
.service-content section:before {
	content: counter(service-block, decimal-leading-zero);
	display: inline-block;
	font-size: 11px;
	border: 1px solid #ffffff25;
	border-radius: 999px;
	color: var(--service-color);
	padding: 5px 10px;
	margin-bottom: 28px;
}
.service-content h2 {
	font-size: 30px;
	letter-spacing: -0.04em;
	margin: 0 0 18px;
	line-height: 1.2;
	font-weight: 600;
}
.service-content p,
.service-content li {
	font-size: 15px;
	line-height: 1.75;
}
.service-content p:last-child {
	margin-bottom: 0;
}
.service-content section:first-child {
	background: var(--service-color);
	color: #231c2c;
	border: 0;
}
.service-content section:first-child p,
.service-content section:first-child li {
	color: #342d3b;
}
.service-content section:first-child:before {
	color: #342d3b;
	border-color: #342d3b44;
}
.service-content ul {
	list-style: none;
	padding: 0;
	gap: 0;
	margin: 0;
}
.service-content li {
	padding: 14px 0 14px 27px;
	position: relative;
	border-bottom: 1px solid var(--line);
}
.service-content li:last-child {
	border: 0;
}
.service-content li:before {
	content: '•';
	position: absolute;
	left: 0;
	color: var(--service-color);
}
.service-related {
	padding-top: 20px;
}
.related-heading {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 24px;
	margin-bottom: 32px;
}
.related-heading .h2 {
	margin-top: 15px;
}
.related-heading > a {
	font-size: 12px;
	color: var(--service-color);
	white-space: nowrap;
}
.related-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}
.related-card {
	position: relative;
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 28px;
	background: #161b13;
	transition:
		transform 0.25s,
		border-color 0.25s;
}
.related-card > span:first-child {
	font-size: 10px;
	letter-spacing: 0.12em;
	color: var(--related-color);
}
.related-arrow {
	position: absolute;
	right: 24px;
	top: 20px;
	font-size: 28px;
	color: var(--related-color);
}
.related-card h3 {
	font-size: 28px;
	font-weight: 550;
	letter-spacing: -0.035em;
	line-height: 1.2;
	margin: 45px 0 18px;
}
.related-card p {
	font-size: 14px;
	color: #afb9a1;
	line-height: 1.75;
	margin: 0;
}
.related-card:hover {
	transform: translateY(-5px);
	border-color: var(--related-color);
}
.motion-paused .poster-ring,
.motion-paused .poster-star {
	animation-play-state: paused !important;
}
@media (max-width: 1000px) {
	.service-hero-grid {
		gap: 30px;
		grid-template-columns: 1.2fr 1fr;
	}
	.service-hero .h1 {
		font-size: 48px;
	}
	.service-poster {
		padding: 20px;
		min-height: 380px;
	}
	.poster-number {
		font-size: 135px;
	}
	.poster-tag {
		font-size: 9px;
		padding: 8px;
	}
	.service-detail .content-grid {
		grid-template-columns: 1fr;
	}
	.service-note .h2 {
		font-size: 36px;
	}
	.service-note {
		max-width: none;
	}
	.service-note .btn {
		width: auto;
	}
	.service-content {
		grid-template-columns: 1fr 1fr;
		align-items: start;
	}
	.service-content section:first-child {
		grid-column: 1/-1;
	}
}
@media (max-width: 680px) {
	.service-breadcrumb {
		margin-bottom: 30px;
		font-size: 10px;
	}
	.service-hero-grid {
		grid-template-columns: 1fr;
		gap: 38px;
	}
	.service-detail .service-hero .h1 {
		font-size: clamp(36px, 10vw, 52px);
	}
	.service-hero .lead {
		font-size: 16px;
	}
	.service-poster {
		width: calc(100% - 10px);
		max-width: 430px;
		justify-self: center;
		min-height: 350px;
	}
	.poster-art {
		height: 200px;
	}
	.poster-tag {
		font-size: 10px;
	}
	.service-content {
		grid-template-columns: 1fr;
	}
	.service-content section,
	.service-content section:first-child {
		padding: 24px;
	}
	.service-content h2 {
		font-size: 26px;
	}
	.service-content p,
	.service-content li {
		font-size: 14px;
	}
	.service-note {
		padding: 25px;
	}
	.service-note .h2 {
		font-size: 32px;
	}
	.related-grid {
		grid-template-columns: 1fr;
	}
	.related-heading {
		align-items: start;
		flex-direction: column;
		gap: 16px;
	}
	.related-card h3 {
		font-size: 26px;
	}
	.service-kicker {
		font-size: 9px;
		gap: 14px;
	}
}
:root {
	--accent: #ceff47;
	--creative-purple: #b6a2ff;
	--creative-orange: #ff8654;
}
.home-hero {
	padding: 70px 0 80px;
}
.hero-grid {
	grid-template-columns: 1.2fr 1fr;
	gap: 40px;
}
.creative-title {
	font-size: clamp(52px, 6.6vw, 94px);
	font-weight: 750;
	line-height: 1.04;
	letter-spacing: -0.065em;
	margin: 28px 0 10px;
}
.headline-sticker {
	display: inline-block;
	background: var(--accent);
	color: #12160d;
	padding: 0 0.13em 0.08em;
	transform: rotate(-4deg);
	border-radius: 5px;
	animation: sticker-bob 7s ease-in-out infinite;
}
.title-outline {
	color: var(--ink);
	-webkit-text-stroke: 1px var(--ink);
}
.hero-copy .lead {
	max-width: 460px;
	font-size: 17px;
}
.hero-eyebrow {
	letter-spacing: 0.12em;
}
.hero-actions .btn {
	border-radius: 999px;
	padding: 18px 24px;
}
.hero-actions .btn span {
	font-size: 20px;
}
.hero-meta {
	margin-top: 9px;
}
.growth-visual {
	position: relative;
	border: 0;
	border-radius: 24px;
	background: var(--creative-purple);
	color: #211535;
	transform: rotate(3deg);
	margin: 12px 0 18px;
	box-shadow: 12px 15px 0 #b6a2ff12;
	min-height: 490px;
	padding: 28px;
	isolation: isolate;
}
.growth-visual:before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	background:
		repeating-linear-gradient(0deg, transparent 0 39px, #29194615 40px),
		repeating-linear-gradient(90deg, transparent 0 39px, #29194615 40px);
}
.visual-caption,
.visual-index {
	color: #32234e;
	font-size: 9px;
}
.orbit-scene {
	height: 335px;
}
.orbit {
	border: 1px solid #43326155;
}
.orbit-outer {
	width: 90%;
	height: 85%;
	animation: creative-orbit 24s linear infinite;
}
.orbit-inner {
	border-color: #44316066;
	border-style: solid;
	width: 94%;
	height: 44%;
	animation: creative-orbit 19s linear infinite reverse;
}
.orbit-core {
	width: 180px;
	height: 180px;
	background: var(--accent);
	border-radius: 24%;
	transform: rotate(-14deg);
	box-shadow: 10px 13px 0 #33204522;
	animation: creative-float 6s ease-in-out infinite;
}
.orbit-core > span {
	font-size: 125px;
	font-weight: 500;
	line-height: 0.85;
	margin-bottom: 12px;
	letter-spacing: 0;
}
.orbit-core small {
	font-size: 10px;
	letter-spacing: 0.17em;
}
.orbit-label {
	color: #f4f1e9;
	background: #221b2e;
	border: 0;
	box-shadow: 4px 5px 0 #33204522;
	font-size: 9px;
	letter-spacing: 0.025em;
	padding: 12px 14px;
	border-radius: 3px;
	z-index: 2;
}
.orbit-top {
	top: 16px;
	left: 4%;
	transform: rotate(-11deg);
}
.orbit-right {
	right: -8px;
	top: 43%;
	background: var(--creative-orange);
	color: #29130a;
	transform: rotate(9deg);
}
.orbit-bottom {
	bottom: 10px;
	left: 8%;
	transform: rotate(-4deg);
	font-size: 8px;
}
.orbit-spark {
	font-size: 85px;
	color: #fcf9e9;
	right: 0;
	top: 0;
	line-height: 1;
	animation: creative-spin 20s linear infinite;
}
.creative-loop {
	position: absolute;
	width: 55px;
	height: 55px;
	border: 12px solid var(--creative-orange);
	border-radius: 50%;
	left: 0;
	bottom: 58px;
	animation: creative-float 8s ease-in-out infinite reverse;
}
.creative-dot {
	position: absolute;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #30223e;
	right: 25%;
	bottom: 39px;
}
.visual-result {
	border-color: #39274d40;
	gap: 12px;
}
.visual-result p {
	color: #403254;
}
.visual-result strong {
	font-size: 14px;
}
.result-arrow {
	background: #30223e;
	color: var(--accent);
	border-radius: 50%;
}
.home-hero + .marquee {
	background: var(--accent);
	border: 0;
	transform: rotate(-1.5deg);
	width: 100%;
	position: relative;
	z-index: 2;
}
.home-hero + .marquee .marquee-track {
	padding-block: 19px;
	animation-duration: 30s;
}
.home-hero + .marquee span {
	font-size: 17px;
	font-weight: 750;
	letter-spacing: -0.02em;
	color: #18200d;
}
.home-hero + .marquee b {
	color: #18200d;
	font-size: 21px;
}
.creative-services {
	padding-top: 115px;
}
.creative-services .card {
	min-height: 300px;
	border: 0 !important;
	color: #1b2014;
	padding: 32px;
	background: var(--accent);
	border-radius: 18px;
	transition:
		transform 0.3s,
		box-shadow 0.3s;
}
.creative-services .card:nth-child(2) {
	background: var(--creative-purple);
	color: #261b39;
}
.creative-services .card:nth-child(3) {
	background: var(--creative-orange);
	color: #321b12;
}
.creative-services .card:nth-child(4) {
	background: #eeeada;
	color: #24281d;
}
.creative-services .card .num {
	color: inherit;
	opacity: 0.75;
}
.creative-services .card p {
	color: inherit;
	opacity: 0.85;
	max-width: 350px;
}
.creative-services .card h3 {
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 650;
	max-width: 370px;
	margin-top: 75px;
}
.creative-services .card .arrow {
	border-color: currentColor;
	width: 43px;
	height: 43px;
	color: inherit;
}
.creative-services .card:hover {
	transform: translateY(-6px) rotate(-1deg);
	box-shadow: 7px 10px 0 #ffffff12;
}
.creative-services .card:nth-child(even):hover {
	transform: translateY(-6px) rotate(1deg);
}
.service-row:before {
	content: none;
	position: absolute;
	right: 25px;
	top: 22px;
	color: var(--accent);
	font-size: 26px;
}
.service-row:nth-child(3n + 2):before {
	color: var(--creative-purple);
}
.service-row:nth-child(3n):before {
	color: var(--creative-orange);
}
.service-row:hover {
	box-shadow: inset 4px 0 0 var(--accent);
}
.page-hero .eyebrow {
	display: inline-block;
	border: 1px solid #ceff4744;
	padding: 8px 13px;
	border-radius: 999px;
}
.page-hero:after {
	border-color: #b6a2ff55;
}
.price.featured:nth-child(even) {
	background: var(--creative-purple);
	color: #241633;
}
.price.featured:nth-child(even) p,
.price.featured:nth-child(even) strong,
.price.featured:nth-child(even) .badge,
.price.featured:nth-child(even) .price-action {
	color: #30213d;
}
.step .n {
	color: var(--creative-purple);
}
.stat:nth-child(2) strong {
	color: var(--creative-purple);
}
.stat:nth-child(3) strong {
	color: var(--creative-orange);
}
.cta {
	background: var(--creative-purple);
	transform: rotate(-0.6deg);
}
.cta .btn {
	background: #21182d;
	color: #f4f1ea;
}
.cta:after {
	opacity: 0.15;
}
.cta .container {
	transform: rotate(0.6deg);
}
.footer .brand i {
	color: var(--creative-purple);
}
@keyframes creative-float {
	0%,
	100% {
		transform: translateY(0) rotate(-14deg);
	}
	50% {
		transform: translateY(-14px) rotate(-6deg);
	}
}
@keyframes sticker-bob {
	0%,
	100% {
		transform: rotate(-4deg);
	}
	50% {
		transform: rotate(-1deg);
	}
}
@keyframes creative-orbit {
	from {
		transform: rotate(-24deg);
	}
	to {
		transform: rotate(336deg);
	}
}
@keyframes creative-spin {
	to {
		transform: rotate(360deg);
	}
}
.motion-paused .headline-sticker,
.motion-paused .orbit,
.motion-paused .creative-loop {
	animation-play-state: paused !important;
}
@media (max-width: 1000px) {
	.creative-title {
		font-size: clamp(43px, 6.5vw, 68px);
	}
	.growth-visual {
		min-height: 445px;
		padding: 20px;
	}
	.hero-grid {
		gap: 30px;
	}
	.orbit-core {
		width: 150px;
		height: 150px;
	}
	.orbit-core > span {
		font-size: 100px;
	}
	.orbit-right {
		right: -10px;
		font-size: 8px;
	}
	.orbit-bottom {
		left: 0;
		font-size: 7px;
	}
	.orbit-spark {
		font-size: 65px;
	}
}
@media (max-width: 680px) {
	.home-hero {
		padding: 44px 0 58px;
	}
	.hero-grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}
	.creative-title {
		font-size: clamp(43px, 11.2vw, 72px);
		margin: 22px 0 0;
		line-height: 1.08;
	}
	.hero-copy .lead {
		font-size: 16px;
	}
	.growth-visual {
		width: calc(100% - 12px);
		max-width: 420px;
		min-height: 405px;
		padding: 22px;
		transform: rotate(2deg);
		margin: 0;
	}
	.orbit-scene {
		height: 270px;
	}
	.orbit-core {
		width: 145px;
		height: 145px;
	}
	.orbit-right {
		right: 0;
	}
	.orbit-bottom {
		left: 5%;
		font-size: 7px;
	}
	.orbit-spark {
		font-size: 68px;
	}
	.visual-result strong {
		font-size: 13px;
	}
	.creative-services {
		padding-top: 75px;
	}
	.creative-services .card {
		min-height: 265px;
		padding: 26px;
	}
	.creative-services .card h3 {
		font-size: 31px;
		margin-top: 62px;
	}
	.home-hero + .marquee span {
		font-size: 14px;
	}
	.home-hero + .marquee .marquee-track {
		padding-block: 14px;
	}
	.cta {
		transform: none;
	}
	.cta .container {
		transform: none;
	}
}
@media (prefers-reduced-motion: reduce) {
	.headline-sticker,
	.orbit,
	.orbit-core,
	.orbit-spark,
	.creative-loop {
		animation: none !important;
	}
}

/* Readability pass: Cyrillic needs more breathing room than the display treatment. */
.approach-creative .method-poster > .eyebrow {
	color: #352044;
	border: 0;
	padding: 0;
	border-radius: 0;
}
body {
	letter-spacing: 0;
	line-height: 1.65;
}
body :is(h1, h2, h3, h4, .display, .h1, .h2, .h3) {
	letter-spacing: 0 !important;
	line-height: 1.22 !important;
	font-weight: 600;
}
body :is(.brand, .footer .brand) {
	letter-spacing: 0 !important;
}
body :is(.lead, .rich p, .rich li, .card p, .price p, .service-row p) {
	letter-spacing: 0.005em;
	line-height: 1.8;
}
body :is(.creative-title, .editorial-hero .h1) {
	font-size: clamp(42px, 5.4vw, 76px);
	line-height: 1.25 !important;
}
body :is(.headline-sticker, .editorial-highlight) {
	padding: 0.03em 0.14em 0.1em;
	vertical-align: baseline;
}
body .title-outline {
	-webkit-text-stroke: 0;
}
body :is(.stat strong, .price strong, .price-ticket > strong, .experience-seal strong) {
	letter-spacing: 0 !important;
	line-height: 1.15;
}
body :is(.service-content h2, .privacy-document h2) {
	line-height: 1.4 !important;
}
body :is(.btn, .navlinks, .filter-btn) {
	letter-spacing: 0.01em;
}
@media (max-width: 1000px) {
	body :is(.creative-title, .editorial-hero .h1) {
		font-size: clamp(34px, 4.8vw, 52px);
	}
}
@media (max-width: 680px) {
	body :is(.creative-title, .editorial-hero .h1) {
		font-size: clamp(29px, 8vw, 44px);
	}
	body .service-detail .service-hero .h1 {
		font-size: clamp(32px, 8.4vw, 46px);
	}
	body .privacy-creative .page-hero .h1 {
		font-size: clamp(30px, 8vw, 42px);
	}
	body .price-ticket > strong {
		font-size: 45px;
	}
	body .hero-grid {
		gap: 36px;
	}
	body .brand {
		font-size: 13px;
	}
}
