@font-face {
	font-family: "Instrument Serif";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/instrument-serif-regular.woff2") format("woff2");
}

@font-face {
	font-family: "Instrument Serif";
	font-style: italic;
	font-weight: 400;
	src: url("../fonts/instrument-serif-italic.woff2") format("woff2");
}

@font-face {
	font-family: "SomeType Mono";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/sometype-mono-regular.woff2") format("woff2");
}

:root {
	--wine: #440000;
	--brick: #6a2420;
	--taupe: #a69686;
	--cream: #f8f5e8;
	--ink: #2b100e;
	--white: #fffdf5;
	--container: 1596px;
	--gutter: 4vw;
	--header-height: 76px;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--cream);
	color: var(--ink);
	font-family: "SomeType Mono", monospace;
	font-size: clamp(16.16px, 1.212vw, 17.456px);
	letter-spacing: -.02em;
	line-height: 1.5;
	margin: 0;
	overflow-x: hidden;
}

body.admin-bar .site-header {
	top: 32px;
}

img,
video {
	display: block;
	max-width: 100%;
}

a {
	color: inherit;
	text-decoration: none;
}

h1,
h2,
h3,
p {
	margin-top: 0;
}

h1,
h2,
h3 {
	font-family: "Instrument Serif", Georgia, serif;
	font-weight: 400;
	line-height: .94;
}

em {
	font-family: "Instrument Serif", Georgia, serif;
	font-style: italic;
}

.layout-container {
	margin: 0 auto;
	max-width: var(--container);
	padding-left: var(--gutter);
	padding-right: var(--gutter);
	width: 100%;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.site-header {
	background: var(--brick);
	color: var(--white);
	left: 0;
	padding: 14px 0;
	position: fixed;
	right: 0;
	top: 0;
	transition: padding .3s ease;
	z-index: 20;
}

.site-header--scrolled {
	background: var(--brick);
	padding: 14px 0;
}

.site-main--home {
	padding-top: var(--header-height);
}

.site-header__inner {
	align-items: center;
	display: flex;
	gap: 24px;
	margin: 0 auto;
	max-width: var(--container);
	padding: 0 var(--gutter);
	width: 100%;
}

.site-logo,
.site-footer__brand {
	font-family: "Instrument Serif", Georgia, serif;
	font-size: clamp(31px, 2.772vw, 39.92px);
	letter-spacing: -.03em;
	line-height: 1.2;
	margin-right: auto;
	text-transform: uppercase;
	white-space: nowrap;
}

.primary-navigation,
.site-header__actions {
	align-items: center;
	display: flex;
	gap: 20px;
}

.primary-navigation a,
.social-link {
	font-size: 14px;
	letter-spacing: -.06em;
	line-height: 1.2;
	text-transform: uppercase;
}

.primary-navigation__link {
	padding-bottom: 6px;
	position: relative;
}

.primary-navigation__link::after {
	background: currentColor;
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .24s ease;
	width: 100%;
}

.primary-navigation__link:hover::after,
.primary-navigation__link:focus-visible::after,
.primary-navigation__link.is-active::after {
	transform: scaleX(1);
}

.social-link {
	align-items: center;
	display: inline-flex;
	height: 18px;
	justify-content: center;
	width: 18px;
}

.social-link svg,
.footer-social__link svg {
	display: block;
	fill: none;
	height: 100%;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	width: 100%;
}

.social-link svg path,
.footer-social__link svg path {
	fill: currentColor;
	stroke: none;
}

.social-link svg circle,
.social-link svg rect,
.footer-social__link svg circle,
.footer-social__link svg rect {
	fill: none;
}

.pill-button {
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	display: inline-flex;
	font-family: "Instrument Serif", Georgia, serif;
	font-size: clamp(14px, 1.092vw, 15.728px);
	justify-content: center;
	letter-spacing: -.03em;
	line-height: 1;
	padding: 21px 34px;
	text-align: center;
	text-transform: uppercase;
	transition: background .25s ease, color .25s ease, transform .25s ease;
}

.pill-button:hover {
	transform: translateY(-2px);
}

.pill-button--header,
.pill-button--light {
	background: var(--taupe);
	color: var(--white);
}

.pill-button--dark {
	background: var(--wine);
	color: var(--white);
}

.pill-button--header {
	padding: 21px 35px;
}

.menu-toggle {
	background: transparent;
	border: 0;
	display: none;
	flex: 0 0 38px;
	height: 38px;
	padding: 0;
	position: relative;
	width: 38px;
}

.menu-toggle span:not(.screen-reader-text),
.menu-toggle::before,
.menu-toggle::after {
	background: var(--white);
	display: block;
	height: 1px;
	left: 5px;
	margin: 7px 0;
	position: absolute;
	right: 5px;
	width: 28px;
}

.menu-toggle::before {
	content: "";
	top: 11px;
}

.menu-toggle::after {
	bottom: 11px;
	content: "";
}

.menu-toggle span:not(.screen-reader-text) {
	display: none;
}

.hero,
.video-quote {
	color: var(--white);
	overflow: hidden;
	position: relative;
}

.hero {
	min-height: 828px;
}

.media-background,
.media-overlay {
	inset: 0;
	position: absolute;
}

.media-background img,
.media-background video {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.hero .media-background img {
	object-position: center 42%;
}

.media-overlay {
	background: linear-gradient(90deg, rgba(68, 0, 0, .53), rgba(68, 0, 0, .08) 65%, rgba(68, 0, 0, .24));
}

.hero__content {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-height: 828px;
	padding-bottom: 0;
	padding-top: 370px;
	position: relative;
	z-index: 2;
}

.hero h1 {
	font-size: clamp(54px, 4.84vw, 70px);
	letter-spacing: -.04em;
	line-height: 1.055;
	max-width: 610px;
	text-transform: uppercase;
}

.hero h1 em,
.intro h2 em,
.video-quote h2 em,
.references h2 em,
.contact h2 em,
.site-footer__top h2 em {
	text-transform: none;
}

.hero .pill-button {
	align-self: flex-start;
	margin-top: 22px;
}

.intro {
	align-items: flex-start;
	background: var(--cream);
	display: flex;
	justify-content: center;
	min-height: clamp(1180px, 100.4vw, 1445px);
	overflow-x: clip;
	overflow-y: visible;
	padding: 130px var(--gutter) 160px;
	position: relative;
	text-align: center;
}

.intro__inner {
	max-width: 664px;
	position: sticky;
	top: calc(var(--header-height) + 88px);
	z-index: 3;
}

.intro h2 {
	color: var(--brick);
	font-size: clamp(46px, 3.88vw, 56px);
	letter-spacing: -.04em;
	line-height: 1.08;
	margin-bottom: 30px;
	text-transform: uppercase;
}

.intro p {
	margin: 0 auto 26px;
	max-width: 680px;
	white-space: normal;
}

.script-note {
	color: var(--brick);
	display: inline-block;
	font-family: "Instrument Serif", Georgia, serif;
	font-size: 34px;
	font-style: italic;
	transform: rotate(-8deg);
}

.intro__scroll-asset {
	pointer-events: none;
	position: absolute;
	transform: translate3d(0, var(--scroll-y, 0px), 0);
	z-index: 1;
}

.intro__scroll-asset img {
	filter: drop-shadow(0 16px 16px rgba(43, 16, 14, .12));
	height: auto;
	transform: rotate(var(--scroll-rotation, var(--asset-start-rotation, 0deg)));
	transform-origin: center;
	width: 100%;
	will-change: transform;
}

.intro__scroll-asset--phone {
	--asset-start-rotation: -18deg;
	bottom: 22%;
	left: max(7%, calc((100vw - var(--container)) / 2 + 16%));
	width: clamp(138px, 13.2vw, 198px);
}

.intro__scroll-asset--record {
	--asset-start-rotation: 22deg;
	bottom: 7%;
	right: max(5%, calc((100vw - var(--container)) / 2 + 9%));
	width: clamp(134px, 12.8vw, 192px);
}

.intro__ornament {
	border: 1px solid rgba(106, 36, 32, .18);
	position: absolute;
}

.intro__ornament--circle {
	border-radius: 50%;
	height: 190px;
	left: 7%;
	top: 14%;
	width: 190px;
}

.intro__ornament--line {
	border-bottom: 0;
	border-left: 0;
	border-right: 0;
	bottom: 19%;
	right: 3%;
	transform: rotate(-12deg);
	width: 260px;
}

.about {
	background: var(--brick);
	color: var(--white);
	display: flex;
	min-height: 1015px;
	padding: 0;
}

.about__grid {
	align-items: center;
	display: grid;
	gap: clamp(54px, 8vw, 130px);
	grid-template-columns: minmax(0, 1.02fr) minmax(310px, .9fr);
	min-height: 1015px;
}

.photo-collage {
	min-height: 720px;
	position: relative;
}

.photo-collage__main {
	background: #fff;
	box-shadow: 0 8px 12px rgba(43, 16, 14, .17);
	left: 3%;
	padding: 17px 17px 58px;
	position: absolute;
	top: 2%;
	transform: rotate(-7deg);
	width: 57%;
}

.photo-collage__main img {
	aspect-ratio: .84;
	object-fit: cover;
	width: 100%;
}

.photo-collage__strip {
	background: #fff;
	box-shadow: 0 8px 12px rgba(43, 16, 14, .17);
	display: grid;
	gap: 10px;
	left: 45%;
	padding: 13px 13px 38px;
	position: absolute;
	top: 28%;
	transform: rotate(14deg);
	width: 30%;
}

.photo-collage__strip img {
	aspect-ratio: 1.35;
	object-fit: cover;
	width: 100%;
}

.photo-collage__tape {
	background: rgba(239, 223, 186, .75);
	height: 43px;
	left: 18%;
	position: absolute;
	top: -4%;
	transform: rotate(-4deg);
	width: 145px;
	z-index: 4;
}

.section-kicker {
	font-size: 14px;
	letter-spacing: .08em;
	line-height: 1.2;
	margin-bottom: 22px;
	text-transform: uppercase;
}

.about h2 {
	font-size: clamp(46px, 3.88vw, 56px);
	letter-spacing: -.04em;
	line-height: 1.08;
	margin-bottom: 22px;
	text-transform: uppercase;
}

.about__content {
	margin-left: 21px;
	margin-top: -26px;
	max-width: 434px;
}

.about__content > p:not(.section-kicker) {
	margin-bottom: 28px;
	white-space: normal;
}

.logos-strip {
	background: #fff;
	min-height: 147px;
	padding: 50px 0;
}

.logos-strip__inner {
	align-items: center;
	display: grid;
	gap: 24px;
	grid-template-columns: 1.15fr repeat(5, 1fr);
}

.logos-strip p {
	line-height: 1.2;
	margin: 0;
}

.logo-item {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 43px;
}

.logo-item img {
	filter: grayscale(1);
	max-height: 43px;
	max-width: 135px;
	object-fit: contain;
}

.logo-item span {
	color: var(--ink);
	font-family: "Instrument Serif", Georgia, serif;
	font-size: 24px;
}

.video-quote {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 653px;
	text-align: center;
}

.video-quote .media-background img {
	object-position: center 25%;
}

.video-quote .media-overlay {
	background: rgba(43, 16, 14, .48);
}

.video-quote__content {
	max-width: 720px;
	padding: 90px var(--gutter);
	position: relative;
	z-index: 2;
}

.video-quote h2 {
	font-size: clamp(46px, 3.88vw, 56px);
	letter-spacing: -.04em;
	line-height: 1.08;
	margin-bottom: 24px;
	text-transform: uppercase;
}

.video-quote p {
	margin: 0 auto 8px;
	max-width: 680px;
}

.video-quote span {
	font-size: inherit;
}

.services {
	background: var(--wine);
	color: var(--white);
	overflow: hidden;
	padding-bottom: 120px;
}

.ticker {
	border-bottom: 1px solid rgba(255, 253, 245, .32);
	border-top: 1px solid rgba(255, 253, 245, .32);
	overflow: hidden;
	padding: 0;
}

.ticker__track {
	animation: ticker 28s linear infinite;
	display: flex;
	width: max-content;
}

.ticker span {
	font-family: "Instrument Serif", Georgia, serif;
	font-size: clamp(130px, 15.37vw, 221px);
	letter-spacing: -.06em;
	line-height: 1.4;
	padding-right: .35em;
	white-space: nowrap;
}

@keyframes ticker {
	to { transform: translateX(-50%); }
}

.services__heading {
	padding: 86px 0 46px;
}

.services h2,
.references h2,
.contact h2 {
	font-size: clamp(56px, 4.84vw, 70px);
	letter-spacing: -.045em;
	line-height: 1.055;
	margin-bottom: 0;
	text-transform: uppercase;
}

.services__list {
	border-top: 1px solid rgba(255, 253, 245, .35);
}

.service-card {
	border-bottom: 1px solid rgba(255, 253, 245, .35);
	display: grid;
	gap: 30px;
	grid-template-columns: 100px 1fr;
	padding: 31px 0 33px;
}

.service-card__number {
	font-family: "Instrument Serif", Georgia, serif;
	font-size: clamp(28px, 2.08vw, 30px);
	line-height: 1;
}

.service-card h3 {
	font-size: clamp(28px, 2.08vw, 30px);
	letter-spacing: -.03em;
	line-height: 1.128;
	margin-bottom: 9px;
	text-transform: uppercase;
}

.service-card p {
	margin-bottom: 6px;
	max-width: 840px;
}

.service-card__output {
	color: var(--taupe);
}

.references {
	background: var(--cream);
	min-height: 2195px;
	padding: 168px 0 190px;
}

.references__heading {
	margin: 0 auto;
	max-width: 520px;
	position: sticky;
	top: 126px;
	z-index: 2;
	text-align: center;
}

.references__heading h2 {
	color: var(--brick);
	margin-bottom: 22px;
}

.references__heading p {
	margin: 0 auto;
	max-width: 430px;
}

.references__grid {
	min-height: 1690px;
	position: relative;
}

.reference-card {
	color: var(--ink);
	position: absolute;
	width: 267px;
}

.reference-card h3 {
	color: var(--brick);
	font-size: clamp(28px, 2.08vw, 30px);
	letter-spacing: -.025em;
	line-height: 1.128;
	margin-bottom: 18px;
	text-transform: uppercase;
}

.reference-card p {
	font-size: clamp(16px, 1.21vw, 17.5px);
	line-height: 1.5;
	margin-bottom: 0;
}

.reference-card footer {
	margin-top: 22px;
}

.reference-card__meta {
	align-items: center;
	display: grid;
	gap: 12px;
	grid-template-columns: 45px 1fr;
}

.reference-card__meta img {
	height: 68px;
	object-fit: cover;
	width: 45px;
}

.reference-card__meta span {
	display: grid;
	font-size: 13px;
	line-height: 1.5;
}

.reference-card strong {
	color: var(--brick);
	font-size: 14px;
	font-weight: 400;
}

.reference-card small {
	font-size: 13px;
}

.reference-card:nth-child(1) {
	left: 55px;
	top: 250px;
}

.reference-card:nth-child(2) {
	left: 222px;
	top: 920px;
	width: 323px;
}

.reference-card:nth-child(3) {
	right: 167px;
	top: 447px;
	width: 323px;
}

.reference-card:nth-child(4) {
	right: 222px;
	top: 1435px;
}

.contact {
	background: var(--taupe);
	color: var(--ink);
	overflow: hidden;
	padding: 120px 0 106px;
}

.contact__grid {
	display: grid;
	gap: clamp(56px, 8vw, 125px);
	grid-template-columns: minmax(0, .85fr) minmax(340px, 1fr);
}

.contact h2 {
	color: var(--wine);
	margin-bottom: 25px;
}

.contact__intro > p:not(.section-kicker) {
	max-width: 520px;
}

.contact__intro img {
	filter: saturate(.75);
	margin: 34px 0 -180px auto;
	max-height: 330px;
	object-fit: contain;
	object-position: bottom;
	width: 72%;
}

.contact-form {
	display: grid;
	gap: 23px 18px;
	grid-template-columns: 1fr 1fr;
}

.contact-form label {
	display: grid;
	gap: 8px;
}

.contact-form span {
	font-size: 10px;
	letter-spacing: .04em;
}

.contact-form input,
.contact-form textarea {
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--wine);
	border-radius: 0;
	color: var(--ink);
	font-family: "SomeType Mono", monospace;
	font-size: 14px;
	outline: none;
	padding: 9px 0 12px;
	width: 100%;
}

.contact-form textarea {
	resize: vertical;
}

.contact-form__full {
	grid-column: 1 / -1;
}

.contact-form__honeypot {
	height: 0;
	left: -9999px;
	overflow: hidden;
	position: absolute;
}

.contact-form button {
	justify-self: start;
	margin-top: 8px;
}

.form-message {
	border: 1px solid currentColor;
	font-size: 12px;
	padding: 12px 14px;
}

.form-message--success {
	color: var(--wine);
}

.form-message--error {
	color: #9a1515;
}

.site-footer {
	background: var(--wine);
	color: var(--white);
}

.site-footer__top {
	border-bottom: 1px solid rgba(255, 253, 245, .3);
	padding: 105px var(--gutter) 100px;
	text-align: center;
}

.site-footer__top h2 {
	font-size: clamp(56px, 4.84vw, 70px);
	letter-spacing: -.05em;
	line-height: 1.055;
	margin: 0 auto 30px;
	max-width: 870px;
	text-transform: uppercase;
}

.has-reveal .reveal {
	opacity: 0;
	transform: translateY(28px);
	transition:
		opacity .6s ease var(--reveal-delay, 0s),
		transform .6s ease var(--reveal-delay, 0s);
}

.has-reveal .reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.hero .media-background img,
.hero .media-background video,
.video-quote .media-background img,
.video-quote .media-background video {
	animation: media-settle 1.8s ease both;
}

@keyframes media-settle {
	from {
		transform: scale(1.035);
	}

	to {
		transform: scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}

	.has-reveal .reveal {
		opacity: 1;
		transform: none;
	}

	.has-reveal .about-page-hero__title.reveal {
		transform: translateX(-50%);
	}
}

.site-footer__grid {
	display: grid;
	gap: 32px;
	grid-template-columns: 1.6fr repeat(3, 1fr);
	margin: 0 auto;
	max-width: var(--container);
	padding: 56px var(--gutter) 65px;
}

.site-footer__grid > div {
	display: flex;
	flex-direction: column;
}

.site-footer__label,
.site-footer__grid a {
	font-size: 14px;
	margin: 0 0 8px;
}

.site-footer__label {
	color: var(--taupe);
	margin-bottom: 16px;
}

.site-footer__bottom {
	border-top: 1px solid rgba(255, 253, 245, .3);
	display: flex;
	font-size: 13px;
	gap: 18px;
	justify-content: space-between;
	padding: 14px var(--gutter);
}

.site-footer__credit {
	text-decoration: underline;
	text-decoration-color: rgba(255, 253, 245, .45);
	text-underline-offset: 3px;
}

.site-footer__credit:hover,
.site-footer__credit:focus-visible {
	text-decoration-color: currentColor;
}

.footer-social {
	display: grid;
	gap: 8px;
}

.footer-social__link {
	align-items: center;
	display: inline-flex;
	gap: 10px;
}

.footer-social__link svg {
	height: 18px;
	width: 18px;
}

.services-page-hero {
	background: var(--cream);
	color: var(--ink);
	min-height: 943px;
	overflow: hidden;
	position: relative;
}

.services-page-hero__media {
	height: calc(100% - 86px);
	left: 0;
	position: absolute;
	top: 86px;
	width: 49.62vw;
}

.services-page-hero__media img {
	height: 100%;
	object-fit: cover;
	object-position: center top;
	width: 100%;
}

.services-page-hero__content {
	left: 54.25vw;
	max-width: 660px;
	position: absolute;
	top: 384px;
	width: 45.75vw;
}

.services-page-hero h1 {
	color: var(--brick);
	font-size: clamp(58px, 4.84vw, 70px);
	letter-spacing: -.045em;
	line-height: 1.055;
	margin-bottom: 25px;
	text-transform: uppercase;
}

.services-page-hero p {
	max-width: 490px;
	white-space: normal;
}

.services-page-hero .pill-button {
	align-items: center;
	background: var(--brick);
	margin-top: 8px;
	min-height: 68px;
	width: 212px;
}

.services-page-list {
	background: var(--wine);
	color: var(--white);
	overflow: hidden;
}

.services-page-list__ticker {
	border-color: rgba(255, 253, 245, .32);
}

.services-page-list__inner {
	padding-bottom: 112px;
	padding-top: 74px;
}

.services-page-card {
	border-bottom: 1px solid rgba(255, 253, 245, .34);
	display: grid;
	gap: 32px;
	grid-template-columns: 110px minmax(280px, .88fr) minmax(340px, 1.05fr);
	padding: 54px 0 58px;
}

.services-page-card:first-child {
	border-top: 1px solid rgba(255, 253, 245, .34);
}

.services-page-card__number,
.services-page-card h2,
.services-page-card h3 {
	font-family: "Instrument Serif", Georgia, serif;
	font-weight: 400;
	text-transform: uppercase;
}

.services-page-card__number {
	font-size: clamp(46px, 4.84vw, 70px);
	letter-spacing: -.05em;
	line-height: 1;
}

.services-page-card h2 {
	font-size: clamp(32px, 2.8vw, 40px);
	letter-spacing: -.035em;
	line-height: 1.05;
	margin-bottom: 22px;
}

.services-page-card__intro {
	margin: 0;
	max-width: 520px;
	white-space: normal;
}

.services-page-card h3 {
	color: var(--taupe);
	font-size: clamp(24px, 2.08vw, 30px);
	letter-spacing: -.03em;
	line-height: 1.13;
	margin-bottom: 14px;
}

.services-page-card ul {
	display: grid;
	gap: 7px;
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
}

.services-page-card li {
	padding-left: 22px;
	position: relative;
}

.services-page-card li::before {
	background: currentColor;
	border-radius: 50%;
	content: "";
	height: 5px;
	left: 0;
	position: absolute;
	top: .75em;
	width: 5px;
}

.services-page-card__output {
	color: var(--taupe);
	margin: 0;
	max-width: 520px;
}

.services-page-card__output strong {
	color: var(--white);
	font-weight: 400;
}

.services-page-final {
	background: var(--cream);
	color: var(--ink);
	padding: 128px 0 132px;
	text-align: center;
}

.services-page-final__inner {
	max-width: 920px;
}

.services-page-final h2 {
	color: var(--brick);
	font-size: clamp(56px, 4.84vw, 70px);
	letter-spacing: -.045em;
	line-height: 1.055;
	margin-bottom: 24px;
	text-transform: uppercase;
}

.services-page-final p {
	margin: 0 auto 30px;
	max-width: 690px;
}

.services-page-final .pill-button {
	align-items: center;
	background: var(--brick);
	min-height: 68px;
	width: 212px;
}

.contact-page-hero {
	background: var(--cream);
	color: var(--ink);
	min-height: 944px;
	overflow: hidden;
	position: relative;
}

.contact-page-hero__media {
	height: calc(100% - 86px);
	left: 0;
	position: absolute;
	top: 86px;
	width: 54.16vw;
}

.contact-page-hero__media img {
	height: 100%;
	object-fit: cover;
	object-position: center 52%;
	width: 100%;
}

.contact-page-hero__content {
	left: 58.2vw;
	max-width: 520px;
	position: absolute;
	top: 432px;
	width: 34vw;
}

.contact-page-hero h1 {
	color: var(--brick);
	font-size: clamp(72px, 7.18vw, 104px);
	letter-spacing: -.055em;
	line-height: .9;
	margin: 0;
}

.contact-page-hero h1 em {
	color: var(--wine);
}

.contact-page-hero p {
	margin: 28px 0 0;
	max-width: 460px;
}

.contact-page-details {
	background: var(--taupe);
	color: var(--ink);
	padding: 116px 0 126px;
}

.contact-page-details__inner > .section-kicker {
	margin-bottom: 38px;
}

.contact-page-details__grid {
	display: grid;
	gap: clamp(52px, 7vw, 112px);
	grid-template-columns: minmax(280px, .86fr) minmax(360px, 1fr);
}

.contact-page-details h2 {
	color: var(--wine);
	font-size: clamp(56px, 4.84vw, 70px);
	letter-spacing: -.045em;
	line-height: 1.055;
	margin: 0;
	text-transform: uppercase;
}

.contact-page-details__list {
	border-top: 1px solid rgba(68, 0, 0, .5);
}

.contact-page-row {
	align-items: baseline;
	border-bottom: 1px solid rgba(68, 0, 0, .5);
	display: grid;
	gap: 24px;
	grid-template-columns: 150px 1fr;
	padding: 22px 0;
}

.contact-page-row span {
	font-size: 10px;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.contact-page-row a,
.contact-page-row strong {
	color: var(--wine);
	font-family: "Instrument Serif", Georgia, serif;
	font-size: clamp(29px, 2.56vw, 37px);
	font-weight: 400;
	letter-spacing: -.035em;
	line-height: 1.08;
}

.contact-page-form {
	background: var(--cream);
	color: var(--ink);
	padding: 118px 0 126px;
}

.contact-page-form__inner {
	display: grid;
	gap: clamp(56px, 8vw, 126px);
	grid-template-columns: minmax(280px, .82fr) minmax(360px, 1fr);
}

.contact-page-form__heading h2 {
	color: var(--brick);
	font-size: clamp(56px, 4.84vw, 70px);
	letter-spacing: -.045em;
	line-height: 1.055;
	margin-bottom: 24px;
	text-transform: uppercase;
}

.contact-page-form__heading p:not(.section-kicker) {
	max-width: 520px;
}

.contact-page-form .form-message {
	margin-bottom: 24px;
}

.about-page-hero {
	background: var(--brick);
	color: var(--ink);
	min-height: 932px;
	overflow: hidden;
	position: relative;
}

.about-page-hero__image,
.about-page-hero__wash {
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
}

.about-page-hero__image {
	object-fit: cover;
	object-position: center top;
}

.about-page-hero__wash {
	background: linear-gradient(90deg, rgba(248, 245, 232, .14), rgba(248, 245, 232, 0) 42%, rgba(68, 0, 0, .08));
	pointer-events: none;
}

.about-page-hero__title {
	color: var(--wine);
	font-size: clamp(74px, 9.3vw, 134px);
	letter-spacing: -.06em;
	line-height: .86;
	margin: 0;
	position: absolute;
	text-align: center;
	text-transform: uppercase;
	top: 128px;
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	z-index: 3;
}

.has-reveal .about-page-hero__title.reveal {
	transform: translate(-50%, 28px);
}

.has-reveal .about-page-hero__title.reveal.is-visible {
	transform: translate(-50%, 0);
}

.about-page-hero__stat {
	position: absolute;
	width: 272px;
	z-index: 3;
}

.about-page-hero__stat h2 {
	color: var(--ink);
	font-size: clamp(28px, 2.08vw, 30px);
	letter-spacing: -.03em;
	line-height: 1.128;
	margin: 0;
	text-transform: uppercase;
}

.about-page-hero__stat--left {
	left: calc(var(--gutter) + 55px);
	top: 455px;
}

.about-page-hero__stat--bottom {
	left: calc(var(--gutter) + 166px);
	top: 692px;
	width: 188px;
}

.about-page-hero__stat--right {
	right: calc(var(--gutter) + 55px);
	top: 495px;
	width: 217px;
}

.about-page-hero__shape {
	object-fit: fill;
	position: absolute;
	width: 106px;
	z-index: 2;
}

.about-page-hero__shape--left {
	height: 226px;
	left: calc(var(--gutter) + 277px);
	top: 455px;
}

.about-page-hero__shape--bottom {
	height: 186px;
	left: calc(var(--gutter) + 332px);
	top: 692px;
}

.about-page-hero__shape--right {
	height: 186px;
	right: calc(var(--gutter) + 166px);
	top: 574px;
}

.about-page-hero__button {
	align-items: center;
	background: var(--brick);
	color: var(--white);
	min-height: 68px;
	position: absolute;
	right: var(--gutter);
	top: 771px;
	width: 217px;
	z-index: 3;
}

.about-page-story {
	background: var(--cream);
	min-height: 1131px;
	overflow: hidden;
	padding: 118px 0 140px;
}

.about-page-story__heading,
.about-page-story__columns {
	display: grid;
	grid-template-columns: repeat(24, minmax(0, 1fr));
}

.about-page-story__heading h2 {
	align-self: start;
	color: var(--brick);
	font-size: clamp(46px, 3.88vw, 56px);
	grid-column: 5 / 11;
	grid-row: 1;
	letter-spacing: -.04em;
	line-height: 1.08;
	margin: 0;
	text-transform: uppercase;
}

.about-page-story__heading p {
	align-self: start;
	color: var(--brick);
	font-family: "Instrument Serif", Georgia, serif;
	font-size: clamp(46px, 3.88vw, 56px);
	grid-column: 7 / 19;
	grid-row: 1;
	letter-spacing: -.04em;
	line-height: 1.08;
	margin: 79px 0 0;
	text-transform: uppercase;
}

.about-page-story__columns {
	margin-top: 38px;
}

.about-page-story__lead {
	grid-column: 6 / 13;
	max-width: 380px;
}

.about-page-story__text {
	grid-column: 13 / 20;
	max-width: 380px;
}

.about-page-story__lead p {
	font-size: clamp(20px, 1.57vw, 22.64px);
	line-height: 1.5;
	margin: 0;
}

.about-page-story__text p {
	margin-bottom: 28px;
	white-space: normal;
}

.about-page-story__text .pill-button {
	align-items: center;
	background: var(--brick);
	margin-top: 3px;
	min-height: 68px;
}

.default-page {
	min-height: 70vh;
	padding-bottom: 100px;
	padding-top: 150px;
}

.default-page h1 {
	color: var(--brick);
	font-size: clamp(58px, 8vw, 110px);
}

@media (max-width: 960px) {
	.site-header__inner {
		gap: 17px;
	}

	.primary-navigation,
	.site-header__actions {
		gap: 14px;
	}

	.pill-button--header {
		display: none;
	}

	.references__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.services-page-card {
		grid-template-columns: 84px 1fr;
	}

	.services-page-card__details {
		grid-column: 2;
	}

	.contact-page-hero__content {
		left: 57vw;
		width: 38vw;
	}

	.contact-page-details__grid,
	.contact-page-form__inner {
		grid-template-columns: 1fr 1.15fr;
	}

	.about-page-hero {
		min-height: 840px;
	}

	.about-page-hero__title {
		font-size: clamp(68px, 11vw, 104px);
		top: 126px;
	}

	.about-page-hero__stat--left {
		left: var(--gutter);
		top: 355px;
	}

	.about-page-hero__stat--bottom {
		left: var(--gutter);
		top: 592px;
	}

	.about-page-hero__stat--right {
		right: var(--gutter);
		top: 470px;
	}

	.about-page-hero__shape--left {
		left: calc(var(--gutter) + 245px);
		top: 355px;
	}

	.about-page-hero__shape--bottom {
		left: calc(var(--gutter) + 172px);
		top: 592px;
	}

	.about-page-hero__shape--right {
		right: calc(var(--gutter) + 214px);
		top: 545px;
	}

	.about-page-hero__button {
		right: var(--gutter);
		top: 700px;
	}

	.about-page-story__heading h2 {
		grid-column: 3 / 11;
	}

	.about-page-story__heading p {
		grid-column: 5 / 22;
	}

	.about-page-story__lead {
		grid-column: 3 / 12;
	}

	.about-page-story__text {
		grid-column: 13 / 23;
	}
}

@media (max-width: 767px) {
	:root {
		--gutter: 6vw;
		--header-height: 83px;
	}

	body.admin-bar .site-header {
		top: 46px;
	}

	.site-header {
		background: var(--brick);
		padding: 23px 0;
	}

	.site-logo {
		font-size: 37px;
		line-height: 1;
	}

	.menu-toggle {
		display: block;
		margin-left: 12px;
		order: 3;
	}

	.primary-navigation {
		background: var(--wine);
		display: none;
		flex-direction: column;
		inset: 84px 0 auto;
		padding: 34px var(--gutter) 40px;
		position: fixed;
	}

	.menu-open .primary-navigation {
		display: flex;
	}

	.primary-navigation a {
		font-family: "Instrument Serif", Georgia, serif;
		font-size: 37px;
	}

	.site-header__actions {
		display: none;
	}

	.menu-toggle {
		margin-left: auto;
	}

	.menu-toggle::before,
	.menu-toggle span:not(.screen-reader-text) {
		display: block;
		margin: 0;
	}

	.menu-toggle::before {
		top: 12px;
	}

	.menu-toggle span:not(.screen-reader-text) {
		top: 25px;
	}

	.menu-toggle::after {
		display: none;
	}

	.social-link {
		font-size: 10px;
	}

	.services-page-hero {
		display: flex;
		flex-direction: column;
		min-height: 0;
		padding-top: 84px;
	}

	.services-page-hero__media {
		height: 430px;
		position: relative;
		top: auto;
		width: 100%;
	}

	.services-page-hero__media img {
		object-position: center 15%;
	}

	.services-page-hero__content {
		left: auto;
		max-width: none;
		padding: 58px var(--gutter) 78px;
		position: relative;
		top: auto;
		width: 100%;
	}

	.services-page-hero h1 {
		font-size: 56px;
		line-height: .96;
		margin-bottom: 20px;
	}

	.services-page-hero .pill-button {
		min-height: 59px;
		width: 169px;
	}

	.services-page-list__inner {
		padding-bottom: 76px;
		padding-top: 46px;
	}

	.services-page-card {
		display: block;
		padding: 38px 0 42px;
	}

	.services-page-card__number {
		font-size: 56px;
		margin-bottom: 20px;
	}

	.services-page-card h2 {
		font-size: 30px;
		line-height: 1.08;
	}

	.services-page-card h3 {
		font-size: 26px;
		margin-top: 24px;
	}

	.services-page-final {
		padding: 82px 0 88px;
		text-align: left;
	}

	.services-page-final h2 {
		font-size: 28px;
		line-height: 1.08;
	}

	.services-page-final p {
		margin-left: 0;
	}

	.contact-page-hero {
		display: flex;
		flex-direction: column;
		min-height: 0;
		padding-top: 84px;
	}

	.contact-page-hero__media {
		height: 430px;
		position: relative;
		top: auto;
		width: 100%;
	}

	.contact-page-hero__media img {
		object-position: center 45%;
	}

	.contact-page-hero__content {
		left: auto;
		max-width: none;
		padding: 58px var(--gutter) 74px;
		position: relative;
		top: auto;
		width: 100%;
	}

	.contact-page-hero h1 {
		font-size: 56px;
		line-height: .96;
	}

	.contact-page-details {
		padding: 82px 0 86px;
	}

	.contact-page-details__grid,
	.contact-page-form__inner {
		display: block;
	}

	.contact-page-details h2,
	.contact-page-form__heading h2 {
		font-size: 28px;
		line-height: 1.08;
	}

	.contact-page-details__list {
		margin-top: 34px;
	}

	.contact-page-row {
		display: block;
		padding: 18px 0;
	}

	.contact-page-row span {
		display: block;
		margin-bottom: 8px;
	}

	.contact-page-row a,
	.contact-page-row strong {
		font-size: 28px;
		line-height: 1.08;
		overflow-wrap: anywhere;
	}

	.contact-page-form {
		padding: 82px 0 88px;
	}

	.contact-page-form__form {
		margin-top: 42px;
	}

	.about-page-hero {
		min-height: 724px;
	}

	.about-page-hero__image {
		object-position: 32% top;
	}

	.about-page-hero__wash {
		background: linear-gradient(180deg, rgba(248, 245, 232, .2), rgba(248, 245, 232, 0) 45%, rgba(68, 0, 0, .16));
	}

	.about-page-hero__title {
		font-size: clamp(54px, 15vw, 72px);
		top: 128px;
	}

	.about-page-hero__stat {
		width: 126px;
	}

	.about-page-hero__stat h2 {
		font-size: 21px;
		line-height: 1.13;
	}

	.about-page-hero__stat--left {
		left: var(--gutter);
		top: 235px;
	}

	.about-page-hero__stat--right {
		left: var(--gutter);
		right: auto;
		top: 480px;
	}

	.about-page-hero__stat--bottom {
		left: var(--gutter);
		top: 375px;
		width: 126px;
	}

	.about-page-hero__shape {
		height: 59px;
		width: 82px;
	}

	.about-page-hero__shape--left {
		left: calc(var(--gutter) + 134px);
		right: auto;
		top: 272px;
	}

	.about-page-hero__shape--right {
		left: calc(var(--gutter) + 128px);
		right: auto;
		top: 548px;
	}

	.about-page-hero__shape--bottom {
		left: calc(var(--gutter) + 82px);
		top: 414px;
	}

	.about-page-hero__button {
		left: var(--gutter);
		min-height: 59px;
		right: auto;
		top: 655px;
		width: 169px;
	}

	.hero,
	.hero__content {
		min-height: 660px;
	}

	.hero .media-background img {
		object-position: 58% center;
	}

	.hero__content {
		justify-content: flex-end;
		padding-bottom: 80px;
		padding-top: 130px;
	}

	.hero h1 {
		font-size: 35px;
		line-height: 1.056;
		max-width: 258px;
	}

	.hero h1 em {
		display: inline;
	}

	.intro {
		min-height: 1010px;
		padding-bottom: 122px;
		padding-top: 86px;
	}

	.intro__inner {
		top: calc(var(--header-height) + 42px);
	}

	.intro h2 {
		font-size: 28px;
		line-height: 1.08;
		margin-left: auto;
		margin-right: auto;
		max-width: 343px;
	}

	.intro p {
		font-size: 14px;
		line-height: 1.45;
		max-width: 343px;
	}

	.intro__scroll-asset--phone {
		bottom: 24%;
		left: -5vw;
		width: 32vw;
	}

	.intro__scroll-asset--record {
		bottom: 9%;
		right: -4vw;
		width: 29vw;
	}

	.intro__ornament--circle {
		height: 120px;
		left: -22px;
		top: 40px;
		width: 120px;
	}

	.about {
		display: block;
		min-height: 0;
		padding: 62px 0 74px;
	}

	.about__grid,
	.contact__grid {
		display: block;
	}

	.about__grid {
		min-height: 0;
	}

	.photo-collage {
		margin-bottom: 25px;
		min-height: 390px;
	}

	.photo-collage__main {
		left: 2%;
		width: 65%;
	}

	.photo-collage__strip {
		left: 55%;
		top: 27%;
		width: 33%;
	}

	.photo-collage__tape {
		left: 19%;
	}

	.about h2 {
		font-size: 28px;
		line-height: 1.08;
	}

	.about__content {
		margin-left: 0;
		margin-top: 0;
		max-width: none;
	}

	.logos-strip__inner {
		gap: 15px;
		grid-template-columns: repeat(2, 1fr);
		text-align: center;
	}

	.logos-strip p {
		grid-column: 1 / -1;
	}

	.logo-item:last-child {
		grid-column: 1 / -1;
	}

	.video-quote {
		min-height: 600px;
	}

	.video-quote .media-background img {
		object-position: 56% center;
	}

	.video-quote h2 {
		font-size: 28px;
	}

	.services {
		padding-bottom: 76px;
	}

	.services__heading {
		padding: 67px 0 35px;
	}

	.services h2 {
		font-size: 28px;
		line-height: 1.08;
	}

	.service-card {
		gap: 16px;
		grid-template-columns: 55px 1fr;
		padding: 25px 0;
	}

	.service-card__number {
		font-size: 30px;
	}

	.service-card h3 {
		font-size: 28px;
	}

	.references {
		min-height: 0;
		padding: 82px 0 85px;
	}

	.references__heading {
		display: block;
		max-width: none;
		margin-bottom: 40px;
		position: static;
		text-align: left;
	}

	.references__heading h2 {
		font-size: 28px;
		margin-bottom: 18px;
	}

	.references__heading p {
		margin-left: 0;
	}

	.references__grid {
		display: block;
		min-height: 0;
	}

	.reference-card {
		position: static;
		width: auto;
		min-height: 0;
		padding: 0;
	}

	.reference-card + .reference-card {
		margin-top: 72px;
	}

	.reference-card h3 {
		font-size: 28px;
		line-height: 1.13;
	}

	.contact {
		padding: 84px 0 72px;
	}

	.about-page-story {
		min-height: 0;
		padding: 82px 0 88px;
	}

	.about-page-story__heading,
	.about-page-story__columns {
		display: block;
	}

	.about-page-story__heading h2,
	.about-page-story__heading p {
		font-size: 28px;
		line-height: 1.08;
		max-width: 343px;
	}

	.about-page-story__heading p {
		margin: 16px 0 0;
	}

	.about-page-story__columns {
		margin-top: 40px;
	}

	.about-page-story__lead,
	.about-page-story__text {
		max-width: none;
	}

	.about-page-story__lead {
		margin-bottom: 28px;
	}

	.about-page-story__lead p {
		font-size: 20px;
	}

	.contact h2 {
		font-size: 28px;
	}

	.contact__intro img {
		display: none;
	}

	.contact__form-wrap {
		margin-top: 42px;
	}

	.contact-form {
		display: block;
	}

	.contact-form label {
		margin-bottom: 20px;
	}

	.site-footer__top {
		padding-bottom: 74px;
		padding-top: 80px;
	}

	.site-footer__top h2 {
		font-size: 28px;
		line-height: 1.08;
	}

	.site-footer__grid {
		grid-template-columns: repeat(2, 1fr);
		padding-bottom: 48px;
		padding-top: 46px;
	}

	.site-footer__grid > div:first-child {
		grid-column: 1 / -1;
	}

	.site-footer__bottom {
		display: grid;
		gap: 4px;
	}
}
