/* Studio direction: oversized editorial type, sculptural objects, quiet reading areas. */
:root {
	--studio-paper: #eeeae2;
	--studio-ink: #131414;
	--studio-lime: #d1ff60;
	--studio-lilac: #b5a1ed;
}
body {
	background: #101111;
	color: #f2f1eb;
}
.ambient-background {
	opacity: 0.3;
}
.ambient-grid,
.noise,
#bg-canvas {
	display: none;
}
.header {
	background: #101111e8;
}
.navlinks {
	font-size: 15px;
}
.page-hero:after {
	display: none;
}
.page-hero .lead {
	font-size: 21px;
	line-height: 1.7;
	max-width: 720px;
}
.page-hero .eyebrow {
	border: 0;
	padding: 0;
	border-radius: 0;
	font-size: 14px;
}
.editorial-index {
	font-size: 13px;
}
.section {
	padding-block: 90px;
}
main {
	overflow-x: clip;
}
.btn {
	font-size: 15px;
}
.footer {
	border-top: 1px solid #ffffff25;
	background: #101111;
}
.footer-links {
	font-size: 16px;
}
.brand-stage {
	background: radial-gradient(ellipse at center, #303828 0%, #181c17 45%, #111211 75%);
	border-radius: 0;
	overflow: visible;
	color: #f2f1eb;
}
.brand-art {
	background: none;
}
.brand-ring {
	border-color: #b9c1af;
	border-width: 18px;
	opacity: 0.75;
}
.brand-ring.ring-b {
	border-color: #d1ff60;
	border-width: 22px;
	opacity: 1;
}
.brand-float {
	filter: drop-shadow(15px 30px 25px #0009);
}
.brand-stage-caption {
	border-color: #ffffff25;
	font-size: 22px;
	margin-inline: 12px;
}
.home-hero .headline-sticker {
	background: none;
	color: #d1ff60;
	transform: none;
	animation: none;
	padding: 0;
}
.home-hero .hero-copy h1 {
	font-size: clamp(48px, 6.25vw, 90px);
	line-height: 1.09 !important;
}
.home-hero .title-outline {
	color: #aaaead;
}
.home-hero + .marquee {
	transform: none;
	background: #d1ff60;
}
.creative-services .cards {
	gap: 24px;
}
.creative-services .card {
	border-radius: 0 70px 0 0;
	min-height: 360px;
}
.creative-services .card:nth-child(2) {
	border-radius: 70px 0 0 0;
}
.creative-services .card:nth-child(3) {
	border-radius: 0 0 70px 0;
}
.creative-services .card:nth-child(4) {
	border-radius: 0 0 0 70px;
}
.creative-services .card .num {
	font-size: 38px;
}
.creative-services .card h3 {
	margin-top: 45px;
}
.creative-services .card p {
	font-size: 19px;
}
.home-hero ~ .section .problem {
	border-radius: 0;
}
.services-gallery .page-hero {
	padding-bottom: 70px;
}
.services-gallery .page-hero .h1 {
	font-size: clamp(60px, 9.5vw, 142px);
	line-height: 1.03 !important;
	max-width: none;
	margin-bottom: 35px;
}
.gallery-title-end {
	display: block;
	color: var(--studio-lime);
	padding-left: 14%;
}
.gallery-title-end > span {
	display: inline-block;
	margin-left: 0.14em;
}
.services-gallery .page-hero .lead {
	margin-left: 14%;
	max-width: 660px;
}
.services-gallery .marquee {
	border: 0;
	border-block: 1px solid #ffffff30;
}
.service-gallery-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: start;
}
.service-exhibit {
	--object-color: #d5ff78;
	--object-dark: #546327;
	--object-light: #f0ffd1;
	position: relative;
	display: block;
	isolation: isolate;
	overflow: hidden;
	border: 1px solid #ffffff20;
	background: #20251c;
	color: #f2f2e9;
	padding: 30px 36px 36px;
	border-radius: 6px;
	transition:
		border-color 0.3s,
		box-shadow 0.3s;
}
.service-exhibit:nth-child(even) {
	margin-top: 100px;
}
.service-exhibit:nth-child(4n + 3) {
	margin-top: -70px;
}
.exhibit-1 {
	--object-color: #cbb9ff;
	--object-dark: #50476a;
	--object-light: #f7f1ff;
	background: #24212b;
}
.exhibit-2 {
	--object-color: #b6d7ed;
	--object-dark: #3d515f;
	--object-light: #eaf5ff;
	background: #1d252b;
}
.exhibit-3 {
	--object-color: #f9b49b;
	--object-dark: #654638;
	--object-light: #ffead8;
	background: #30251f;
}
.exhibit-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	font-size: 15px;
}
.exhibit-arrow {
	display: grid;
	place-items: center;
	border: 1px solid #ffffff45;
	border-radius: 50%;
	width: 52px;
	height: 52px;
	font-size: 30px;
	transition:
		background 0.25s,
		color 0.25s,
		transform 0.25s;
}
.exhibit-copy {
	position: relative;
	z-index: 1;
	border-top: 1px solid #ffffff25;
	padding-top: 26px;
}
.exhibit-copy h2 {
	font-size: clamp(28px, 2.9vw, 42px);
	margin: 0 0 16px;
}
.exhibit-copy p {
	font-size: 19px;
	line-height: 1.7;
	color: #d3d4ce;
	max-width: 480px;
	margin: 0 0 25px;
}
.exhibit-link {
	display: flex;
	justify-content: space-between;
	font-size: 15px;
	color: var(--object-color);
}
.service-exhibit:hover,
.service-exhibit:focus-visible {
	border-color: var(--object-color);
	box-shadow: 0 0 45px #ffffff06;
}
.service-exhibit:hover .exhibit-arrow,
.service-exhibit:focus-visible .exhibit-arrow {
	background: var(--object-color);
	color: #161815;
	transform: rotate(45deg);
}
/* Six lightweight, code-native sculptures shared by catalogue and service pages. */
.service-object {
	height: 320px;
	display: grid;
	place-items: center;
	perspective: 900px;
	position: relative;
	overflow: hidden;
	pointer-events: none;
}
.object-body {
	position: relative;
	width: 240px;
	height: 240px;
	transform-style: preserve-3d;
	animation: studio-float 9s ease-in-out infinite;
	transition: scale 0.5s;
}
.service-exhibit:nth-child(even) .object-body {
	animation-delay: -4s;
}
.service-exhibit:hover .object-body {
	scale: 1.08;
}
.object-body i,
.object-body b {
	position: absolute;
	display: block;
}
.object-sphere {
	width: 95px;
	height: 95px;
	left: 73px;
	top: 73px;
	border-radius: 50%;
	background: radial-gradient(
		circle at 30% 23%,
		#fff 0%,
		var(--object-light) 10%,
		var(--object-color) 32%,
		var(--object-dark) 65%,
		#111 100%
	);
	box-shadow: 12px 25px 28px #0005;
}
.object-orbit {
	inset: 12px;
	border: 9px solid var(--object-color);
	border-radius: 50%;
	box-shadow:
		inset 2px 2px 2px #fff9,
		3px 5px 1px var(--object-dark);
	transform: rotate(calc(var(--i) * 45deg)) rotateY(62deg);
}
.object-slab {
	width: 155px;
	height: 100px;
	left: 40px;
	top: calc(35px + var(--i) * 16px);
	border-radius: 20px;
	background: linear-gradient(
		140deg,
		var(--object-light),
		var(--object-color) 35%,
		var(--object-dark)
	);
	border: 1px solid #ffffff80;
	transform: rotate(-30deg) skewX(25deg);
	box-shadow:
		5px 8px 0 var(--object-dark),
		15px 18px 15px #0003;
}
.object-link {
	width: 145px;
	height: 180px;
	top: 28px;
	border: 30px solid var(--object-color);
	border-radius: 75px;
	box-shadow:
		inset 4px 4px 6px #fff8,
		inset -5px -5px 5px var(--object-dark),
		8px 12px 0 var(--object-dark),
		18px 20px 25px #0005;
	transform: rotate(-30deg);
}
.link-one {
	left: 0;
}
.link-two {
	left: 100px;
	transform: rotate(35deg);
	border-color: var(--object-light);
}
.object-bar {
	width: 43px;
	left: calc(var(--i) * 45px);
	height: calc(65px + var(--i) * 32px);
	bottom: 20px;
	background: linear-gradient(
		100deg,
		var(--object-light),
		var(--object-color) 40%,
		var(--object-dark)
	);
	border-radius: 30px 30px 10px 10px;
	transform: skewY(-15deg);
	box-shadow:
		10px 12px 0 var(--object-dark),
		18px 25px 20px #0004;
}
.object-petal {
	width: 80px;
	height: 145px;
	left: 80px;
	top: -3px;
	transform-origin: 40px 123px;
	transform: rotate(calc(var(--i) * 60deg));
	border-radius: 50%;
	background: linear-gradient(
		100deg,
		var(--object-dark),
		var(--object-color) 40%,
		var(--object-light)
	);
	box-shadow: 8px 9px 10px #0005;
}
.object-4 .object-sphere {
	width: 75px;
	height: 75px;
	left: 83px;
	top: 83px;
}
.object-tunnel {
	inset: calc(var(--i) * 19px);
	border: 14px solid var(--object-color);
	border-radius: 26%;
	transform: rotate(calc(-25deg + var(--i) * 9deg));
	box-shadow:
		inset 2px 3px 1px #fff9,
		5px 9px 0 var(--object-dark),
		8px 12px 18px #0006;
}
.service-poster {
	--object-color: var(--service-color);
	--object-light: #f4f3eb;
	--object-dark: #555950;
	background: #242624;
	color: #efeee7;
	transform: none;
	border: 1px solid #ffffff25;
	border-radius: 120px 120px 8px 8px;
	padding-top: 45px;
}
.poster-top {
	padding-inline: 12px;
	font-size: 12px;
}
.poster-top > span:last-child {
	display: none;
}
.service-poster .service-object {
	height: 350px;
}
.poster-tags {
	gap: 10px;
	min-height: 0;
}
.poster-tag,
.tag-1,
.tag-2 {
	transform: none;
	background: none;
	border: 1px solid #ffffff35;
	color: #f3f2ec;
	border-radius: 99px;
	font-size: 15px;
	padding: 9px 14px;
}
.poster-bottom {
	font-size: 17px;
	border-color: #ffffff25;
	padding-block: 20px 0;
}
.poster-star {
	color: var(--service-color);
}
.service-hero .lead {
	font-size: 21px;
}
.service-note {
	border-radius: 4px;
	border: 0;
	border-top: 3px solid var(--service-color);
	background: #1b1d1b;
}
.service-note p {
	font-size: 18px;
}
.service-note .eyebrow,
.note-back {
	font-size: 14px;
}
.service-content {
	gap: 0;
}
.service-content section,
.service-content section:first-child {
	padding: 40px;
	border-radius: 0;
	border: 0;
	border-bottom: 1px solid #ffffff30;
	background: #1b1d1b;
}
.service-content section:first-child {
	background: var(--service-color);
	border-radius: 50px 0 0 0;
}
.service-content section:before {
	font-size: 20px;
	border: 0;
	padding: 0;
}
.service-content h2 {
	font-size: 34px;
}
.service-content p,
.service-content li {
	font-size: 19px;
	line-height: 1.8;
}
.service-content section:first-child li:before {
	color: #252c1d;
}
.related-card {
	border-radius: 4px 50px 4px 4px;
}
.related-card p {
	font-size: 18px;
}
/* About: oversized date medallion and an editorial interview spread. */
.about-creative .experience-seal {
	background: radial-gradient(circle at 30% 20%, #f0f4ed, #a2aca1 34%, #262d29 65%, #d0fd78 100%);
	color: #0e1511;
	outline: 1px solid #d7e6cf80;
	outline-offset: 16px;
	box-shadow: 18px 20px 50px #0007;
	max-width: 350px;
	transform: rotate(-9deg);
}
.experience-seal > span {
	font-size: 15px;
}
.experience-seal i {
	display: none;
}
.about-creative .quote-panel {
	background: #eeeae2;
	color: #171b17;
	border-radius: 0;
	padding: 48px;
}
.about-creative .quote-panel h2 {
	font-size: clamp(38px, 4vw, 58px);
}
.about-creative .quote-panel .lead {
	font-size: 22px;
	color: #353a32;
}
.about-creative .quote-panel .eyebrow,
.about-creative .quote-panel .small {
	color: #51584a;
	font-size: 15px;
}
.about-creative .portrait {
	border-radius: 120px 0 0 0;
	transform: none;
}
.portrait-caption small {
	font-size: 16px;
}
.about-creative .stats {
	border-block: 1px solid #ffffff30;
}
.about-creative .stat {
	background: none;
	border-radius: 0;
}
.about-creative .stat strong {
	font-size: clamp(66px, 7vw, 105px);
}
.about-creative .stat span {
	font-size: 18px;
}
.principle-grid {
	gap: 22px;
}
.principle-grid article {
	border-radius: 0 65px 0 0;
	padding: 36px;
}
.principle-grid article:nth-child(2) {
	transform: translateY(40px);
}
.principle-grid p {
	font-size: 19px;
}
.about-creative .rich p {
	font-size: 21px;
}
/* Pricing: perforated offer tickets, without altering rates or filter semantics. */
.pricing-creative .price-ticket {
	background: #d1ff60;
	border-radius: 0;
	transform: rotate(5deg);
	box-shadow: 18px 20px 0 #d1ff6015;
}
.ticket-top,
.ticket-bottom {
	font-size: 15px;
}
.pricing-creative .price-grid {
	gap: 28px;
}
.pricing-creative .price {
	background: #eeeae2;
	color: #151b12;
	border: 0;
	border-radius: 4px;
	min-height: 380px;
	padding: 36px;
	box-shadow: inset 0 -8px 0 #0001;
}
.pricing-creative .price.featured {
	background: #d1ff60;
}
.pricing-creative .price:nth-child(3n + 2) {
	background: #c3b3ed;
}
.pricing-creative .price h3 {
	font-size: 32px;
	max-width: 85%;
	margin-top: 18px;
}
.pricing-creative .price p {
	color: #3b4036;
	font-size: 19px;
}
.pricing-creative .price strong {
	color: #131910;
	font-size: 52px;
	border-top: 2px dashed #262d2355;
	margin-top: 30px;
	padding-top: 28px;
}
.pricing-creative .price:before {
	font-size: 21px;
	color: #192015;
	opacity: 0.7;
}
.pricing-creative .price .badge {
	color: #333b2b;
	border-color: #3a423755;
	background: transparent;
	font-size: 14px;
}
.pricing-creative .price .price-action {
	background: #182012;
	color: #f2f4eb;
	border: 0;
	border-radius: 99px;
	padding: 16px 22px;
	margin-top: 24px;
	font-size: 16px;
}
.pricing-creative .price .price-action:hover {
	background: #34422a;
}
.pricing-guide p,
.price-toolbar,
.pricing-help p {
	font-size: 18px;
}
.filter-btn {
	font-size: 16px;
	padding: 14px 22px;
}
.pricing-help {
	border-radius: 0;
	border-style: solid;
	border-color: #ffffff35;
}
.pricing-help .help-spark {
	display: none;
}
/* Approach: a connected route rather than five identical boxes. */
.roadmap-list {
	position: relative;
	gap: 0;
}
.roadmap-step {
	position: relative;
	border: 0;
	border-top: 1px solid #ffffff30;
	border-radius: 0;
	background: transparent;
	padding: 44px 24px;
	grid-template-columns: 110px minmax(0, 1.4fr) minmax(0, 1fr);
}
.roadmap-number {
	font-size: 80px;
	letter-spacing: -0.06em;
}
.roadmap-copy h3 {
	font-size: 35px;
}
.roadmap-step:nth-child(even) {
	background: #ffffff04;
}
.roadmap-step:last-child {
	border-radius: 0 0 60px 0;
	padding: 44px 24px;
}
.roadmap-result {
	border-left: 0;
	background: #ffffff06;
	padding: 24px;
	border-radius: 0 30px 0 0;
}
.roadmap-step:last-child .roadmap-result {
	background: #17201110;
}
.partnership-grid article {
	border-radius: 0 80px 0 0;
}
.partnership-grid article:nth-child(2) {
	border-radius: 80px 0 0 0;
}
.method-manifesto {
	background: #d1ff60;
}
.approach-copy h1 {
	font-size: clamp(48px, 5.6vw, 83px);
}
/* Contact: light form desk beside the direct channels. */
.contacts-studio .page-hero {
	position: relative;
}
.contacts-studio .page-hero .container {
	position: relative;
}
.contacts-studio .page-hero .h1 {
	font-size: clamp(46px, 6.5vw, 92px);
	max-width: 900px;
}
.contacts-studio .contact-grid > .contact-card {
	border-radius: 0;
	padding: 38px;
	background: #1c1f1b;
	border: 1px solid #ffffff20;
}
.contacts-studio .contact-grid > .contact-card:nth-child(2) {
	background: #eeeae2;
	color: #20241b;
	border-radius: 65px 0 0 0;
}
.contacts-studio
	.contact-grid
	> .contact-card:nth-child(2)
	:is(.eyebrow, .small, .form-label, .channel-picker-label, .form-note) {
	color: #454c3c !important;
}
.contacts-studio :is(.form-input, .form-textarea) {
	background: #fffefa;
	color: #20241b;
	border-color: #a9ad9f;
	font-size: 17px;
}
.contacts-studio :is(.form-input, .form-textarea)::placeholder {
	color: #69705f;
}
.contacts-studio .form-note {
	font-size: 14px;
}
.contacts-studio .form-note a {
	color: #29351f;
}
.contacts-studio .picker-option > span {
	color: #30382a;
	border-color: #a9ad9f;
}
.contacts-studio .contact-channel-row {
	border-radius: 0;
	background: transparent;
	border-bottom: 1px solid #ffffff30;
}
.channel-title {
	font-size: 20px;
}
.contacts-studio .channel-link-text {
	font-size: 18px;
}
.contacts-studio .contact-card.mini {
	border-radius: 0;
	border: 0;
	border-top: 2px solid #b5a1ed;
	background: #1c1f1b;
}
.contacts-studio .small {
	font-size: 17px;
}
.contacts-studio .contact-info-grid {
	gap: 25px;
}
/* Policy: a paper document, with expressive but non-distracting navigation. */
.contacts-studio .picker-option > span {
	background: #fffefa;
	color: #30382a;
}
.contacts-studio .picker-option input:checked + span {
	background: #d1ff60;
	color: #182012;
	border-color: #778d4f;
}
.contacts-studio .picker-option input:focus-visible + span {
	outline: 2px solid #405b20;
	outline-offset: 3px;
}
.privacy-creative .privacy-document {
	background: #eeeae2;
	color: #1b2018;
	gap: 0;
	border-radius: 0 65px 0 0;
	overflow: hidden;
}
.privacy-document section,
.privacy-document section:first-child {
	background: transparent;
	border: 0;
	border-radius: 0;
	border-bottom: 1px solid #222b2030;
	padding: 44px;
}
.privacy-document p {
	font-size: 19px;
	color: #363e2e;
	line-height: 1.85;
}
.privacy-document h2 {
	font-size: 32px;
	color: #182014;
}
.privacy-document .document-number {
	font-size: 16px;
	color: #586743;
}
.privacy-document a {
	color: #384c22;
}
.privacy-navigation nav a {
	font-size: 17px;
}
.privacy-contact {
	border-radius: 0 40px 0 0;
}
.privacy-contact p,
.privacy-contact > a {
	font-size: 16px;
}
.privacy-creative .page-hero {
	border-bottom: 1px solid #ffffff25;
}
.cta {
	background: #b5a1ed;
	transform: none;
	border-radius: 70px 70px 0 0;
	margin-top: 40px;
}
.cta .container {
	transform: none;
}
.cta .h2 {
	font-size: clamp(36px, 5.5vw, 78px);
	max-width: 1000px;
}
.cta p {
	font-size: 21px;
}
.cta .btn {
	border-radius: 99px;
	padding: 22px 32px;
}
.cta:after {
	display: none;
}
@keyframes studio-float {
	0%,
	100% {
		transform: translateY(7px) rotate(-7deg);
	}
	50% {
		transform: translateY(-10px) rotate(5deg);
	}
}
.motion-paused .object-body {
	animation-play-state: paused !important;
}
@media (max-width: 1050px) {
	.service-exhibit {
		padding: 24px;
	}
	.service-object {
		height: 270px;
	}
	.exhibit-copy h2 {
		font-size: 30px;
	}
	.roadmap-step {
		grid-template-columns: 80px 1fr;
	}
	.roadmap-result {
		grid-column: 2;
	}
	.service-content {
		grid-template-columns: 1fr;
	}
	.principle-grid article:nth-child(2) {
		transform: none;
	}
	.about-creative .quote-panel {
		padding: 32px;
	}
	.contacts-studio .contact-grid > .contact-card {
		padding: 30px;
	}
}
@media (max-width: 700px) {
	.section {
		padding-block: 60px;
	}
	.page-hero .lead {
		font-size: 19px;
	}
	.page-hero .eyebrow,
	.editorial-index {
		font-size: 12px;
	}
	.home-hero .hero-copy h1 {
		font-size: clamp(38px, 10.5vw, 65px);
	}
	.brand-stage-caption {
		font-size: 21px;
	}
	.brand-ring {
		border-width: 12px;
	}
	.brand-ring.ring-b {
		border-width: 15px;
	}
	.services-gallery .page-hero .h1 {
		font-size: clamp(46px, 12vw, 78px);
	}
	.gallery-title-end {
		padding-left: 0;
	}
	.services-gallery .page-hero .lead {
		margin-left: 0;
	}
	.service-gallery-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.service-exhibit:nth-child(n) {
		margin-top: 0;
	}
	.service-object {
		height: 270px;
	}
	.exhibit-copy h2 {
		font-size: 31px;
	}
	.exhibit-copy p {
		font-size: 18px;
	}
	.exhibit-top {
		font-size: 14px;
	}
	.exhibit-arrow {
		width: 44px;
		height: 44px;
	}
	.service-poster {
		border-radius: 90px 90px 6px 6px;
	}
	.service-poster .service-object {
		height: 280px;
	}
	.poster-tags {
		gap: 6px;
	}
	.poster-tag {
		font-size: 13px;
		padding: 8px 11px;
	}
	.service-content section,
	.service-content section:first-child {
		padding: 27px;
	}
	.service-content h2 {
		font-size: 28px;
	}
	.service-content p,
	.service-content li {
		font-size: 18px;
	}
	.about-creative .experience-seal {
		width: 235px;
	}
	.about-creative .quote-panel .lead {
		font-size: 19px;
	}
	.portrait-caption small {
		font-size: 14px;
	}
	.principle-grid article {
		padding: 28px;
	}
	.about-creative .rich p {
		font-size: 19px;
	}
	.pricing-creative .price {
		padding: 27px;
		min-height: 350px;
	}
	.pricing-creative .price h3 {
		font-size: 28px;
		max-width: 100%;
	}
	.pricing-creative .price strong {
		font-size: 43px;
	}
	.filter-btn {
		font-size: 14px;
		padding: 12px 16px;
	}
	.roadmap-step {
		grid-template-columns: 1fr;
		padding: 32px 22px;
	}
	.roadmap-number {
		font-size: 64px;
	}
	.roadmap-copy h3 {
		font-size: 30px;
	}
	.roadmap-result {
		grid-column: auto;
		padding: 22px;
	}
	.roadmap-step:last-child {
		padding: 32px 22px;
	}
	.approach-copy h1 {
		font-size: clamp(36px, 8.7vw, 58px);
	}
	.partnership-grid article,
	.partnership-grid article:nth-child(2) {
		border-radius: 0 55px 0 0;
	}
	.contacts-studio .contact-grid > .contact-card {
		padding: 24px;
	}
	.contacts-studio .channel-link-text {
		font-size: 16px;
	}
	.privacy-document section,
	.privacy-document section:first-child {
		padding: 28px;
	}
	.privacy-document h2 {
		font-size: 27px;
	}
	.privacy-document p {
		font-size: 18px;
	}
	.privacy-navigation nav a {
		font-size: 15px;
	}
	.cta {
		border-radius: 35px 35px 0 0;
	}
	.cta p {
		font-size: 19px;
	}
	.creative-services .card:nth-child(n) {
		border-radius: 0 50px 0 0;
	}
	.creative-services .card p {
		font-size: 18px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.object-body {
		animation: none !important;
	}
	.service-exhibit,
	.exhibit-arrow,
	.object-body {
		transition: none !important;
	}
}

/* Editorial revision: scoped surfaces and explicit foregrounds prevent inherited palette collisions. */
body .pricing-creative .price .price-action,
body .pricing-creative .price.featured:nth-child(even) .price-action {
	background: #20251e;
	color: #ffffff;
	border: 1px solid #20251e;
}
body .pricing-creative .price .price-action:hover,
body .pricing-creative .price.featured:nth-child(even) .price-action:hover {
	background: #394631;
	color: #ffffff;
}
body .pricing-creative .price:nth-child(n) {
	background: #eeede6;
	color: #20241d;
	border-radius: 18px;
	box-shadow: none;
}
body .pricing-creative .price.featured:nth-child(n) {
	background: #dce8cd;
	color: #20241d;
}
body .pricing-creative .price:nth-child(n) :is(h3, p, strong, .badge) {
	color: #20241d;
}
body .pricing-creative .price:nth-child(n) strong {
	border-color: #89917f;
}
.pricing-creative .price-ticket {
	background: #dce8cd;
	box-shadow: 14px 16px 0 #dce8cd10;
	transform: rotate(2deg);
	border-radius: 18px;
}
.pricing-creative .editorial-highlight {
	background: none;
	color: #dce8cd;
	transform: none;
}
.roadmap-step:last-child {
	background: #dce8cd;
	border-radius: 0 0 24px 24px;
}
.roadmap-step:last-child .roadmap-result {
	background: #f3f5ee;
	border-radius: 14px;
}
.roadmap-step:last-child
	:is(.roadmap-number, .roadmap-tag, .roadmap-result > span, .roadmap-copy p, .roadmap-result p) {
	color: #25341f;
}
.method-manifesto {
	background: #dce8cd;
}
.method-manifesto .manifesto-ring {
	border-color: #bdceaa;
}
.method-manifesto h2 em {
	color: #465d36;
}
.partnership-grid article,
.partnership-grid article:nth-child(2) {
	background: #e9e8e0;
	color: #20251e;
	border-radius: 22px;
}
.partnership-grid article:nth-child(2) {
	background: #dce8cd;
}

/* Services / catalogue */
.services-editorial {
	background: #f0efe8;
	color: #222820;
}
.services-editorial .page-hero {
	background: #1c241f;
	color: #f5f3e9;
	padding: 75px 0 85px;
	border: 0;
}
.services-editorial .page-hero .h1 {
	font-size: clamp(48px, 5.7vw, 82px);
	line-height: 1.15 !important;
	max-width: 1200px;
}
.services-editorial .gallery-title-end {
	padding-left: 0;
	color: #c6d7b2;
	font-family: Georgia, 'Times New Roman', serif;
	font-style: italic;
	font-weight: 400;
}
.services-editorial .page-hero .lead {
	margin: 30px 0 0;
	max-width: 700px;
	color: #d7ded2;
	font-size: 21px;
}
.services-editorial .page-hero .eyebrow {
	color: #d2ddc7;
	letter-spacing: 0.12em;
}
.services-editorial .marquee {
	display: none;
}
.solutions-intro {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	color: #59634f;
	font-size: 15px;
	padding-bottom: 28px;
}
.solutions-list {
	border-top: 1px solid #afb6a6;
}
.solution-line {
	display: grid;
	grid-template-columns: 85px 1fr 130px;
	gap: 35px;
	align-items: center;
	padding: 38px 20px;
	border-bottom: 1px solid #b7beae;
	transition:
		background 0.25s,
		padding 0.25s;
	color: #20281e;
}
.solution-index {
	align-self: start;
	font-size: 18px;
	font-variant-numeric: tabular-nums;
	color: #617154;
	padding-top: 6px;
}
.solution-tag {
	font-size: 14px;
	letter-spacing: 0.04em;
	color: #596b4d;
}
.solution-copy h2 {
	font-size: clamp(28px, 3.1vw, 44px);
	margin: 10px 0 12px;
}
.solution-copy p {
	font-size: 19px;
	line-height: 1.65;
	color: #596152;
	margin: 0;
}
.solution-open {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 14px;
}
.solution-open b {
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: 52px;
	height: 52px;
	background: #dbe3d1;
	border-radius: 50%;
	font-size: 28px;
	font-weight: 400;
	transition:
		transform 0.25s,
		background 0.25s;
}
.solution-line:hover,
.solution-line:focus-visible {
	background: #e3e8dc;
	padding-inline: 30px;
	outline-offset: -3px;
}
.solution-line:hover .solution-open b {
	transform: rotate(45deg);
	background: #cad9bc;
}
.services-editorial .cta {
	background: #dce8cd;
	color: #20281e;
	margin: 0;
	border-radius: 0;
}
.services-editorial .cta p {
	color: #425039;
}

/* Service details / a readable brief instead of a decorative poster. */
.service-editorial {
	background: #f0efe8;
	color: #20281e;
}
.service-editorial .service-hero {
	background: #1c241f;
	color: #f4f2e9;
	border: 0;
}
.service-editorial .service-hero-grid {
	grid-template-columns: 1.25fr 1fr;
	gap: 70px;
	align-items: center;
}
.service-editorial .service-hero .h1 {
	font-size: clamp(42px, 4.6vw, 66px);
	line-height: 1.16 !important;
}
.service-editorial .service-hero .lead {
	color: #d7ded2;
	font-size: 21px;
}
.service-editorial .service-kicker {
	color: #cfdbc5;
}
.service-editorial .service-breadcrumb {
	color: #d0d9c8;
	font-size: 14px;
}
.service-editorial .service-breadcrumb a,
.service-editorial .service-jump {
	color: #d0d9c8;
}
.service-brief {
	background: #e8eddf;
	color: #22321d;
	padding: 35px;
	border-radius: 8px;
	box-shadow: 14px 14px 0 #c8d9b411;
	transform: rotate(1deg);
}
.brief-heading {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	border-bottom: 1px solid #aab89d;
	padding-bottom: 25px;
	font-size: 14px;
	color: #4d6041;
}
.brief-directions {
	padding: 20px 0;
}
.brief-directions > div {
	display: flex;
	gap: 22px;
	align-items: baseline;
	padding: 18px 0;
}
.brief-directions span {
	font-size: 14px;
	color: #617553;
}
.brief-directions strong {
	font-size: clamp(24px, 2.6vw, 38px);
	line-height: 1.3;
	font-weight: 500;
	overflow-wrap: anywhere;
}
.brief-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid #aab89d;
	padding-top: 22px;
	gap: 20px;
}
.brief-footer p {
	font-size: 17px;
	line-height: 1.6;
	margin: 0;
	color: #4d6041;
}
.brief-footer > span {
	font-size: 58px;
	font-weight: 300;
}
.service-editorial .service-note {
	background: none;
	border: 0;
	border-left: 2px solid #a7b598;
	padding: 0 0 0 28px;
	border-radius: 0;
}
.service-editorial .service-note :is(.eyebrow, p, .note-back) {
	color: #54654a;
}
.service-editorial .service-note .h2 {
	font-size: 35px;
}
.service-editorial .note-pin {
	display: none;
}
.service-editorial .service-note .btn {
	background: #25331f;
	color: #fff;
	border: 0;
}
.service-editorial .service-content {
	gap: 24px;
}
.service-editorial .service-content section,
.service-editorial .service-content section:first-child {
	background: #fafbf6;
	color: #20281e;
	border: 1px solid #d2d8ca;
	border-radius: 14px;
	padding: 36px;
}
.service-editorial .service-content section:before {
	color: #60774f;
	font-size: 16px;
	margin-bottom: 22px;
}
.service-editorial .service-content :is(p, li),
.service-editorial .service-content section:first-child :is(p, li) {
	color: #4b5842;
}
.service-editorial .service-content li {
	border-color: #d2d8ca;
}
.service-editorial .service-content li:before {
	color: #49613a;
}
.service-editorial .related-heading :is(a, .eyebrow) {
	color: #54654a;
}
.service-editorial .related-card {
	background: #e0e7d7;
	color: #20281e;
	border: 0;
	border-radius: 14px;
}
.service-editorial .related-card p {
	color: #4b5842;
}
.service-editorial .related-arrow {
	color: #26371d;
	background: #f6f8ef;
}
.service-editorial .cta {
	background: #dce8cd;
	color: #20281e;
	border-radius: 0;
	margin: 0;
}
.service-editorial .cta p {
	color: #425039;
}

/* About / a warm editorial portrait, no metallic badges or stickers. */
.about-editorial .page-hero {
	background: #1c241f;
	padding-block: 75px;
}
.about-editorial .editorial-grid {
	grid-template-columns: 1.6fr 1fr;
	gap: 90px;
}
body .about-editorial .editorial-hero .h1 {
	font-size: clamp(42px, 5.3vw, 76px);
	line-height: 1.15 !important;
}
.about-editorial .editorial-highlight {
	background: none;
	color: #cadab7;
	font:
		italic 1.12em Georgia,
		serif;
	transform: none;
	padding: 0;
}
.about-editorial .editorial-hero .lead {
	font-size: 21px;
	color: #d4ddcd;
}
.about-meet {
	display: inline-flex;
	gap: 40px;
	align-items: center;
	margin-top: 30px;
	padding-bottom: 12px;
	border-bottom: 1px solid #b4c2a6;
	color: #e5ebdd;
	font-size: 17px;
}
.about-year {
	border-left: 1px solid #68775e;
	padding-left: 40px;
	color: #d5dfcb;
}
.about-year > span {
	font-size: 20px;
	line-height: 1.6;
}
.about-year strong {
	font-size: clamp(70px, 7.5vw, 108px);
	font-weight: 400;
	display: block;
	margin: 22px 0;
	line-height: 1;
}
.about-year strong span {
	display: inline-block;
	font-size: 0.5em;
	margin-left: 12px;
	color: #a7bd90;
}
.about-year p {
	font-size: 16px;
	line-height: 1.7;
}
.about-editorial .team-section {
	background: #f0efe8;
	color: #20281e;
	scroll-margin-top: 80px;
}
.about-editorial .about-grid {
	grid-template-columns: 0.85fr 1.3fr;
	gap: 70px;
	align-items: center;
}
.about-editorial .portrait {
	border-radius: 8px;
	min-height: 490px;
	max-height: none;
	background: #252c23;
	box-shadow: none;
}
.about-editorial .portrait img {
	object-fit: cover;
	filter: none;
}
.about-editorial .portrait-caption {
	background: linear-gradient(transparent, #10170df2);
	color: #fff;
	padding-top: 70px;
}
.about-editorial .portrait-caption :is(span, strong, small) {
	color: #fff;
}
.about-editorial .quote-panel {
	padding: 0;
	background: none;
	color: #26331f;
	min-height: 0;
	border: 0;
}
.interview-label {
	font-size: 15px;
	color: #66765a;
	display: block;
	margin-bottom: 32px;
}
.about-editorial .quote-panel h2 {
	font:
		400 clamp(37px, 4vw, 58px)/1.18 Georgia,
		serif;
	max-width: 600px;
	margin-top: 22px;
}
.about-editorial .quote-panel .lead {
	color: #536047;
	font-size: 21px;
}
.about-editorial .quote-panel .small {
	margin-top: 30px;
	color: #536047;
}
.about-editorial .stats {
	border-color: #b9c2ae;
}
.about-editorial .stat {
	border-color: #b9c2ae;
}
.about-editorial .stat strong {
	color: #425a32;
	font-size: 80px;
}
.about-editorial .stat span {
	color: #536047;
}
.about-editorial .manifesto-section {
	background: #e2e9d9;
	color: #26331f;
}
.about-editorial .manifesto-head .eyebrow {
	color: #536047;
}
.about-editorial .principle-grid {
	gap: 36px;
}
.about-editorial .principle-grid article {
	background: none;
	color: #26331f;
	border: 0;
	border-top: 1px solid #9fad91;
	padding: 28px 0;
	transform: none;
	border-radius: 0;
}
.about-editorial .principle-grid :is(p, span) {
	color: #536047;
}
.about-editorial .principle-grid h3 {
	font-size: 32px;
	margin-top: 25px;
}
.about-editorial .principle-grid b {
	display: none;
}

/* Contacts / a quiet, readable conversation desk. */
.contacts-editorial {
	background: #f0efe8;
	color: #24311e;
}
.contacts-editorial .page-hero {
	background: #e2e9d9;
	color: #24311e;
	border: 0;
	padding-block: 65px !important;
}
.contacts-editorial .page-hero .h1 {
	font-size: clamp(42px, 5vw, 72px);
	max-width: 1100px;
	line-height: 1.15 !important;
}
.contacts-editorial .page-hero em {
	font:
		italic 1em Georgia,
		serif;
	color: #536e40;
}
.contacts-editorial .page-hero :is(.lead, .eyebrow, .small) {
	color: #4f6241;
}
.contact-hello {
	display: inline-flex;
	align-items: center;
	gap: 40px;
	background: #263820;
	color: #fff;
	font-size: 17px;
	padding: 17px 24px;
	border-radius: 99px;
	margin-top: 28px;
}
.contact-hello:hover {
	background: #405733;
}
.contacts-editorial .contact-grid {
	grid-template-columns: 1fr 1.1fr;
	gap: 50px;
	align-items: start;
}
.contacts-editorial .contact-grid > .contact-card:first-child {
	background: none;
	border: 0;
	padding: 30px 0;
	color: #24311e;
}
.contacts-editorial .contact-grid > .contact-card:first-child :is(.eyebrow, .small) {
	color: #536047 !important;
}
.contacts-editorial .contact-grid > .contact-card:nth-child(2) {
	background: #fffefa;
	border: 1px solid #d0d9c7;
	border-radius: 20px;
	padding: 38px;
	box-shadow: 0 16px 50px #26382008;
}
.contacts-editorial .contact-channel-row {
	background: none;
	border: 0;
	border-bottom: 1px solid #b9c7ae;
	padding: 22px 0;
	color: #24311e;
}
.contacts-editorial :is(.channel-title, .channel-link-text) {
	color: #24311e;
}
.contacts-editorial .channel-tag {
	background: #e0e8d8;
	color: #465d36;
}
.contacts-editorial .channel-act-btn {
	background: #e0e8d8;
	color: #263820;
	border: 0;
}
.contacts-editorial .channel-copy-btn {
	background: transparent;
	color: #536047;
	border-color: #aab99d;
}
.contacts-editorial .channel-icon-wrap {
	background: #e0e8d8;
	color: #425b31;
	border: 0;
}
.contacts-editorial .picker-option input:checked + span {
	background: #d6e3c9;
	color: #24311e;
}
.contacts-editorial .form-wrap > .btn {
	background: #263820;
	color: #fff;
	border: 0;
}
.contacts-editorial .contact-card.mini {
	background: transparent;
	color: #24311e;
	border-top: 1px solid #b1bfa4;
	padding: 28px 0;
}
.contacts-editorial .contact-card.mini :is(.eyebrow, .small, .small span) {
	color: #536047 !important;
}
.contacts-editorial .form-input:focus,
.contacts-editorial .form-textarea:focus {
	outline: 2px solid #7d9667;
	outline-offset: 2px;
}

@media (max-width: 1000px) {
	.service-editorial .service-hero-grid {
		gap: 32px;
		grid-template-columns: 1.1fr 1fr;
	}
	.about-editorial .about-grid {
		gap: 38px;
	}
	.about-editorial .editorial-grid {
		gap: 40px;
	}
	.contacts-editorial .contact-grid {
		grid-template-columns: 1fr;
	}
	.solution-line {
		grid-template-columns: 50px 1fr 100px;
		gap: 22px;
	}
	.solution-open {
		justify-content: end;
	}
	.solution-open > span {
		display: none;
	}
}
@media (max-width: 700px) {
	.services-editorial .page-hero {
		padding: 48px 0;
	}
	.services-editorial .page-hero .h1 {
		font-size: clamp(34px, 8vw, 52px);
	}
	.services-editorial .page-hero .lead {
		font-size: 19px;
	}
	.solutions-intro {
		flex-direction: column;
		font-size: 13px;
		gap: 9px;
	}
	.solution-line {
		grid-template-columns: 30px 1fr 38px;
		gap: 12px;
		padding: 27px 0;
	}
	.solution-line:hover {
		padding-inline: 6px;
	}
	.solution-copy h2 {
		font-size: 25px;
	}
	.solution-copy p {
		font-size: 17px;
	}
	.solution-index {
		font-size: 14px;
	}
	.solution-tag {
		font-size: 12px;
	}
	.solution-open b {
		width: 36px;
		height: 36px;
		font-size: 23px;
	}
	.service-editorial .service-hero-grid {
		grid-template-columns: 1fr;
	}
	.service-editorial .service-hero .h1 {
		font-size: 36px;
	}
	.service-editorial .service-hero .lead {
		font-size: 19px;
	}
	.service-brief {
		padding: 26px;
		transform: none;
	}
	.brief-directions strong {
		font-size: 29px;
	}
	.service-editorial .service-content section,
	.service-editorial .service-content section:first-child {
		padding: 26px;
	}
	.service-editorial .service-content h2 {
		font-size: 27px;
	}
	.about-editorial .editorial-grid,
	.about-editorial .about-grid {
		grid-template-columns: 1fr;
		gap: 38px;
	}
	body .about-editorial .editorial-hero .h1 {
		font-size: 40px;
	}
	.about-year {
		padding-left: 24px;
	}
	.about-year strong {
		font-size: 76px;
	}
	.about-editorial .portrait {
		min-height: 390px;
	}
	.about-editorial .quote-panel h2 {
		font-size: 39px;
	}
	.about-editorial .quote-panel .lead {
		font-size: 19px;
	}
	.about-editorial .stat strong {
		font-size: 62px;
	}
	.contacts-editorial .page-hero .h1 {
		font-size: 39px;
	}
	.contacts-editorial .contact-grid > .contact-card:nth-child(2) {
		padding: 25px;
	}
	.contacts-editorial .contact-grid {
		gap: 20px;
	}
	.contacts-editorial .channel-tag {
		font-size: 10px;
	}
	.contacts-editorial .channel-link-text {
		font-size: 16px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.solution-line,
	.solution-open b {
		transition: none;
	}
}
