/**
 * 2026 visual refresh.
 *
 * This file intentionally loads last. It unifies the older component layers into
 * one responsive rhythm without changing the templates or their functionality.
 */
:root {
	--bg-main: #fefcf8;
	--bg-surface: #ffffff;
	--bg-muted: #f9f6ef;
	--bg-dark: #181308;
	--text-primary: #211a0d;
	--text-secondary: #6e6552;
	--brand: #BF963D;
	--brand-dark: #896823;
	--brand-light: #f6edda;
	--action: #896823;
	--action-hover: #6e521b;
	--accent: #BF963D;
	--border: #e9e4da;
	--visual-bg: #f5ecd8;
	--visual-deep: #896823;
	--container: 1280px;
	--header-h: 82px;
	--header-compact-h: 70px;
	--radius-sm: 12px;
	--radius-md: 20px;
	--radius-lg: 32px;
	--section-space: clamp(4.75rem, 8vw, 7.5rem);
	--shadow-soft: 0 24px 70px rgba(33, 26, 13, .09);
	--shadow-card: 0 14px 40px rgba(33, 26, 13, .07);
	--font: Inter, Manrope, "Segoe UI", Helvetica, Arial, sans-serif;
	--sss-title: clamp(2.85rem, 5.4vw, 5.75rem);
	--sss-inner-title: clamp(2.65rem, 4.6vw, 4.8rem);
	--sss-heading: clamp(2.1rem, 3.6vw, 3.85rem);
	--sss-card-title: clamp(1.25rem, 1.65vw, 1.6rem);
	--sss-copy: clamp(1rem, .96rem + .18vw, 1.12rem);
}

.sss-site {
	background: var(--bg-main);
	color: var(--text-primary);
	font-size: 16px;
	line-height: 1.7;
	text-rendering: optimizeLegibility;
}

/* Final client review carousel: one snap-aligned review per horizontal step. */
.sss-client-reviews .sss-quote-list {
	display: flex;
	width: min(94vw, 1440px);
	min-height: 0;
	margin-left: 50%;
	gap: 18px !important;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: auto;
	scroll-snap-type: none;
	scrollbar-width: none;
	overscroll-behavior-inline: contain;
	touch-action: pan-x pan-y;
	transform: translateX(-50%);
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 3%, #000 97%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 3%, #000 97%, transparent 100%);
}

.sss-client-reviews .sss-quote-list::-webkit-scrollbar { display: none; }

.sss-client-reviews .sss-quote-list:focus-visible {
	outline: 2px solid rgba(119, 92, 34,.34);
	outline-offset: 7px;
}

.sss-client-reviews .sss-quote,
.sss-client-reviews .sss-quote.is-active,
.sss-client-reviews .sss-quote.is-next {
	position: relative;
	inset: auto;
	display: flex;
	flex: 0 0 clamp(340px, 34vw, 470px);
	width: clamp(340px, 34vw, 470px);
	min-width: clamp(340px, 34vw, 470px);
	min-height: 300px !important;
	padding: 28px 30px !important;
	margin: 0;
	opacity: 1;
	transform: none;
	pointer-events: auto;
	scroll-snap-align: none;
}

.sss-client-reviews .sss-quote:hover { transform: none; }

.sss-client-reviews .sss-quote__top {
	margin-bottom: 12px;
}

.sss-client-reviews .sss-quote__avatar {
	width: 58px;
	height: 58px;
	border-width: 4px;
}

.sss-client-reviews .sss-quote blockquote {
	margin: 8px 0 18px;
	line-height: 1.65 !important;
}

.sss-client-reviews > .sss-quote-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-top: 22px;
}

.sss-testimonials.sss-section {
	padding-block: clamp(3.75rem, 6vw, 5.5rem);
}

.sss-client-reviews__heading {
	margin-bottom: clamp(26px, 3.5vw, 40px);
}

.sss-client-reviews .sss-quote-controls > button {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid #e2ddd2;
	border-radius: 50%;
	background: rgba(255,255,255,.86);
	color: #312b1d;
	box-shadow: 0 8px 22px rgba(42, 35, 19,.055);
	cursor: pointer;
	transition: border-color .3s var(--ease), background-color .3s var(--ease), color .3s var(--ease), transform .3s var(--ease), opacity .3s var(--ease);
}

.sss-client-reviews .sss-quote-controls > button:first-child span {
	display: grid;
	transform: rotate(180deg);
}

.sss-client-reviews .sss-quote-controls > button:last-child span { display: grid; }

.sss-client-reviews .sss-quote-controls > button:hover:not(:disabled),
.sss-client-reviews .sss-quote-controls > button:focus-visible {
	border-color: #775c22;
	background: #775c22;
	color: #fff;
	transform: translateY(-2px);
}

.sss-client-reviews .sss-quote-controls > button:disabled {
	opacity: .34;
	cursor: default;
}

.sss-client-reviews .sss-quote-dots {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 7px 10px;
	border: 1px solid rgba(226, 221, 210,.72);
	background: rgba(255,255,255,.72);
}

.sss-client-reviews .sss-quote-dots button {
	width: 8px;
	height: 8px;
	box-shadow: none;
}

.sss-client-reviews .sss-quote-dots button.is-active {
	width: 24px;
	border-radius: 999px;
}

@media (max-width: 700px) {
	.sss-client-reviews .sss-quote-list {
		width: 100vw;
		gap: 14px !important;
	}

	.sss-client-reviews .sss-quote,
	.sss-client-reviews .sss-quote.is-active,
	.sss-client-reviews .sss-quote.is-next {
		flex-basis: 82vw;
		width: 82vw;
		min-width: 82vw;
		min-height: 330px !important;
		padding: 25px 22px !important;
	}
}

.sss-site main {
	overflow: clip;
}

.sss-container {
	width: min(calc(100% - 64px), var(--container));
}

.sss-section {
	padding-block: var(--section-space);
	border-top: 0;
}

.sss-site section h1,
.sss-site h1 {
	font-size: var(--sss-title);
	font-weight: 760;
	line-height: 1.02;
	letter-spacing: -.058em;
	text-wrap: balance;
}

.sss-site section h2,
.sss-site .sss-heading-row h2,
.sss-site .sss-capabilities__heading h2,
.sss-site .sss-work-stack__heading h2,
.sss-site .sss-faq h2 {
	font-size: var(--sss-heading);
	font-weight: 720;
	line-height: 1.1;
	letter-spacing: -.045em;
	text-wrap: balance;
}

.sss-site section h3 {
	font-size: var(--sss-card-title);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -.025em;
	text-wrap: balance;
}

.sss-site p,
.sss-site li {
	overflow-wrap: break-word;
}

.sss-site :is(p, li, blockquote) {
	text-wrap: pretty;
}

.sss-heading-row {
	align-items: end;
	gap: clamp(30px, 6vw, 90px);
	margin-bottom: clamp(2.5rem, 4.5vw, 4.5rem);
}

.sss-heading-row > div {
	max-width: 850px;
}

.sss-heading-row > p {
	max-width: 400px;
	padding-left: 18px;
	border-left: 2px solid var(--accent);
	font-size: var(--sss-copy);
	line-height: 1.7;
}

.sss-section-label,
.sss-page-hero .sss-eyebrow,
.sss-case-hero .sss-eyebrow,
.sss-legal-hero .sss-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	width: fit-content;
	margin-bottom: 20px;
	padding: 8px 13px;
	border: 1px solid #e8e2d5;
	border-radius: 999px;
	background: rgba(255, 255, 255, .86);
	box-shadow: 0 6px 18px rgba(33, 26, 13, .04);
	color: var(--brand-dark);
	font-size: .7rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .085em;
	text-transform: uppercase;
}

.sss-section-label .sss-icon {
	width: 16px;
	height: 16px;
	color: var(--accent);
}

.sss-mini-label {
	margin-bottom: 14px;
	color: var(--brand-dark);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .09em;
}

.sss-btn {
	min-height: 52px;
	padding: 12px 23px;
	border-color: var(--brand);
	border-radius: 14px;
	background: linear-gradient(135deg, #846522, #614f27);
	box-shadow: 0 12px 28px rgba(119, 92, 34, .22);
	font-size: .9rem;
	font-weight: 750;
	letter-spacing: -.01em;
	transition: transform .3s var(--ease), box-shadow .3s var(--ease), background .3s;
}

.sss-btn:hover {
	border-color: var(--brand-dark);
	background: linear-gradient(135deg, #614f27, #433821);
	box-shadow: 0 16px 34px rgba(79, 65, 34, .28);
	transform: translateY(-3px);
}

.sss-btn--small {
	min-height: 44px;
	padding: 9px 17px;
	border-radius: 12px;
}

.sss-btn--light {
	border-color: #fff;
	background: #fff;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .13);
	color: var(--bg-dark) !important;
}

.sss-text-link {
	gap: 10px;
	font-weight: 750;
}

[data-reveal] {
	transform: translateY(28px);
	transition-duration: .75s;
}

/* Header */
.sss-header {
	height: var(--header-h);
	border-bottom: 1px solid transparent;
	background: rgba(254, 252, 248, .72);
	backdrop-filter: blur(18px) saturate(145%);
}

.sss-header.is-scrolled {
	height: var(--header-compact-h);
	border-color: rgba(220, 214, 201, .8);
	background: rgba(254, 252, 248, .92);
	box-shadow: 0 10px 35px rgba(33, 26, 13, .055);
}

.sss-logo {
	gap: 12px;
	font-size: 1.03rem;
	font-weight: 820;
}

.sss-logo small {
	margin-top: 5px;
	font-size: .56rem;
	letter-spacing: .13em;
}

.sss-logo__mark {
	width: 34px;
	height: 34px;
	grid-template-columns: repeat(3, 4px);
	justify-content: center;
	gap: 3px;
	padding: 7px 5px;
	border: 0;
	border-radius: 10px;
	background: linear-gradient(145deg, var(--brand), #433821);
	box-shadow: 0 8px 20px rgba(119, 92, 34, .22);
}

.sss-logo__mark i,
.sss-logo__mark i:nth-child(2),
.sss-logo__mark i:nth-child(3) {
	border-radius: 4px;
	background: #fff;
}

.sss-nav {
	gap: clamp(20px, 3vw, 38px);
}

.sss-nav ul {
	gap: clamp(16px, 2.2vw, 30px);
}

.sss-nav ul a {
	font-size: .86rem;
	font-weight: 650;
}

.sss-nav ul a::after {
	height: 2px;
	border-radius: 4px;
	background: linear-gradient(90deg, var(--brand), var(--accent));
}

/* Home hero */
.sss-launch-hero {
	min-height: min(880px, 100svh);
	display: flex;
	align-items: center;
	padding: calc(var(--header-h) + clamp(44px, 6vw, 80px)) 0 clamp(60px, 8vw, 100px);
	background:
		radial-gradient(circle at 78% 24%, rgba(119, 92, 34, .15), transparent 26%),
		radial-gradient(circle at 10% 90%, rgba(255, 107, 74, .09), transparent 24%),
		linear-gradient(130deg, #fff 0 46%, #f9f3e5 100%);
}

.sss-launch-hero::before {
	content: "";
	position: absolute;
	inset: var(--header-h) 0 auto;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(119, 92, 34, .22), transparent);
}

.sss-launch-hero__grid {
	grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr);
	gap: clamp(50px, 7vw, 110px);
}

.sss-launch-hero__eyebrow {
	margin-bottom: 25px;
	color: var(--brand-dark);
	font-size: .72rem;
	font-weight: 800;
}

.sss-site .sss-launch-hero h1 {
	max-width: 760px;
	margin-bottom: 28px;
	font-size: clamp(2.7rem, 4.65vw, 5rem);
	font-weight: 780;
	line-height: 1.025;
}

.sss-launch-hero__lead {
	max-width: 630px;
	margin-bottom: 32px;
	font-size: var(--sss-copy);
	line-height: 1.78;
}

.sss-launch-hero__foot {
	max-width: 630px;
	margin-top: 42px;
	padding-top: 22px;
}

.sss-launch-art {
	filter: drop-shadow(0 28px 48px rgba(33, 26, 13, .08));
}

.sss-launch-art__halo {
	background: linear-gradient(135deg, #f3e4c4, #f7edd7 58%, #ffe8e1);
	box-shadow: inset 0 0 0 1px rgba(119, 92, 34, .08);
}

.sss-launch-art__window {
	border-color: rgba(255, 255, 255, .88);
	border-radius: 24px;
	box-shadow: 0 34px 80px rgba(33, 26, 13, .18);
}

.sss-launch-art aside {
	background: linear-gradient(180deg, #745c27, #43371d);
}

.sss-launch-art__badge,
.sss-launch-art__chip {
	border-radius: 14px;
	box-shadow: 0 18px 38px rgba(33, 26, 13, .14);
}

/* Shared content surfaces */
.sss-intro,
.sss-tech,
.sss-values,
.sss-expertise-page,
.sss-detail-intro,
.sss-contact,
.sss-legal {
	background: var(--bg-main);
}

.sss-services,
.sss-process,
.sss-related,
.sss-work-index {
	background: var(--bg-muted);
}

.sss-intro__grid,
.sss-editorial__grid,
.sss-detail-intro__grid {
	grid-template-columns: minmax(180px, .42fr) minmax(0, 1.58fr);
	gap: clamp(36px, 8vw, 130px);
}

.sss-intro__grid > div,
.sss-editorial__grid > div,
.sss-detail-intro__grid > div {
	max-width: 900px;
}

.sss-intro__grid > div > p,
.sss-editorial__grid p,
.sss-prose {
	font-size: var(--sss-copy);
	line-height: 1.82;
}

.sss-service-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	border: 0;
}

.sss-service-card {
	position: relative;
	isolation: isolate;
	min-height: 282px;
	padding: 28px;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: rgba(255, 255, 255, .92);
	box-shadow: var(--shadow-card);
	overflow: hidden;
}

.sss-service-card::after {
	content: "";
	position: absolute;
	right: -58px;
	bottom: -68px;
	width: 150px;
	height: 150px;
	border: 28px solid var(--brand-light);
	border-radius: 50%;
	opacity: .7;
	z-index: 0;
	pointer-events: none;
	transition: transform .5s var(--ease);
}

.sss-service-card > * {
	position: relative;
	z-index: 1;
}

.sss-service-card > span {
	width: 48px;
	height: 48px;
	border-radius: 14px;
}

.sss-service-card > .sss-service-card__visual {
	position: absolute;
	z-index: 0;
	top: 25px;
	right: 26px;
	width: 96px;
	height: 62px;
	border: 0;
	border-radius: 18px;
	background: linear-gradient(145deg, rgba(250, 244, 231,.9), rgba(253, 250, 244,.55));
	box-shadow: inset 0 0 0 1px rgba(119, 92, 34,.075);
	overflow: hidden;
	pointer-events: none;
	transition: box-shadow .5s var(--ease), transform .5s var(--ease);
}

.sss-service-card__visual i {
	position: absolute;
	display: block;
	background: #936f1f;
	transition: transform .5s var(--ease);
}

.sss-service-card:nth-child(1) .sss-service-card__visual::before {
	content: "";
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 13px;
	height: 1px;
	background: rgba(119, 92, 34,.18);
}

.sss-service-card:nth-child(1) .sss-service-card__visual i {
	bottom: 14px;
	width: 10px;
	border-radius: 5px 5px 2px 2px;
}

.sss-service-card:nth-child(1) .sss-service-card__visual i:nth-child(1) { left: 21px; height: 17px; opacity: .42; }
.sss-service-card:nth-child(1) .sss-service-card__visual i:nth-child(2) { left: 43px; height: 29px; opacity: .68; }
.sss-service-card:nth-child(1) .sss-service-card__visual i:nth-child(3) { left: 65px; height: 40px; }

.sss-service-card:nth-child(2) .sss-service-card__visual i {
	width: 35px;
	height: 35px;
	border: 1px solid rgba(119, 92, 34,.24);
	border-radius: 10px;
	background: rgba(255,255,255,.78);
}

.sss-service-card:nth-child(2) .sss-service-card__visual i:nth-child(1) { left: 17px; top: 15px; transform: rotate(-12deg); }
.sss-service-card:nth-child(2) .sss-service-card__visual i:nth-child(2) { left: 32px; top: 12px; background: rgba(147, 111, 31,.12); transform: rotate(4deg); }
.sss-service-card:nth-child(2) .sss-service-card__visual i:nth-child(3) { left: 48px; top: 16px; transform: rotate(13deg); }

.sss-service-card:nth-child(3) .sss-service-card__visual i {
	left: 19px;
	height: 5px;
	border-radius: 5px;
}

.sss-service-card:nth-child(3) .sss-service-card__visual i:nth-child(1) { top: 17px; width: 58px; }
.sss-service-card:nth-child(3) .sss-service-card__visual i:nth-child(2) { top: 29px; width: 42px; opacity: .55; }
.sss-service-card:nth-child(3) .sss-service-card__visual i:nth-child(3) { top: 41px; width: 51px; opacity: .3; }

.sss-service-card:nth-child(4) .sss-service-card__visual i {
	width: 52px;
	height: 35px;
	border: 1px solid rgba(119, 92, 34,.34);
	border-radius: 8px;
	background: rgba(255,255,255,.8);
}

.sss-service-card:nth-child(4) .sss-service-card__visual i::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 7px;
	height: 1px;
	background: rgba(119, 92, 34,.2);
}

.sss-service-card:nth-child(4) .sss-service-card__visual i:nth-child(1) { left: 14px; top: 15px; opacity: .35; }
.sss-service-card:nth-child(4) .sss-service-card__visual i:nth-child(2) { left: 25px; top: 12px; opacity: .65; }
.sss-service-card:nth-child(4) .sss-service-card__visual i:nth-child(3) { left: 34px; top: 9px; }

.sss-service-card:nth-child(5) .sss-service-card__visual i {
	width: 27px;
	height: 20px;
	border-radius: 6px;
	background: rgba(147, 111, 31,.2);
}

.sss-service-card:nth-child(5) .sss-service-card__visual i:nth-child(1) { left: 18px; top: 11px; width: 60px; height: 9px; background: #936f1f; }
.sss-service-card:nth-child(5) .sss-service-card__visual i:nth-child(2) { left: 18px; top: 28px; }
.sss-service-card:nth-child(5) .sss-service-card__visual i:nth-child(3) { left: 51px; top: 28px; opacity: .6; }

.sss-service-card:nth-child(6) .sss-service-card__visual::before,
.sss-service-card:nth-child(6) .sss-service-card__visual::after {
	content: "";
	position: absolute;
	left: 30px;
	top: 30px;
	width: 40px;
	height: 1px;
	background: rgba(119, 92, 34,.34);
	transform-origin: left center;
}

.sss-service-card:nth-child(6) .sss-service-card__visual::before { transform: rotate(-22deg); }
.sss-service-card:nth-child(6) .sss-service-card__visual::after { transform: rotate(22deg); }

.sss-service-card:nth-child(6) .sss-service-card__visual i {
	width: 10px;
	height: 10px;
	border: 3px solid #936f1f;
	border-radius: 50%;
	background: #fff;
}

.sss-service-card:nth-child(6) .sss-service-card__visual i:nth-child(1) { left: 22px; top: 26px; }
.sss-service-card:nth-child(6) .sss-service-card__visual i:nth-child(2) { right: 17px; top: 13px; }
.sss-service-card:nth-child(6) .sss-service-card__visual i:nth-child(3) { right: 17px; bottom: 13px; }

.sss-service-card h3 {
	margin: auto 0 14px;
	padding-top: 30px;
}

.sss-service-card p {
	margin-bottom: 0;
	font-size: .95rem;
	line-height: 1.7;
}

.sss-service-card:hover {
	border-color: rgba(119, 92, 34, .48);
	box-shadow: 0 24px 52px rgba(119, 92, 34, .13);
	transform: translateY(-7px);
}

.sss-service-card:hover::after {
	transform: translate(-12px, -10px) rotate(12deg);
}

.sss-service-card:hover > .sss-service-card__visual {
	box-shadow: inset 0 0 0 1px rgba(119, 92, 34,.16), 0 12px 26px rgba(119, 92, 34,.08);
	transform: translate(-3px, 2px);
}

.sss-capabilities__grid {
	gap: 22px;
}

.sss-capability-card {
	min-height: 380px;
	padding: 38px 30px;
	border-color: var(--border);
	border-radius: 20px;
	box-shadow: 0 10px 35px rgba(33, 26, 13, .045);
}

.sss-capability-card header span {
	width: 72px;
	height: 72px;
	border-radius: 20px;
}

.sss-capability-card > p {
	font-size: .95rem;
	line-height: 1.72;
}

.sss-capability-card:hover,
.sss-capability-card:focus-within {
	box-shadow: 0 24px 50px rgba(33, 26, 13, .11);
}

.sss-about-band {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 82% 12%, rgba(189, 142, 40, .26), transparent 24%),
		linear-gradient(135deg, #251e0e, #433821 62%, #614f27);
}

.sss-about-band::after {
	content: "";
	position: absolute;
	right: -130px;
	bottom: -190px;
	width: 430px;
	height: 430px;
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: 50%;
	box-shadow: 0 0 0 60px rgba(255, 255, 255, .025), 0 0 0 120px rgba(255, 255, 255, .018);
}

.sss-about-band__grid,
.sss-stats {
	position: relative;
	z-index: 1;
}

.sss-stats {
	gap: 1px;
	margin-top: clamp(48px, 7vw, 84px);
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 20px;
	background: rgba(255, 255, 255, .08);
	backdrop-filter: blur(12px);
	overflow: hidden;
}

.sss-stats > div,
.sss-stats > div:first-child {
	padding: 28px 22px;
	border-left: 1px solid rgba(255, 255, 255, .13);
}

.sss-stats > div:first-child {
	border-left: 0;
}

.sss-stats strong {
	font-size: clamp(2rem, 3.2vw, 3.35rem);
	font-weight: 680;
}

.sss-stats span {
	color: #ebd5a3;
}

/* Reviews and FAQ */
.sss-testimonials {
	background: linear-gradient(180deg, #f8f6f1, #f4f1ea);
}

.sss-client-reviews__heading {
	margin-bottom: clamp(32px, 5vw, 54px);
}

.sss-client-reviews .sss-quote-list {
	gap: 22px;
}

.sss-client-reviews .sss-quote {
	min-height: 370px;
	padding: clamp(28px, 3.4vw, 44px);
	border: 1px solid var(--border);
	border-radius: 22px;
	box-shadow: var(--shadow-card);
}

.sss-client-reviews .sss-quote blockquote {
	font-size: 1.02rem;
	line-height: 1.8;
}

.sss-faq__grid {
	grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
	gap: clamp(50px, 9vw, 130px);
}

.sss-accordion {
	display: grid;
	gap: 12px;
}

.sss-accordion__item {
	padding: 0 22px;
	border: 1px solid var(--border);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 26px rgba(33, 26, 13, .035);
}

.sss-accordion button {
	min-height: 76px;
	padding-right: 6px;
}

.sss-accordion__panel {
	padding-right: 38px;
}

/* Calls to action and footer */
.sss-cta {
	padding: clamp(20px, 3vw, 38px) 0;
	background: var(--bg-dark);
}

.sss-cta__inner {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(42px, 6vw, 78px);
	border: 1px solid rgba(220, 178, 88, .2);
	border-radius: 28px;
	background: linear-gradient(120deg, #231c0e 0 55%, #352c19 100%);
}

.sss-cta__inner::after {
	content: "";
	position: absolute;
	z-index: -1;
	right: -80px;
	top: -130px;
	width: 340px;
	height: 340px;
	border: 62px solid rgba(189, 142, 40, .12);
	border-radius: 50%;
}

.sss-cta h2 {
	font-size: clamp(2.25rem, 4.2vw, 4.35rem);
}

.sss-footer {
	padding: 90px 0 30px;
	background: #110e05;
	color: #f9f2e2;
}

.sss-footer__top {
	grid-template-columns: 1.6fr .75fr 1.15fr 1.2fr;
	gap: clamp(34px, 6vw, 80px);
	padding-bottom: 62px;
}

.sss-footer__top > div {
	gap: 12px;
}

.sss-footer__top p,
.sss-footer__top > div:first-child p {
	color: #aca189;
	line-height: 1.7;
}

.sss-footer__label {
	color: #bd8e28;
}

.sss-logo--footer .sss-logo__mark {
	border: 0;
	background: linear-gradient(145deg, #967224, #614f27);
}

.sss-footer__bottom {
	border-color: rgba(170, 161, 140, .18);
	color: #8e8269;
}

/* Internal page openings */
.sss-page-hero,
.sss-legal-hero {
	padding: calc(var(--header-h) + clamp(58px, 8vw, 100px)) 0 clamp(64px, 8vw, 96px);
	background:
		radial-gradient(circle at 86% 22%, rgba(119, 92, 34, .15) 0 110px, transparent 111px),
		radial-gradient(circle at 8% 90%, rgba(255, 107, 74, .08), transparent 18%),
		linear-gradient(125deg, #fff 0 52%, #f9f2e2 100%);
}

.sss-page-hero::before,
.sss-legal-hero::before {
	border-color: rgba(119, 92, 34, .13);
	box-shadow: 0 0 0 42px rgba(119, 92, 34, .035), 0 0 0 84px rgba(119, 92, 34, .02);
}

.sss-page-hero > .sss-container {
	grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr);
	gap: 18px clamp(55px, 9vw, 140px);
}

.sss-site .sss-page-hero h1,
.sss-site .sss-case-hero h1,
.sss-site .sss-legal-hero h1,
.sss-site .sss-not-found h1 {
	font-size: var(--sss-inner-title);
	font-weight: 760;
	line-height: 1.04;
	letter-spacing: -.052em;
}

.sss-page-hero__copy {
	max-width: 490px;
	padding: 28px;
	border: 1px solid rgba(226, 219, 205, .88);
	border-radius: 20px;
	background: rgba(255, 255, 255, .8);
	box-shadow: 0 22px 55px rgba(33, 26, 13, .08);
	backdrop-filter: blur(12px);
	font-size: var(--sss-copy);
}

.sss-page-hero__copy::before {
	height: 5px;
	border-radius: 99px;
	background: linear-gradient(90deg, var(--brand) 0 66%, var(--accent) 66%);
}

.sss-breadcrumb {
	align-items: center;
	padding-top: calc(var(--header-h) + 28px);
	font-size: .75rem;
}

.sss-breadcrumb + .sss-page-hero {
	padding-top: 42px;
}

/* Services index */
.sss-service-list {
	padding: var(--section-space) 0;
	background: var(--bg-muted);
}

.sss-service-showcase {
	gap: 24px;
	grid-auto-rows: 1fr;
}

.sss-service-panel {
	min-height: 0;
	border-color: var(--border);
	border-radius: 24px;
	box-shadow: var(--shadow-card);
}

.sss-service-panel__icon {
	border-radius: 18px;
}

.sss-service-panel__summary {
	margin: 18px 0 20px;
	font-size: .98rem;
	line-height: 1.75;
}

.sss-service-panel__details {
	gap: 20px;
	padding-top: 20px;
}

/* Expertise index */
.sss-expertise-page > .sss-container {
	display: grid;
	gap: 24px;
}

/* Work index and cards */
.sss-filter {
	gap: 10px;
	margin-bottom: 42px;
}

.sss-filter button {
	min-height: 42px;
	padding: 8px 17px;
	border-radius: 12px;
	background: #fff;
	font-size: .82rem;
	font-weight: 700;
	transition: background .25s, color .25s, transform .25s, box-shadow .25s;
}

.sss-filter button:hover,
.sss-filter button[aria-pressed="true"] {
	background: var(--brand);
	box-shadow: 0 8px 20px rgba(119, 92, 34, .18);
	transform: translateY(-2px);
}

.sss-work-grid {
	gap: clamp(28px, 4vw, 52px) 24px;
}

.sss-project-card {
	border: 1px solid var(--border);
	border-radius: 22px;
	background: #fff;
	box-shadow: var(--shadow-card);
	overflow: hidden;
	transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;
}

.sss-project-card:hover {
	border-color: rgba(119, 92, 34, .35);
	box-shadow: 0 24px 54px rgba(33, 26, 13, .12);
	transform: translateY(-7px);
}

.sss-project-card__visual {
	background: linear-gradient(145deg, #f3e5c6, #f6ecd6);
}

.sss-project-card__body {
	padding: 26px 28px 30px;
}

.sss-project-card__body h2 {
	margin: 12px 0 18px;
	font-size: clamp(1.55rem, 2.25vw, 2.25rem);
}

.sss-project-card__body > div {
	align-items: flex-end;
}

/* Detail pages */
.sss-detail-columns {
	background: var(--bg-muted);
}

.sss-detail-columns > .sss-container {
	gap: 20px;
}

.sss-detail-columns > .sss-container > div {
	padding: 30px;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: #fff;
	box-shadow: var(--shadow-card);
}

.sss-detail-columns li {
	position: relative;
	padding: 13px 0 13px 18px;
	font-size: .93rem;
}

.sss-detail-columns li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.45em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--accent);
}

.sss-case-hero {
	padding-top: clamp(38px, 5vw, 62px);
	background: linear-gradient(180deg, #f9f3e5, #fefcf8 76%);
}

.sss-case-hero__visual {
	height: min(590px, 68vh);
	margin-top: 52px;
	border-radius: 28px 28px 0 0;
	background: linear-gradient(135deg, #433821, #775c22 58%, #8c6d29);
	box-shadow: 0 -18px 50px rgba(67, 56, 33, .14);
}

.sss-case-content > .sss-container {
	max-width: 1020px;
}

.sss-case-content article {
	grid-template-columns: 130px minmax(0, 1fr);
	column-gap: clamp(34px, 7vw, 90px);
	padding: clamp(48px, 6vw, 72px) 0;
}

.sss-case-content article h2 {
	font-size: clamp(1.9rem, 3vw, 3rem);
}

.sss-case-content article p {
	font-size: var(--sss-copy);
	line-height: 1.82;
}

.sss-result-band {
	padding: var(--section-space) 0;
	background: linear-gradient(135deg, #261f0f, #4f4122);
}

.sss-result-band > .sss-container {
	grid-template-columns: .35fr 1.45fr .7fr;
	gap: clamp(36px, 6vw, 84px);
}

.sss-result-band blockquote {
	font-size: clamp(2rem, 3.7vw, 3.9rem);
}

/* Contact */
.sss-contact__grid {
	grid-template-columns: minmax(260px, .68fr) minmax(0, 1.32fr);
	gap: clamp(40px, 8vw, 110px);
	align-items: start;
}

.sss-contact aside,
.sss-form-wrap {
	padding: clamp(28px, 4vw, 46px);
	border: 1px solid var(--border);
	border-radius: 24px;
	background: #fff;
	box-shadow: var(--shadow-card);
}

.sss-contact aside {
	position: sticky;
	top: calc(var(--header-compact-h) + 28px);
	background: linear-gradient(150deg, #fff, #faf5ea);
}

.sss-contact aside > div {
	padding: 18px 0;
}

.sss-contact aside div > a {
	font-weight: 700;
}

.sss-contact-form {
	margin-top: 26px;
}

.sss-form-row {
	gap: 18px;
}

.sss-contact-form label {
	margin-bottom: 20px;
	font-size: .78rem;
	letter-spacing: .015em;
}

.sss-contact-form input,
.sss-contact-form textarea,
.sss-contact-form select {
	min-height: 50px;
	margin-top: 9px;
	padding: 13px 15px;
	border: 1px solid #e2ddd1;
	border-radius: 12px;
	background: #fefcf8;
	transition: border-color .25s, box-shadow .25s, background .25s;
}

.sss-contact-form textarea {
	min-height: 150px;
	resize: vertical;
}

.sss-contact-form input:focus,
.sss-contact-form textarea:focus,
.sss-contact-form select:focus {
	border-color: var(--brand);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(119, 92, 34, .1);
}

.sss-form-submit {
	gap: 24px;
	margin-top: 10px;
	padding-top: 24px;
	border-top: 1px solid var(--border);
}

.sss-form-submit p {
	max-width: 440px;
	font-size: .78rem;
	line-height: 1.6;
}

/* Legal and 404 */
.sss-legal > .sss-container {
	grid-template-columns: 250px minmax(0, 1fr);
	gap: clamp(50px, 9vw, 130px);
}

.sss-legal aside nav {
	top: calc(var(--header-compact-h) + 28px);
	gap: 4px;
	padding: 22px;
	border: 1px solid var(--border);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(33, 26, 13, .05);
}

.sss-legal aside nav a {
	padding: 7px 9px;
	border-radius: 8px;
	transition: background .2s, color .2s;
}

.sss-legal aside nav a:hover {
	background: var(--brand-light);
	color: var(--brand-dark);
}

.sss-legal article {
	max-width: 820px;
}

.sss-legal article section {
	padding-bottom: 42px;
	margin-bottom: 42px;
}

.sss-legal article h2 {
	font-size: clamp(1.5rem, 2.25vw, 2.15rem);
}

.sss-legal article p {
	font-size: 1rem;
	line-height: 1.82;
}

.sss-legal-warning {
	padding: 18px 20px;
	border-radius: 14px;
	background: #fff8e8;
	color: #714f18;
}

.sss-not-found {
	min-height: 78svh;
	background:
		radial-gradient(circle at 75% 35%, rgba(119, 92, 34, .14), transparent 24%),
		linear-gradient(135deg, #fff, #f9f3e5);
}

/* Technology: a visual stack alongside a compact technology catalog. */
.sss-tech-stack {
 display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr);
 gap:clamp(28px,4vw,60px);align-items:stretch;
}
.sss-tech-stack__visual {
 position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;
 padding:30px;border-radius:26px;color:#fff;
 background:radial-gradient(ellipse at 50% 45%,#5e4bcc66,transparent 65%),linear-gradient(145deg,#312815,#221d11);
 box-shadow:0 20px 45px #192f5514;min-width:0;
}
.sss-tech-stack__visual::before {
 content:"";position:absolute;inset:0;z-index:-1;opacity:.16;
 background-image:linear-gradient(#a7bcf533 1px,transparent 1px),linear-gradient(90deg,#a7bcf533 1px,transparent 1px);
 background-size:32px 32px;mask-image:linear-gradient(transparent,#000,transparent);
}
.sss-tech-stack .sss-tech-stack__eyebrow {color:#e1c893;font-size:.63rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0;}
.sss-tech-stack__art {position:relative;flex:1;min-height:240px;width:100%;max-width:340px;margin:4px auto 14px;}
.sss-tech-stack__orbit {position:absolute;width:270px;height:130px;left:50%;top:100px;border:1px dashed #94b0ee55;border-radius:50%;transform:translateX(-50%) rotate(-17deg);}
.sss-tech-stack__layer {
 position:absolute;left:50%;width:132px;height:132px;border-radius:22px;
 transform:translateX(-50%) rotateX(54deg) rotateZ(-36deg);border:1px solid #b6c6ff70;
 box-shadow:-8px 12px 0 #473b21,0 28px 40px #080d3044;
}
.sss-tech-stack__layer--base {top:104px;background:linear-gradient(140deg,#6e5a30,#483c21);}
.sss-tech-stack__layer--middle {top:57px;background:linear-gradient(140deg,#8b7038,#594c2e);box-shadow:-8px 12px 0 #433923,0 20px 40px #090b2d33;}
.sss-tech-stack__layer--top {top:10px;background:linear-gradient(135deg,#e2bf74,#ac842d 50%,#927433);box-shadow:-8px 12px 0 #7e6a3d,0 22px 35px #12124133;}
.sss-tech-stack__layer span {display:grid;place-items:center;height:100%;color:#f8f0de;}
.sss-tech-stack__layer .sss-icon {width:48px;height:48px;stroke-width:1.25;}
.sss-tech-stack__spark {position:absolute;width:7px;height:7px;border-radius:50%;background:#efddb6;box-shadow:0 0 18px #7adfff88;}
.sss-tech-stack__spark--one {top:85px;left:12%;}
.sss-tech-stack__spark--two {bottom:40px;right:12%;width:5px;height:5px;background:#ddb45d;}
.sss-site .sss-tech-stack__caption h3 {color:#fff;font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.16;letter-spacing:-.035em;margin:0 0 12px;}
.sss-tech-stack__caption p {color:#d3c6a8;font-size:.82rem;line-height:1.6;margin:0;}
.sss-tech-stack__principles {display:flex;flex-wrap:wrap;gap:16px;border-top:1px solid #c2d0ff24;padding-top:19px;margin-top:24px;}
.sss-tech-stack__principles span {color:#e0d3b6;font-size:.62rem;display:flex;align-items:center;gap:6px;}
.sss-tech-stack__principles span::before {content:"";width:4px;height:4px;border-radius:50%;background:#d4a33a;}
.sss-tech-stack__catalog {display:grid;align-content:center;min-width:0;}
.sss-tech-stack__row {
 --tech-accent:#9a772b;display:grid;grid-template-columns:155px minmax(0,1fr);align-items:center;
 gap:20px;padding:24px 0;border-bottom:1px solid #ebe6dc;min-width:0;
}
.sss-tech-stack__row:first-child {padding-top:10px;}
.sss-tech-stack__row:last-child {border-bottom:0;padding-bottom:10px;}
.sss-tech-stack__row:nth-child(2) {--tech-accent:#897344;}
.sss-tech-stack__row:nth-child(3) {--tech-accent:#a4833d;}
.sss-tech-stack__row:nth-child(4) {--tech-accent:#8e753d;}
.sss-tech-stack__row:nth-child(5) {--tech-accent:#93773b;}
.sss-tech-stack__row:nth-child(6) {--tech-accent:#a88843;}
.sss-tech-stack__category {display:flex;align-items:center;gap:14px;}
.sss-site .sss-tech-stack__category h3 {font-size:.92rem;line-height:1.25;font-weight:650;color:#292315;letter-spacing:-.02em;margin:0;}
.sss-tech-stack__icon {display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;color:var(--tech-accent);background:color-mix(in srgb,var(--tech-accent) 9%,white);border:1px solid color-mix(in srgb,var(--tech-accent) 14%,white);transition:transform .25s ease;}
.sss-tech-stack__icon .sss-icon {width:21px;height:21px;}
.sss-tech-stack__tags {display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;min-width:0;}
.sss-tech-stack__tags li {font-size:.72rem;line-height:1.4;color:#706753;background:#f9f7f2;border:1px solid #f0ede5;border-radius:7px;padding:6px 10px;overflow-wrap:anywhere;transition:background .25s ease,border-color .25s ease;}
.sss-tech-stack__row:hover .sss-tech-stack__icon {transform:translateY(-3px);}
.sss-tech-stack__row:hover .sss-tech-stack__tags li {background:color-mix(in srgb,var(--tech-accent) 5%,white);border-color:color-mix(in srgb,var(--tech-accent) 20%,white);}
@media(max-width:1100px) {
 .sss-tech-stack {grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:28px;}
 .sss-tech-stack__row {grid-template-columns:1fr;gap:12px;padding:18px 0;}
}
@media(max-width:760px) {
 .sss-tech-stack {grid-template-columns:1fr;gap:24px;}
 .sss-tech-stack__visual {display:grid;grid-template-columns:1fr 1fr;padding:26px;column-gap:16px;}
 .sss-tech-stack__eyebrow {grid-column:1/-1;}
 .sss-tech-stack__art {grid-column:2;grid-row:2/4;min-height:220px;margin:0;}
 .sss-tech-stack__caption {grid-column:1;grid-row:2;align-self:end;}
 .sss-tech-stack__principles {grid-column:1/-1;grid-row:4;margin-top:8px;}
 .sss-tech-stack__row {grid-template-columns:155px minmax(0,1fr);padding:20px 0;}
}
@media(max-width:480px) {
 .sss-tech-stack__visual {display:flex;padding:24px;}
 .sss-tech-stack__art {min-height:220px;flex:none;}
 .sss-tech-stack__caption h3 br {display:none;}
 .sss-tech-stack__principles {margin-top:20px;}
 .sss-tech-stack__row {grid-template-columns:1fr;gap:12px;}
}
@media(prefers-reduced-motion:reduce) {
 .sss-tech-stack__icon,.sss-tech-stack__tags li {transition:none;}
}

/* Modal polish */
.sss-project-modal {
	border-radius: 24px;
}

.sss-project-modal__header {
	min-height: 72px;
}

.sss-project-modal__body {
	padding: clamp(28px, 4.5vw, 60px);
}

.sss-project-modal__outcome {
	border-radius: 18px;
	background: linear-gradient(135deg, #231c0e, #433821);
}

/* Tablet */
@media (max-width: 1100px) {
	:root {
		--section-space: clamp(4.25rem, 8vw, 6rem);
		--sss-title: clamp(2.8rem, 6.5vw, 4.8rem);
		--sss-heading: clamp(2rem, 4.5vw, 3.35rem);
	}

	.sss-nav ul {
		gap: 16px;
	}

	.sss-nav {
		gap: 18px;
	}

	.sss-launch-hero__grid {
		grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr);
		gap: 40px;
	}

	.sss-site .sss-launch-hero h1 {
		font-size: clamp(2.55rem, 5.7vw, 4.25rem);
	}
}

/* Mobile navigation and stacked content */
@media (max-width: 900px) {
	:root {
		--header-h: 72px;
		--section-space: clamp(4rem, 10vw, 5.5rem);
		--sss-inner-title: clamp(2.35rem, 8vw, 3.8rem);
	}

	.sss-container {
		width: min(calc(100% - 40px), var(--container));
	}

	.sss-header {
		background: rgba(254, 252, 248, .9);
	}

	.sss-menu-toggle {
		border: 1px solid var(--border);
		border-radius: 12px;
		background: #fff;
	}

	.sss-nav {
		padding: 105px 28px 42px;
		background:
			radial-gradient(circle at 85% 15%, rgba(119, 92, 34, .13), transparent 22%),
			var(--bg-main);
	}

	.sss-nav ul a {
		min-height: 58px;
		font-size: clamp(1.65rem, 6vw, 2.75rem);
	}

	.sss-launch-hero {
		min-height: 0;
	}

	.sss-launch-hero__grid {
		grid-template-columns: 1fr;
		gap: 54px;
	}

	.sss-launch-hero__copy {
		max-width: 760px;
	}

	.sss-launch-art {
		width: min(100%, 620px);
	}

	.sss-intro__grid,
	.sss-detail-intro__grid,
	.sss-faq__grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.sss-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sss-service-card {
		min-height: 290px;
	}

	.sss-page-hero > .sss-container {
		grid-template-columns: 1fr;
		grid-template-areas: "eyebrow" "title" "copy";
		gap: 16px;
	}

	.sss-page-hero__copy {
		max-width: 680px;
		margin-top: 18px;
	}

	.sss-detail-columns > .sss-container {
		grid-template-columns: 1fr;
	}

	.sss-contact__grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.sss-contact aside {
		position: static;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0 26px;
	}

	.sss-contact aside > .sss-section-label,
	.sss-contact__note {
		grid-column: 1 / -1;
	}

	.sss-result-band > .sss-container {
		grid-template-columns: 1fr 2fr;
	}

	.sss-result-band > .sss-container > div {
		grid-column: 2;
	}

	.sss-footer__top {
		grid-template-columns: 1.35fr 1fr;
	}
}

/* Phones */
@media (max-width: 640px) {
	:root {
		--section-space: 3.75rem;
		--sss-title: clamp(2.45rem, 12vw, 3.55rem);
		--sss-inner-title: clamp(2.2rem, 10.5vw, 3.15rem);
		--sss-heading: clamp(1.85rem, 8vw, 2.65rem);
		--sss-copy: 1rem;
	}

	.sss-container {
		width: min(calc(100% - 32px), var(--container));
	}

	.sss-heading-row {
		align-items: flex-start;
		flex-direction: column;
		gap: 20px;
	}

	.sss-heading-row > p {
		padding: 0;
		border: 0;
	}

	.sss-btn {
		width: 100%;
	}

	.sss-text-link {
		width: fit-content;
	}

	.sss-actions {
		align-items: stretch;
		flex-direction: column;
		gap: 10px;
	}

	.sss-launch-hero {
		padding-top: calc(var(--header-h) + 44px);
		padding-bottom: 56px;
	}

	.sss-site .sss-launch-hero h1 {
		font-size: clamp(2.35rem, 10.5vw, 3.25rem);
	}

	.sss-launch-hero__foot {
		margin-top: 34px;
	}

	.sss-launch-hero__foot p {
		display: flex;
		flex-wrap: wrap;
		gap: 4px 8px;
	}

	.sss-launch-hero__foot i {
		margin: 0 2px;
	}

	.sss-launch-art {
		aspect-ratio: .98;
	}

	.sss-launch-art__window {
		inset: 10% 1% 14% 3%;
	}

	.sss-service-grid,
	.sss-work-grid {
		grid-template-columns: 1fr;
	}

	.sss-service-card {
		min-height: 260px;
		padding: 26px;
	}

	.sss-service-showcase {
		grid-auto-rows: auto;
	}

	.sss-service-card h3 {
		padding-top: 30px;
	}

	.sss-capability-card {
		min-height: 0;
		padding: 30px 24px;
	}

	.sss-stats {
		grid-template-columns: 1fr 1fr;
	}

	.sss-stats > div,
	.sss-stats > div:first-child,
	.sss-stats > div:nth-child(4) {
		padding: 22px 18px;
		border: 1px solid rgba(255, 255, 255, .11);
	}

	.sss-about-band__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.sss-client-reviews .sss-quote {
		min-height: 370px;
		padding: 26px 22px;
	}

	.sss-accordion__item {
		padding: 0 17px;
	}

	.sss-page-hero,
	.sss-legal-hero {
		padding-top: calc(var(--header-h) + 42px);
		padding-bottom: 52px;
	}

	.sss-breadcrumb + .sss-page-hero {
		padding-top: 30px;
	}

	.sss-page-hero__copy {
		padding: 22px;
	}

	.sss-service-panel {
		min-height: 0;
		padding: 25px 20px;
		border-radius: 20px;
	}

	.sss-project-card__body {
		padding: 22px;
	}

	.sss-project-card__body > div {
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
	}

	.sss-case-hero__visual {
		min-height: 290px;
		height: auto;
		aspect-ratio: 1 / 1;
		border-radius: 20px 20px 0 0;
	}

	.sss-case-content article {
		display: block;
		padding: 40px 0;
	}

	.sss-case-content article h2 {
		margin-top: 20px;
	}

	.sss-result-band > .sss-container {
		display: block;
	}

	.sss-result-band blockquote {
		margin: 28px 0 46px;
	}

	.sss-contact aside,
	.sss-form-wrap {
		padding: 24px 20px;
		border-radius: 18px;
	}

	.sss-contact aside {
		display: block;
	}

	.sss-form-row {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.sss-form-submit {
		align-items: stretch;
		flex-direction: column;
	}

	.sss-legal > .sss-container {
		grid-template-columns: 1fr;
	}

	.sss-legal aside {
		display: none;
	}

	.sss-cta__inner {
		padding: 34px 22px;
		border-radius: 22px;
	}

	.sss-footer {
		padding-top: 64px;
	}

	.sss-footer__top {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.sss-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}

	.sss-project-modal {
		border-radius: 16px;
	}
}

/* Keep the complete hero message visible on shorter laptop displays. */
@media (min-width: 901px) and (max-height: 850px) {
	.sss-launch-hero {
		min-height: 100svh;
		padding-top: calc(var(--header-h) + 30px);
		padding-bottom: 34px;
	}

	.sss-launch-hero__grid {
		gap: clamp(36px, 5vw, 72px);
	}

	.sss-site .sss-launch-hero h1 {
		margin-bottom: 20px;
		font-size: clamp(2.5rem, 4vw, 4rem);
		line-height: 1.02;
	}

	.sss-launch-hero__eyebrow {
		margin-bottom: 18px;
	}

	.sss-launch-hero__lead {
		margin-bottom: 22px;
		line-height: 1.65;
	}

	.sss-launch-hero__foot {
		margin-top: 24px;
		padding-top: 16px;
	}

	.sss-launch-art {
		width: min(100%, calc((100svh - var(--header-h) - 54px) * 1.05));
		max-height: none;
		justify-self: center;
	}
}

@media (min-width: 901px) and (max-height: 700px) {
	.sss-site .sss-launch-hero h1 {
		font-size: clamp(2.35rem, 3.55vw, 3.5rem);
	}

	.sss-launch-hero__lead {
		font-size: .96rem;
	}

	.sss-launch-hero__foot {
		margin-top: 18px;
	}
}

@media (max-width: 380px) {
	:root {
		--sss-title: 2.35rem;
		--sss-inner-title: 2.15rem;
		--sss-heading: 1.78rem;
	}

	.sss-container {
		width: min(calc(100% - 26px), var(--container));
	}

	.sss-logo small {
		font-size: .5rem;
	}

	.sss-launch-art__badge {
		display: none;
	}

	.sss-stats {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sss-site *,
	.sss-site *::before,
	.sss-site *::after {
		scroll-behavior: auto !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}

/* --------------------------------------------------------------------------
 * Premium editorial heading system
 * ----------------------------------------------------------------------- */
:root {
	--heading-ink: #1c180e;
	--heading-muted: #796f59;
	--heading-rule: #d9d4cb;
	--heading-soft: #f7f6f4;
}

/* A calmer overline replaces the former bright badge treatment. */
.sss-section-label,
.sss-page-hero .sss-eyebrow,
.sss-case-hero .sss-eyebrow,
.sss-legal-hero .sss-eyebrow {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 11px;
	width: fit-content;
	margin: 0 0 22px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: #6c6350;
	font-size: .68rem;
	font-weight: 780;
	line-height: 1.35;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.sss-section-label::before {
	content: "";
	width: 34px;
	height: 1px;
	flex: 0 0 34px;
	background: #aea692;
}

.sss-section-label .sss-icon {
	width: 17px;
	height: 17px;
	color: #453f31;
	stroke-width: 1.35;
}

.sss-page-hero .sss-eyebrow span,
.sss-case-hero .sss-eyebrow span,
.sss-legal-hero .sss-eyebrow span,
.sss-launch-hero__eyebrow > span {
	width: 34px;
	height: 1px;
	border-radius: 0;
	background: #aea692;
	box-shadow: none;
}

.sss-launch-hero__eyebrow {
	gap: 11px;
	color: #6c6350;
	font-size: .68rem;
	font-weight: 780;
	letter-spacing: .16em;
}

.sss-mini-label {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 15px;
	color: #796f59;
	font-size: .66rem;
	font-weight: 780;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.sss-mini-label::before {
	width: 18px;
	height: 1px;
	margin: 0;
	border-radius: 0;
	background: #b9b1a0;
}

/* Primary headings share the same restrained weight, measure and rhythm. */
.sss-site section h1,
.sss-site h1 {
	color: var(--heading-ink);
	font-weight: 690;
	letter-spacing: -.052em;
}

.sss-site section h2,
.sss-site .sss-heading-row h2,
.sss-site .sss-capabilities__heading h2,
.sss-site .sss-work-stack__heading h2,
.sss-site .sss-faq h2 {
	color: var(--heading-ink);
	font-weight: 650;
	line-height: 1.12;
	letter-spacing: -.04em;
}

.sss-site section h3 {
	color: var(--heading-ink);
	font-weight: 650;
	letter-spacing: -.025em;
}

.sss-site :is(
	.sss-heading-row,
	.sss-capabilities__heading,
	.sss-client-reviews__heading
) h2,
.sss-site .sss-faq__grid > div > h2,
.sss-site .sss-intro__grid > div > h2,
.sss-site .sss-editorial__grid > div > h2,
.sss-site .sss-detail-intro__grid > div > h2 {
	max-width: 820px;
}

.sss-site :is(
	.sss-heading-row,
	.sss-capabilities__heading,
	.sss-client-reviews__heading
) h2::after,
.sss-site .sss-faq__grid > div > h2::after,
.sss-site .sss-intro__grid > div > h2::after,
.sss-site .sss-editorial__grid > div > h2::after,
.sss-site .sss-detail-intro__grid > div > h2::after {
	content: "";
	display: block;
	width: 58px;
	height: 2px;
	margin-top: 25px;
	background: linear-gradient(90deg, #2d281d 0 72%, #c4bdaf 72%);
}

/* Supporting descriptions use editorial rules instead of colored borders. */
.sss-heading-row > p,
.sss-capabilities__heading > div:last-child > p,
.sss-work-stack__heading > p,
.sss-client-reviews__heading > p:not(.sss-section-label) {
	max-width: 430px;
	margin-bottom: 0;
	padding: 17px 0 0;
	border: 0;
	border-top: 1px solid var(--heading-rule);
	color: var(--heading-muted);
	font-size: 1rem;
	line-height: 1.8;
}

.sss-capabilities__heading > div:last-child,
.sss-client-reviews__heading > p:not(.sss-section-label) {
	margin-top: 22px;
}

.sss-large-copy,
.sss-intro__grid > div > p,
.sss-editorial__grid p,
.sss-detail-intro__grid .sss-prose,
.sss-page-hero__copy,
.sss-work-panel__description {
	color: var(--heading-muted);
	font-weight: 400;
	line-height: 1.82;
}

/* Internal heroes now read like refined editorial mastheads. */
.sss-page-hero,
.sss-legal-hero {
	background:
		linear-gradient(90deg, rgba(28, 24, 14, .035) 1px, transparent 1px),
		linear-gradient(180deg, #fff 0%, #f8f7f4 100%);
	background-size: min(8vw, 110px) 100%, auto;
}

.sss-page-hero::before,
.sss-page-hero::after,
.sss-legal-hero::before,
.sss-legal-hero::after {
	display: none;
}

.sss-page-hero > .sss-container {
	align-items: end;
}

.sss-site .sss-page-hero h1,
.sss-site .sss-case-hero h1,
.sss-site .sss-legal-hero h1,
.sss-site .sss-not-found h1 {
	max-width: 880px;
	font-weight: 670;
	line-height: 1.055;
	letter-spacing: -.05em;
}

.sss-page-hero__copy {
	position: relative;
	max-width: 500px;
	padding: 24px 0 3px 30px;
	border: 0;
	border-left: 1px solid #c5bfb1;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
	font-size: 1.02rem;
}

.sss-page-hero__copy::before {
	position: absolute;
	left: -2px;
	top: 0;
	width: 3px;
	height: 42px;
	margin: 0;
	border-radius: 0;
	background: #3c372c;
}

.sss-case-hero {
	background: linear-gradient(180deg, #f7f6f4, #fefcf8 76%);
}

.sss-case-hero::before {
	display: none;
}

.sss-case-hero > .sss-container > p:not(.sss-eyebrow) {
	max-width: 700px;
	color: var(--heading-muted);
	font-size: 1.05rem;
	line-height: 1.8;
}

.sss-legal-hero > .sss-container > p {
	color: var(--heading-muted);
}

/* The homepage keeps its visual energy while using a more composed title. */
.sss-site .sss-launch-hero h1 {
	max-width: 720px;
	color: var(--heading-ink);
	font-weight: 680;
	letter-spacing: -.052em;
}

.sss-launch-hero__lead {
	max-width: 610px;
	color: var(--heading-muted);
	font-size: 1.02rem;
	line-height: 1.8;
}

.sss-launch-hero__foot > span {
	color: #8e8269;
	letter-spacing: .04em;
}

.sss-launch-hero__foot p {
	color: #453f31;
	font-weight: 620;
}

/* Section-specific title refinement. */
.sss-service-card h3,
.sss-capability-card h3,
.sss-project-card__body h2 {
	color: #252015;
}

.sss-service-card p,
.sss-capability-card > p,
.sss-project-card__body > div {
	color: #7d735d;
}

.sss-service-panel__header p {
	color: #857a62;
	font-size: .64rem;
	letter-spacing: .14em;
}

.sss-site .sss-service-panel h2 {
	color: #252015;
	font-weight: 650;
	letter-spacing: -.035em;
}

.sss-service-panel__summary {
	color: #7d735d;
}

.sss-project-card__body > p,
.sss-case-content article > span,
.sss-contact aside div > span {
	color: #8e8269;
	font-weight: 750;
	letter-spacing: .14em;
}

.sss-case-content article h2 {
	color: #252015;
	font-weight: 620;
	line-height: 1.18;
}

.sss-case-content article p,
.sss-legal article p {
	color: #7d735d;
}

.sss-legal article h2 {
	position: relative;
	padding-left: 23px;
	color: #252015;
	font-weight: 650;
}

.sss-legal article h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: .25em;
	bottom: .2em;
	width: 2px;
	background: #aea692;
}

.sss-contact aside > .sss-section-label,
.sss-form-wrap > .sss-section-label {
	margin-bottom: 26px;
}

.sss-contact__note {
	padding-top: 18px;
	border-top: 1px solid var(--heading-rule);
	color: #8e8269;
}

/* Dark surfaces use ivory text and cool-grey rules, without bright title color. */
.sss-about-band .sss-section-label,
.sss-cta .sss-section-label,
.sss-result-band .sss-section-label {
	border: 0;
	background: transparent;
	box-shadow: none;
	color: #d4cec1;
}

.sss-about-band .sss-section-label::before,
.sss-cta .sss-section-label::before,
.sss-result-band .sss-section-label::before {
	background: rgba(255, 255, 255, .42);
}

.sss-about-band .sss-section-label .sss-icon,
.sss-cta .sss-section-label .sss-icon,
.sss-result-band .sss-section-label .sss-icon {
	color: #e0dbd3;
}

.sss-about-band h2,
.sss-cta h2,
.sss-result-band blockquote {
	color: #fbfaf7;
	font-weight: 600;
}

.sss-about-band .sss-large-copy,
.sss-cta p {
	color: #c8c1b2;
}

.sss-footer__label {
	color: #bab2a0;
	font-size: .65rem;
	letter-spacing: .16em;
}

/* Responsive title alignment and readable measures. */
@media (max-width: 900px) {
	.sss-page-hero > .sss-container {
		align-items: start;
	}

	.sss-page-hero__copy {
		max-width: 650px;
		margin-top: 20px;
	}

	.sss-heading-row > p,
	.sss-capabilities__heading > div:last-child > p,
	.sss-work-stack__heading > p {
		max-width: 620px;
	}
}

@media (max-width: 640px) {
	.sss-section-label,
	.sss-page-hero .sss-eyebrow,
	.sss-case-hero .sss-eyebrow,
	.sss-legal-hero .sss-eyebrow,
	.sss-launch-hero__eyebrow {
		font-size: .63rem;
		letter-spacing: .13em;
	}

	.sss-section-label::before,
	.sss-page-hero .sss-eyebrow span,
	.sss-case-hero .sss-eyebrow span,
	.sss-legal-hero .sss-eyebrow span,
	.sss-launch-hero__eyebrow > span {
		width: 24px;
		flex-basis: 24px;
	}

	.sss-site :is(
		.sss-heading-row,
		.sss-capabilities__heading,
		.sss-client-reviews__heading
	) h2::after,
	.sss-site .sss-faq__grid > div > h2::after,
	.sss-site .sss-intro__grid > div > h2::after,
	.sss-site .sss-editorial__grid > div > h2::after,
	.sss-site .sss-detail-intro__grid > div > h2::after {
		margin-top: 19px;
	}

	.sss-heading-row > p {
		padding-top: 15px;
		border-top: 1px solid var(--heading-rule);
	}

	.sss-page-hero__copy {
		padding: 20px 0 0 20px;
	}

	.sss-page-hero__copy::before {
		height: 34px;
	}

	.sss-legal article h2 {
		padding-left: 17px;
	}
}

/* Home expertise: use the full content width and keep every element aligned. */
.sss-capabilities__heading {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, .65fr);
	gap: clamp(48px, 9vw, 140px);
	align-items: end;
	max-width: none;
	margin: 0 0 clamp(3rem, 5vw, 4.5rem);
	text-align: left;
}

.sss-capabilities__heading > div:first-child {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
}

.sss-capabilities__heading .sss-section-label {
	margin-inline: 0;
}

.sss-site .sss-capabilities__heading h2 {
	max-width: 680px;
	margin: 0;
	font-size: clamp(2.35rem, 4.1vw, 4.4rem);
	line-height: 1.06;
}

.sss-capabilities__heading h2 br {
	display: block;
}

.sss-site .sss-capabilities__heading h2::after {
	margin: 24px 0 0;
}

.sss-capabilities__heading > div:last-child {
	max-width: 430px;
	margin: 0;
	padding-bottom: 4px;
}

.sss-capabilities__heading > div:last-child > p {
	max-width: none;
	margin: 0;
	padding-top: 18px;
	text-align: left;
}

.sss-capabilities__heading .sss-text-link {
	margin-top: 20px;
}

@media (max-width: 900px) {
	.sss-capabilities__heading {
		grid-template-columns: 1fr;
		gap: 30px;
		margin-bottom: 44px;
	}

	.sss-capabilities__heading > div:last-child {
		max-width: 620px;
	}
}

@media (max-width: 640px) {
	.sss-site .sss-capabilities__heading h2 {
		font-size: clamp(2rem, 9vw, 2.75rem);
	}

	.sss-capabilities__heading h2 br {
		display: none;
	}

	.sss-capabilities__heading > div:last-child > p {
		padding-top: 15px;
	}
}


/* About content headings stay consistent with the site's editorial sections. */
.sss-about-refresh section:not(.sss-about-hero) :is(h2, h2 em, h3) {
	color: #252015;
}


/* About page — editorial company profile */
.sss-about-refresh {
	--about-ink: #1e180c;
	--about-muted: #7c725c;
	--about-blue: #836422;
	--about-violet: #8d6a1e;
	--about-line: #eae3d4;
	color: var(--about-ink);
	background: #fdfbf5;
	overflow: hidden;
}

.sss-about-refresh .sss-section {
	padding-block: clamp(62px, 6.5vw, 104px);
}

.sss-about-refresh h1,
.sss-about-refresh h2,
.sss-about-refresh h3,
.sss-about-refresh p {
	margin-top: 0;
}

.sss-about-refresh h1,
.sss-about-refresh h2 {
	letter-spacing: -.055em;
	line-height: .98;
}

.sss-about-refresh h2 {
	font-size: clamp(2.35rem, 4.2vw, 4.6rem);
}

.sss-about-refresh h1 em,
.sss-about-refresh h2 em {
	color: var(--about-blue);
	font-style: normal;
}

.sss-about-kicker {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 19px;
	color: #61512c;
	font-size: .71rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.sss-about-kicker > span {
	display: block;
	width: 28px;
	height: 1px;
	background: #a69369;
}

.sss-about-hero {
	position: relative;
	padding: calc(var(--header-h, 78px) + 36px) 0 0;
	background:
		radial-gradient(circle at 8% 18%, rgba(219, 178, 88, .16), transparent 25%),
		radial-gradient(circle at 94% 10%, rgba(142, 107, 30, .17), transparent 29%),
		linear-gradient(180deg, #fdfbf5 0%, #fbf5ea 100%);
}

.sss-about-hero::before,
.sss-about-hero::after {
	position: absolute;
	content: "";
	border: 28px solid rgba(255, 255, 255, .55);
	border-radius: 50%;
	pointer-events: none;
}

.sss-about-hero::before {
	top: 130px;
	left: -82px;
	width: 190px;
	height: 190px;
}

.sss-about-hero::after {
	top: 96px;
	right: -110px;
	width: 250px;
	height: 250px;
}

.sss-about-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, .88fr) minmax(520px, 1.12fr);
	align-items: center;
	gap: clamp(36px, 5vw, 82px);
	min-height: 530px;
}

.sss-about-hero__copy {
	padding: 28px 0 58px;
}

.sss-about-hero h1 {
	max-width: 720px;
	margin-bottom: 26px;
	font-size: clamp(3rem, 5.2vw, 5.55rem);
}

.sss-about-hero__lead {
	max-width: 610px;
	margin-bottom: 30px;
	color: #69614e;
	font-size: clamp(1rem, 1.35vw, 1.22rem);
	line-height: 1.67;
}

.sss-about-hero__actions {
	display: flex;
	align-items: center;
	gap: 27px;
}

.sss-about-trust {
	display: grid;
	gap: 3px;
	padding-left: 18px;
	border-left: 1px solid #e0d7c3;
}

.sss-about-trust b {
	font-size: .86rem;
}

.sss-about-trust small {
	color: #8f836a;
	font-size: .72rem;
}

.sss-about-hero__visual {
	position: relative;
	height: 480px;
	border: 9px solid rgba(255, 255, 255, .82);
	border-radius: 34px 34px 14px 70px;
	box-shadow: 0 28px 70px rgba(87, 72, 40, .18);
	isolation: isolate;
}

.sss-about-hero__visual::after {
	position: absolute;
	inset: 0;
	content: "";
	border-radius: inherit;
	background: linear-gradient(90deg, rgba(46, 38, 19, .14), transparent 42%, rgba(131, 100, 34, .05));
	pointer-events: none;
}

.sss-about-hero__visual > img,
.sss-about-story__visual > img,
.sss-about-culture__image > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sss-about-hero__visual > img {
	border-radius: 25px 25px 7px 61px;
}

.sss-about-float {
	position: absolute;
	z-index: 2;
	display: grid;
	gap: 8px;
	min-width: 156px;
	padding: 18px 20px;
	border: 1px solid rgba(255, 255, 255, .72);
	border-radius: 18px;
	background: rgba(255, 255, 255, .87);
	box-shadow: 0 17px 36px rgba(62, 52, 31, .15);
	backdrop-filter: blur(14px);
}

.sss-about-float span {
	color: #7a6e54;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.sss-about-float b {
	font-size: .87rem;
	line-height: 1.42;
}

.sss-about-float--left {
	left: -34px;
	bottom: 45px;
}

.sss-about-float--right {
	top: 34px;
	right: -24px;
}

.sss-about-visual-pill {
	position: absolute;
	z-index: 3;
	right: 26px;
	bottom: 22px;
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 10px 14px;
	border-radius: 999px;
	background: rgba(30, 24, 11, .82);
	color: #fff;
	font-size: .72rem;
	font-weight: 700;
	backdrop-filter: blur(10px);
}

.sss-about-visual-pill i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #77e4b2;
	box-shadow: 0 0 0 4px rgba(119, 228, 178, .17);
}

.sss-about-stats {
	position: relative;
	z-index: 3;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-bottom: -47px;
	padding: 20px 24px;
	border: 1px solid rgba(225, 214, 190, .92);
	border-radius: 24px;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 20px 55px rgba(74, 61, 32, .12);
	backdrop-filter: blur(14px);
}

.sss-about-stat {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	min-width: 0;
	padding: 4px 24px;
	border-right: 1px solid #ebe5d9;
}

.sss-about-stat:last-child {
	border-right: 0;
}

.sss-about-stat__icon,
.sss-about-card-icon {
	display: grid;
	place-items: center;
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	border-radius: 15px;
	background: #f8efdd;
	color: var(--about-blue);
}

.sss-about-stat:nth-child(2) .sss-about-stat__icon { background: #f6ecd5; color: #896925; }
.sss-about-stat:nth-child(3) .sss-about-stat__icon { background: #f9f4ea; color: #a87e24; }
.sss-about-stat:nth-child(4) .sss-about-stat__icon { background: #e8f8f0; color: #079566; }

.sss-about-stat__icon .sss-icon,
.sss-about-card-icon .sss-icon {
	width: 22px;
	height: 22px;
}

.sss-about-stat p {
	display: grid;
	gap: 1px;
	margin-bottom: 0;
}

.sss-about-stat strong {
	color: #68501c;
	font-size: clamp(1.45rem, 2.1vw, 2.05rem);
	line-height: 1;
}

.sss-about-stat small {
	color: #817760;
	font-size: .72rem;
}

.sss-about-story {
	padding-top: clamp(105px, 10vw, 150px) !important;
	background: #fff;
}

.sss-about-story__grid {
	display: grid;
	grid-template-columns: minmax(270px, .75fr) minmax(410px, 1.1fr) minmax(245px, .62fr);
	align-items: center;
	gap: clamp(30px, 4vw, 62px);
}

.sss-about-story__copy h2,
.sss-about-partner__intro h2,
.sss-about-culture__copy h2 {
	margin-bottom: 25px;
	font-size: clamp(2.35rem, 3.65vw, 4.05rem);
}

.sss-about-story__copy > p:not(.sss-about-kicker),
.sss-about-partner__intro > p:not(.sss-about-kicker),
.sss-about-culture__copy > p:not(.sss-about-kicker) {
	margin-bottom: 15px;
	color: var(--about-muted);
	font-size: .98rem;
	line-height: 1.72;
}

.sss-about-text-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-top: 10px;
	color: var(--about-blue);
	font-size: .88rem;
	font-weight: 800;
	text-decoration: none;
}

.sss-about-story__visual {
	position: relative;
	height: 430px;
	overflow: hidden;
	border-radius: 26px;
	box-shadow: 0 24px 58px rgba(65, 53, 28, .15);
}

.sss-about-story__visual > img {
	object-position: 22% center;
}

.sss-about-story__badge {
	position: absolute;
	right: 18px;
	bottom: 18px;
	display: grid;
	gap: 2px;
	padding: 14px 17px;
	border-radius: 14px;
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 12px 30px rgba(46, 38, 20, .14);
	backdrop-filter: blur(10px);
}

.sss-about-story__badge b { font-size: .84rem; }
.sss-about-story__badge span { color: #897e66; font-size: .69rem; }

.sss-about-milestones {
	position: relative;
	display: grid;
	gap: 27px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sss-about-milestones::before {
	position: absolute;
	top: 9px;
	bottom: 21px;
	left: 5px;
	width: 1px;
	content: "";
	background: #e0d5be;
}

.sss-about-milestones li {
	position: relative;
	display: grid;
	grid-template-columns: 12px 1fr;
	gap: 16px;
}

.sss-about-milestones li > span {
	z-index: 1;
	width: 11px;
	height: 11px;
	margin-top: 5px;
	border: 3px solid #f3e5c6;
	border-radius: 50%;
	background: var(--about-blue);
	box-shadow: 0 0 0 4px #fff;
}

.sss-about-milestones b { font-size: .87rem; }
.sss-about-milestones p { margin: 3px 0 0; color: #91856b; font-size: .76rem; line-height: 1.5; }

.sss-about-foundation {
	background:
		radial-gradient(circle at 92% 0%, rgba(142, 107, 31, .09), transparent 25%),
		#fbf6ec;
}

.sss-about-section-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, .52fr);
	align-items: end;
	gap: 45px;
	margin-bottom: 37px;
}

.sss-about-section-intro h2 { margin-bottom: 0; }
.sss-about-section-intro > p { max-width: 470px; margin: 0 0 4px auto; color: var(--about-muted); line-height: 1.66; }

.sss-about-foundation__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.sss-about-foundation__grid article {
	position: relative;
	display: grid;
	grid-template-columns: 52px 1fr;
	gap: 18px;
	min-height: 215px;
	padding: 29px;
	border: 1px solid #eae3d4;
	border-radius: 22px;
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 14px 35px rgba(67, 54, 28, .06);
}

.sss-about-foundation__grid article::after {
	position: absolute;
	right: 22px;
	bottom: 20px;
	content: "0" counter(about-foundation);
	color: #f0eade;
	font-size: 2.8rem;
	font-weight: 800;
	line-height: 1;
}

.sss-about-foundation__grid { counter-reset: about-foundation; }
.sss-about-foundation__grid article { counter-increment: about-foundation; }
.sss-about-foundation__grid article:nth-child(2) .sss-about-card-icon { background: #f6ecd5; color: #876926; }
.sss-about-foundation__grid article:nth-child(3) .sss-about-card-icon { background: #f7f4ec; color: #af8426; }
.sss-about-foundation__grid h3 { margin: 5px 0 10px; font-size: 1.12rem; }
.sss-about-foundation__grid p { position: relative; z-index: 1; margin: 0; color: var(--about-muted); font-size: .87rem; line-height: 1.64; }

.sss-about-people { background: #fff; }
.sss-about-section-intro--wide { grid-template-columns: minmax(0, .92fr) minmax(300px, .58fr); }

.sss-about-disciplines {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.sss-about-disciplines article {
	position: relative;
	min-height: 285px;
	padding: 25px;
	overflow: hidden;
	border: 1px solid #e9e3d6;
	border-radius: 22px;
	background: #fefdfa;
	transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.sss-about-disciplines article::after {
	position: absolute;
	right: -54px;
	bottom: -54px;
	width: 145px;
	height: 145px;
	content: "";
	border: 24px solid #f9f1e0;
	border-radius: 50%;
}

.sss-about-disciplines article:hover {
	transform: translateY(-6px);
	border-color: #d3b77a;
	box-shadow: 0 22px 42px rgba(74, 61, 35, .11);
}

.sss-about-discipline__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 64px;
}

.sss-about-discipline__top > span {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background: #f6ebd5;
	color: #85641c;
}

.sss-about-discipline__top .sss-icon { width: 21px; height: 21px; }
.sss-about-discipline__top small { color: #b4ac99; font-size: .68rem; font-weight: 800; letter-spacing: .12em; }
.sss-about-disciplines h3 { margin-bottom: 10px; font-size: 1.25rem; }
.sss-about-disciplines p { position: relative; z-index: 1; margin: 0; color: var(--about-muted); font-size: .86rem; line-height: 1.62; }

.sss-about-partner {
	background: linear-gradient(180deg, #faf5ed, #fdfbf5);
}

.sss-about-partner__layout {
	display: grid;
	grid-template-columns: minmax(260px, .73fr) minmax(620px, 1.27fr);
	align-items: center;
	gap: clamp(45px, 6vw, 92px);
}

.sss-about-partner__cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}

.sss-about-partner__cards article {
	min-height: 192px;
	padding: 24px;
	border: 1px solid #eae3d3;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 13px 30px rgba(67, 54, 28, .055);
}

.sss-about-partner__cards article > span {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	margin-bottom: 24px;
	border-radius: 12px;
	background: #f8f0df;
	color: #85641c;
}

.sss-about-partner__cards article:nth-child(2) > span { background: #f9f1e1; color: #8d6c24; }
.sss-about-partner__cards article:nth-child(3) > span { background: #f9f5ed; color: #ac8124; }
.sss-about-partner__cards article:nth-child(4) > span { background: #fff0e7; color: #d66a2a; }
.sss-about-partner__cards .sss-icon { width: 19px; height: 19px; }
.sss-about-partner__cards h3 { margin-bottom: 8px; font-size: 1rem; }
.sss-about-partner__cards p { margin: 0; color: var(--about-muted); font-size: .8rem; line-height: 1.55; }

.sss-about-culture { background: #fff; }

.sss-about-culture__card {
	display: grid;
	grid-template-columns: 1.12fr .88fr;
	min-height: 490px;
	overflow: hidden;
	border: 1px solid #e8e1d2;
	border-radius: 28px;
	background: #fcf8ef;
	box-shadow: 0 25px 60px rgba(72, 59, 32, .11);
}

.sss-about-culture__image {
	position: relative;
	min-height: 490px;
}

.sss-about-culture__facts {
	position: absolute;
	left: 22px;
	bottom: 22px;
	display: flex;
	gap: 8px;
	padding: 9px;
	border: 1px solid rgba(255, 255, 255, .65);
	border-radius: 15px;
	background: rgba(255, 255, 255, .88);
	box-shadow: 0 14px 32px rgba(47, 39, 19, .14);
	backdrop-filter: blur(12px);
}

.sss-about-culture__facts span {
	display: grid;
	gap: 2px;
	min-width: 96px;
	padding: 7px 11px;
	border-right: 1px solid #eae5da;
	color: #847962;
	font-size: .65rem;
}

.sss-about-culture__facts span:last-child { border-right: 0; }
.sss-about-culture__facts b { color: var(--about-ink); font-size: .89rem; }

.sss-about-culture__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(38px, 5vw, 76px);
}

.sss-about-quote {
	display: grid;
	grid-template-columns: 30px 1fr;
	gap: 10px;
	margin-top: 20px;
	padding: 18px;
	border: 1px solid #e9e3d5;
	border-radius: 16px;
	background: rgba(255, 255, 255, .85);
}

.sss-about-quote > span { color: #9b7728; font-size: 2.1rem; font-weight: 800; line-height: .8; }
.sss-about-quote p { margin: 0; color: #68604d; font-size: .82rem; line-height: 1.58; }

@media (max-width: 1180px) {
	.sss-about-hero__grid { grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr); gap: 38px; }
	.sss-about-hero h1 { font-size: clamp(3rem, 5vw, 4.55rem); }
	.sss-about-story__grid { grid-template-columns: .85fr 1.15fr; }
	.sss-about-milestones { grid-column: 1 / -1; grid-template-columns: repeat(4, 1fr); }
	.sss-about-milestones::before { top: 5px; right: 5px; bottom: auto; width: auto; height: 1px; }
	.sss-about-milestones li { grid-template-columns: 12px 1fr; }
	.sss-about-partner__layout { grid-template-columns: .65fr 1.35fr; gap: 42px; }
}

@media (max-width: 980px) {
	.sss-about-hero { padding-top: calc(var(--header-h, 72px) + 22px); }
	.sss-about-hero__grid { grid-template-columns: 1fr; padding-bottom: 42px; }
	.sss-about-hero__copy { max-width: 730px; padding: 20px 0 0; }
	.sss-about-hero__visual { width: calc(100% - 28px); height: min(58vw, 540px); margin-left: auto; }
	.sss-about-stats { grid-template-columns: repeat(2, 1fr); gap: 0; }
	.sss-about-stat { justify-content: flex-start; padding: 15px 25px; }
	.sss-about-stat:nth-child(2) { border-right: 0; }
	.sss-about-stat:nth-child(-n+2) { border-bottom: 1px solid #ebe5d9; }
	.sss-about-foundation__grid { grid-template-columns: 1fr; }
	.sss-about-foundation__grid article { min-height: 0; }
	.sss-about-disciplines { grid-template-columns: repeat(2, 1fr); }
	.sss-about-partner__layout { grid-template-columns: 1fr; }
	.sss-about-partner__intro { max-width: 670px; }
	.sss-about-culture__card { grid-template-columns: 1fr; }
	.sss-about-culture__image { min-height: min(58vw, 520px); }
}

@media (max-width: 760px) {
	.sss-about-refresh .sss-section { padding-block: 58px; }
	.sss-about-refresh h2 { font-size: clamp(2.25rem, 10vw, 3.2rem); }
	.sss-about-hero h1 { font-size: clamp(2.65rem, 12vw, 4.1rem); }
	.sss-about-hero__lead { font-size: .96rem; }
	.sss-about-hero__actions { align-items: flex-start; flex-direction: column; gap: 18px; }
	.sss-about-trust { padding-left: 0; border-left: 0; }
	.sss-about-hero__visual { width: 100%; height: 64vw; min-height: 330px; border-width: 6px; border-radius: 25px; }
	.sss-about-hero__visual > img { border-radius: 19px; }
	.sss-about-float { min-width: 130px; padding: 13px 14px; }
	.sss-about-float--left { left: 12px; bottom: 15px; }
	.sss-about-float--right { top: 14px; right: 12px; }
	.sss-about-visual-pill { display: none; }
	.sss-about-story { padding-top: 105px !important; }
	.sss-about-story__grid { grid-template-columns: 1fr; }
	.sss-about-story__visual { height: min(72vw, 430px); }
	.sss-about-milestones { grid-template-columns: repeat(2, 1fr); }
	.sss-about-milestones::before { display: none; }
	.sss-about-section-intro,
	.sss-about-section-intro--wide { grid-template-columns: 1fr; gap: 20px; }
	.sss-about-section-intro > p { margin-left: 0; }
	.sss-about-disciplines article { min-height: 250px; }
	.sss-about-discipline__top { margin-bottom: 45px; }
	.sss-about-culture__copy { padding: 35px 25px; }
	.sss-about-culture__facts { right: 14px; bottom: 14px; left: 14px; justify-content: center; }
	.sss-about-culture__facts span { min-width: 0; }
}

@media (max-width: 540px) {
	.sss-about-hero__grid { gap: 22px; }
	.sss-about-hero__copy { padding-top: 6px; }
	.sss-about-hero h1 { margin-bottom: 20px; }
	.sss-about-hero__visual { min-height: 290px; }
	.sss-about-float { display: none; }
	.sss-about-stats { grid-template-columns: 1fr; padding: 8px 18px; }
	.sss-about-stat,
	.sss-about-stat:nth-child(2) { border-right: 0; border-bottom: 1px solid #ebe5d9; }
	.sss-about-stat:last-child { border-bottom: 0; }
	.sss-about-story { padding-top: 195px !important; }
	.sss-about-story__visual { height: 300px; }
	.sss-about-milestones { grid-template-columns: 1fr; gap: 20px; }
	.sss-about-foundation__grid article { grid-template-columns: 46px 1fr; padding: 22px; }
	.sss-about-disciplines,
	.sss-about-partner__cards { grid-template-columns: 1fr; }
	.sss-about-disciplines article { min-height: 230px; }
	.sss-about-culture__image { min-height: 310px; }
	.sss-about-culture__facts span { padding: 5px 7px; font-size: .56rem; }
	.sss-about-culture__facts b { font-size: .75rem; }
}

/* Shared hero color system — aligned with the About page */
:is(.sss-launch-hero, .sss-page-hero, .sss-case-hero, .sss-legal-hero, .sss-not-found) {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		radial-gradient(circle at 8% 18%, rgba(219, 178, 88, .16), transparent 25%),
		radial-gradient(circle at 94% 10%, rgba(142, 107, 30, .17), transparent 29%),
		linear-gradient(180deg, #fdfbf5 0%, #fbf5ea 100%);
}

:is(.sss-launch-hero, .sss-page-hero, .sss-case-hero, .sss-legal-hero, .sss-not-found)::before,
:is(.sss-launch-hero, .sss-page-hero, .sss-case-hero, .sss-legal-hero, .sss-not-found)::after {
	position: absolute;
	z-index: 0;
	display: block;
	width: 190px;
	height: 190px;
	content: "";
	border: 28px solid rgba(255, 255, 255, .55);
	border-radius: 50%;
	background: transparent;
	box-shadow: none;
	pointer-events: none;
}

:is(.sss-launch-hero, .sss-page-hero, .sss-case-hero, .sss-legal-hero, .sss-not-found)::before {
	top: 130px;
	left: -82px;
	right: auto;
	bottom: auto;
}

:is(.sss-launch-hero, .sss-page-hero, .sss-case-hero, .sss-legal-hero, .sss-not-found)::after {
	top: 96px;
	right: -110px;
	left: auto;
	bottom: auto;
	width: 250px;
	height: 250px;
}

:is(.sss-launch-hero, .sss-page-hero, .sss-case-hero, .sss-legal-hero, .sss-not-found) > .sss-container {
	position: relative;
	z-index: 1;
}

.sss-site :is(.sss-launch-hero, .sss-page-hero, .sss-case-hero, .sss-legal-hero, .sss-not-found) h1 {
	color: #1e180c;
	font-weight: 680;
	line-height: .99;
	letter-spacing: -.055em;
}

.sss-site :is(.sss-launch-hero, .sss-page-hero, .sss-case-hero, .sss-legal-hero, .sss-not-found) h1 em {
	color: #836422;
	font-style: normal;
}

:is(.sss-launch-hero__eyebrow, .sss-page-hero .sss-eyebrow, .sss-case-hero .sss-eyebrow, .sss-legal-hero .sss-eyebrow, .sss-not-found .sss-eyebrow) {
	color: #61512c;
	font-size: .71rem;
	font-weight: 800;
	letter-spacing: .14em;
}

:is(.sss-launch-hero__eyebrow, .sss-page-hero .sss-eyebrow, .sss-case-hero .sss-eyebrow, .sss-legal-hero .sss-eyebrow, .sss-not-found .sss-eyebrow) > span {
	background: #a69369;
}

.sss-launch-hero__lead,
.sss-page-hero__copy,
.sss-case-hero > .sss-container > p:not(.sss-eyebrow),
.sss-legal-hero > .sss-container > p,
.sss-not-found > .sss-container > p:not(.sss-eyebrow) {
	color: #69614e;
}

@media (max-width: 760px) {
	:is(.sss-launch-hero, .sss-page-hero, .sss-case-hero, .sss-legal-hero, .sss-not-found)::before {
		top: 104px;
		left: -105px;
	}

	:is(.sss-launch-hero, .sss-page-hero, .sss-case-hero, .sss-legal-hero, .sss-not-found)::after {
		top: 76px;
		right: -165px;
	}
}

/* Compact vertical rhythm shared by every public page. */
.sss-site {
	--section-space: clamp(3rem, 4.8vw, 4.75rem);
}

.sss-site .sss-section,
.sss-about-refresh .sss-section {
	padding-block: clamp(48px, 4.8vw, 76px);
}

.sss-site .sss-heading-row {
	margin-bottom: clamp(30px, 3.5vw, 48px);
}

.sss-about-story {
	padding-top: clamp(82px, 7vw, 108px) !important;
}

.sss-work-stack__heading,
.sss-result-band {
	padding-block: clamp(48px, 4.8vw, 76px);
}

.sss-case-content article {
	padding-block: clamp(38px, 4vw, 54px);
}

.sss-legal article section {
	margin-bottom: clamp(30px, 3vw, 40px);
	padding-bottom: clamp(30px, 3vw, 40px);
}

.sss-page-hero,
.sss-legal-hero {
	padding-top: calc(var(--header-h) + clamp(38px, 5vw, 64px));
	padding-bottom: clamp(44px, 5vw, 66px);
}

.sss-breadcrumb + .sss-page-hero {
	padding-top: 30px;
}

@media (max-width: 640px) {
	.sss-site {
		--section-space: 2.75rem;
	}

	.sss-site .sss-section,
	.sss-about-refresh .sss-section {
		padding-block: 44px;
	}

	.sss-site .sss-heading-row {
		margin-bottom: 28px;
	}

	.sss-about-story {
		padding-top: 82px !important;
	}

	.sss-work-stack__heading,
	.sss-result-band {
		padding-block: 44px;
	}

	.sss-page-hero,
	.sss-legal-hero {
		padding-top: calc(var(--header-h) + 32px);
		padding-bottom: 40px;
	}
}

/* One neutral surface for every softly tinted content section. */
.sss-site {
	--bg-muted: #fbfaf7;
}

:is(
	.sss-services,
	.sss-process,
	.sss-testimonials,
	.sss-related,
	.sss-work-index,
	.sss-service-list,
	.sss-detail-columns,
	.sss-about-foundation,
	.sss-about-partner,
	.sss-work-panel,
	.sss-work-panel:nth-child(even)
) {
	background: #fbfaf7;
}

/* Unified color for section overlines and their supporting marks. */
.sss-site .sss-section-label,
.sss-site .sss-mini-label,
.sss-site .sss-eyebrow,
.sss-site .sss-launch-hero__eyebrow,
.sss-about-refresh .sss-about-kicker {
	color: #947533;
}

.sss-site .sss-section-label .sss-icon {
	color: #947533;
}

.sss-site .sss-section-label::before,
.sss-site .sss-mini-label::before,
.sss-site .sss-eyebrow > span,
.sss-site .sss-launch-hero__eyebrow > span,
.sss-about-refresh .sss-about-kicker > span {
	background: #947533;
}

/* Keep the testimonial introduction on one precise center axis. */
.sss-client-reviews__heading {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.sss-client-reviews__heading .sss-section-label,
.sss-client-reviews__heading h2,
.sss-client-reviews__heading > p:not(.sss-section-label) {
	margin-inline: auto;
	text-align: center;
}

.sss-site .sss-client-reviews__heading h2::after {
	margin-right: auto;
	margin-left: auto;
}

/* Slightly smaller display type inside content sections. */
.sss-site {
	--sss-heading: clamp(1.95rem, 3.1vw, 3.25rem);
}

.sss-site section h2,
.sss-about-refresh section:not(.sss-about-hero) h2 {
	font-size: clamp(1.95rem, 3.1vw, 3.25rem);
}

.sss-site .sss-work-panel h3 {
	font-size: clamp(1.9rem, 3vw, 3.15rem);
}

.sss-site .sss-result-band blockquote {
	font-size: clamp(1.85rem, 3.2vw, 3.3rem);
}

@media (max-width: 640px) {
	.sss-site {
		--sss-heading: clamp(1.8rem, 8vw, 2.45rem);
	}

	.sss-site section h2,
	.sss-about-refresh section:not(.sss-about-hero) h2 {
		font-size: clamp(1.8rem, 8vw, 2.45rem);
	}

	.sss-site .sss-work-panel h3 {
		font-size: clamp(1.75rem, 8.5vw, 2.55rem);
	}
}

/* One typography system for every page hero. */
.sss-site :is(
	.sss-launch-hero,
	.sss-about-hero,
	.sss-page-hero,
	.sss-case-hero,
	.sss-legal-hero,
	.sss-not-found
) h1 {
	max-width: 820px;
	margin-bottom: 24px;
	font-size: clamp(2.75rem, 4.4vw, 4.7rem);
	font-weight: 680;
	line-height: 1;
	letter-spacing: -.055em;
}

.sss-site :is(
	.sss-launch-hero__eyebrow,
	.sss-about-hero .sss-about-kicker,
	.sss-page-hero .sss-eyebrow,
	.sss-case-hero .sss-eyebrow,
	.sss-legal-hero .sss-eyebrow,
	.sss-not-found .sss-eyebrow
) {
	margin-bottom: 19px;
	font-size: .71rem;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.sss-site .sss-launch-hero__lead,
.sss-site .sss-about-hero__lead,
.sss-site .sss-page-hero__copy,
.sss-site .sss-case-hero > .sss-container > p:not(.sss-eyebrow),
.sss-site .sss-legal-hero > .sss-container > p,
.sss-site .sss-not-found > .sss-container > p:not(.sss-eyebrow) {
	font-size: clamp(.98rem, 1.2vw, 1.08rem);
	font-weight: 400;
	line-height: 1.7;
}

@media (max-width: 640px) {
	.sss-site :is(
		.sss-launch-hero,
		.sss-about-hero,
		.sss-page-hero,
		.sss-case-hero,
		.sss-legal-hero,
		.sss-not-found
	) h1 {
		margin-bottom: 20px;
		font-size: clamp(2.35rem, 10.5vw, 3.25rem);
		line-height: 1.02;
	}

	.sss-site .sss-launch-hero__lead,
	.sss-site .sss-about-hero__lead,
	.sss-site .sss-page-hero__copy,
	.sss-site .sss-case-hero > .sss-container > p:not(.sss-eyebrow),
	.sss-site .sss-legal-hero > .sss-container > p,
	.sss-site .sss-not-found > .sss-container > p:not(.sss-eyebrow) {
		font-size: .95rem;
	}
}
