/* Underiva 1.1 — a quieter, image-led fashion system. */
:root {
	--ink: #161514;
	--paper: #fff;
	--soft: #f4f2ef;
	--wine: #6f3340;
	--line: #dedbd7;
	--muted: #77726d;
	--serif: "Baskerville", "Iowan Old Style", "Times New Roman", serif;
	--sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
	--shell: min(1500px, calc(100vw - 48px));
}

body {
	background: var(--paper);
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: .005em;
}

.announcement {
	height: 28px;
	font-size: 9px;
	font-weight: 500;
	letter-spacing: .19em;
}

.site-header {
	background: rgba(255, 255, 255, .98);
	border-color: #e8e6e3;
	transition: background .25s ease, color .25s ease, box-shadow .25s ease;
}

.header-main {
	height: 82px;
	gap: 28px;
}

.wordmark {
	font-family: var(--serif);
	font-size: 28px;
	font-weight: 400;
	letter-spacing: .21em;
}

.desktop-nav {
	gap: clamp(12px, 1.65vw, 27px);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .13em;
}

.desktop-nav > a,
.nav-mega-trigger > a {
	padding-block: 34px 32px;
}

.icon-button svg {
	width: 20px;
	height: 20px;
	stroke-width: 1.3;
}

.saved-count {
	background: var(--ink);
}

.home .site-header {
	position: absolute;
	top: 28px;
	left: 0;
	right: 0;
	background: transparent;
	border-color: rgba(255, 255, 255, .28);
	color: #fff;
	backdrop-filter: none;
}

.home .site-header.is-scrolled {
	position: fixed;
	top: 0;
	background: rgba(255, 255, 255, .97);
	border-color: #e8e6e3;
	box-shadow: 0 4px 22px rgba(20, 18, 17, .05);
	color: var(--ink);
	backdrop-filter: blur(12px);
}

.home .site-header:not(.is-scrolled) .saved-count {
	background: #fff;
	color: var(--ink);
}

.mega-menu,
.mobile-drawer,
.search-drawer,
.saved-drawer {
	background: #fff;
	color: var(--ink);
}

.mega-menu {
	padding-top: 44px;
	padding-bottom: 44px;
	box-shadow: 0 25px 55px rgba(0, 0, 0, .08);
}

.mega-menu h3 {
	font: 500 11px/1.2 var(--sans);
	letter-spacing: .12em;
	text-transform: uppercase;
}

.eyebrow {
	margin-bottom: 10px;
	font-size: 9px;
	font-weight: 500;
	letter-spacing: .2em;
}

.button {
	min-height: 46px;
	padding-inline: 25px;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: .16em;
}

.button-dark:hover {
	background: #4f2630;
	border-color: #4f2630;
}

.text-link {
	gap: 7px;
	font-size: 12px;
	line-height: 1.9;
}

.hero,
.hero-copy {
	min-height: min(88vh, 890px);
}

.hero:after {
	background: linear-gradient(90deg, rgba(12, 10, 9, .46), rgba(12, 10, 9, .11) 52%, transparent 75%);
}

.hero-copy {
	justify-content: flex-end;
	padding-bottom: clamp(70px, 9vh, 110px);
}

.hero h1 {
	margin: 4px 0 22px;
	font: 400 clamp(58px, 6.4vw, 96px)/.9 var(--serif);
	letter-spacing: -.04em;
}

.hero h1 em {
	font-weight: 400;
}

.hero-copy > p:not(.eyebrow) {
	max-width: 370px;
	margin: 0 0 25px;
	font-size: 15px;
}

.hero .button-dark {
	background: #fff;
	color: var(--ink);
}

.section {
	padding-block: 82px;
}

.section-soft {
	padding-block: 76px;
	background: var(--soft);
}

.section-heading {
	margin-bottom: 31px;
}

.section-heading h2,
.size-section h2,
.seo-intro h2 {
	font: 400 clamp(27px, 2.65vw, 40px)/1.08 var(--sans);
	letter-spacing: -.035em;
}

.category-grid {
	gap: 10px;
}

.category-tile:after {
	inset: 55% 0 0;
	background: linear-gradient(transparent, rgba(0, 0, 0, .48));
}

.category-tile span {
	left: 18px;
	bottom: 17px;
	font: 400 14px/1.2 var(--sans);
	letter-spacing: .01em;
}

.category-tile svg {
	width: 15px;
}

.style-rail {
	gap: 10px;
}

.style-art {
	position: relative;
	margin-bottom: 11px;
	background: #e7e3de;
}

.style-art img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .65s var(--ease);
}

.style-rail a:nth-child(2) .style-art img,
.style-rail a:nth-child(5) .style-art img {
	object-position: 68% center;
}

.style-rail a:nth-child(3) .style-art img,
.style-rail a:nth-child(6) .style-art img {
	object-position: 78% center;
}

.style-rail a:hover .style-art img {
	transform: scale(1.025);
}

.style-rail strong {
	font: 400 13px/1.35 var(--sans);
}

.style-rail small {
	display: block;
	margin-top: 2px;
	color: var(--muted);
	font-size: 10px;
}

.size-section {
	padding-block: 78px;
	background: #6a353f;
}

.size-layout {
	align-items: center;
}

.size-layout > div > p:last-child {
	font-size: 14px;
}

.size-form label,
.fit-finder label {
	font-size: 9px;
	font-weight: 500;
	letter-spacing: .13em;
}

.size-form select {
	background: transparent;
}

.product-grid,
.products.columns-4 {
	gap: 42px 10px;
}

.product-media {
	background: #f1efec;
}

.product-media img {
	transition-duration: .7s;
}

.product-badge {
	top: 10px;
	left: 10px;
	padding: 4px 6px;
	font-size: 8px;
	font-weight: 500;
}

.product-media .save-product {
	top: 7px;
	right: 7px;
	width: 36px;
	height: 36px;
	background: transparent;
}

.product-info {
	padding-top: 11px;
}

.product-brand {
	margin-bottom: 3px;
	color: var(--muted);
	font-size: 8px;
	font-weight: 500;
	letter-spacing: .16em;
}

.product-info h3 {
	font: 400 13px/1.35 var(--sans);
}

.product-price {
	margin-top: 5px;
	font-size: 12px;
	font-weight: 400;
}

.retailer-count {
	margin-top: 3px;
	font-size: 10px;
}

.editorial-promo {
	grid-template-columns: 1fr 1fr;
	min-height: 660px;
	background: #171615;
}

.editorial-copy {
	padding: clamp(55px, 8vw, 120px);
}

.editorial-copy h2 {
	font: 400 clamp(52px, 5.6vw, 84px)/.94 var(--serif);
	letter-spacing: -.04em;
}

.editorial-copy em {
	color: #d0aeb3;
}

.editorial-copy > p:not(.eyebrow) {
	font-size: 14px;
	line-height: 1.65;
}

.occasion-grid a {
	padding-block: 23px;
	font: 400 15px/1.2 var(--sans);
}

.brands-section {
	padding-block: 76px;
	background: #eeeae6;
}

.brand-strip a {
	min-height: 108px;
	font: 400 15px/1.3 var(--serif);
	letter-spacing: .02em;
}

.edit-grid {
	gap: 12px;
}

.edit-art {
	position: relative;
	margin-bottom: 17px;
	background: #e4dfda;
}

.edit-art:after {
	content: "";
	position: absolute;
	inset: 55% 0 0;
	background: linear-gradient(transparent, rgba(0, 0, 0, .34));
}

.edit-art img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .65s var(--ease);
}

.edit-grid article:nth-child(3n + 2) .edit-art img {
	object-position: 68% center;
}

.edit-grid article:nth-child(3n + 3) .edit-art img {
	object-position: 78% center;
}

.edit-art:hover img {
	transform: scale(1.025);
}

.edit-art span {
	position: absolute;
	z-index: 2;
	right: 14px;
	bottom: 10px;
	font: 400 10px/1 var(--sans);
	letter-spacing: .15em;
	opacity: .85;
}

.edit-grid h3,
.edit-grid h2 {
	margin: 7px 0 10px;
	font: 400 18px/1.25 var(--sans);
	letter-spacing: -.015em;
}

.edit-grid p {
	font-size: 12px;
	line-height: 1.55;
}

.seo-intro {
	padding-block: 76px;
}

.seo-intro .columns {
	font-size: 13px;
	line-height: 1.7;
}

.newsletter {
	padding-block: 58px;
	background: #6a353f;
}

.newsletter h2 {
	font: 400 clamp(30px, 3.1vw, 46px)/1 var(--serif);
}

.site-footer {
	padding-top: 72px;
	background: #151414;
}

.footer-grid h3 {
	font: 500 10px/1.2 var(--sans);
	letter-spacing: .14em;
	text-transform: uppercase;
}

.footer-grid nav a {
	font-size: 12px;
}

.archive-hero {
	padding: 52px 0 38px;
	text-align: center;
	border-bottom: 1px solid var(--line);
}

.archive-hero .breadcrumbs {
	display: none;
}

.archive-hero h1,
.page-hero h1,
.article h1 {
	margin: 6px 0 13px;
	font: 400 clamp(30px, 3.2vw, 46px)/1.05 var(--sans);
	letter-spacing: -.035em;
}

.archive-hero .term-description {
	max-width: 720px;
	margin-inline: auto;
	font-size: 12px;
}

.catalogue {
	display: block;
	padding-top: 30px;
	padding-bottom: 85px;
}

.catalogue-main .product-grid,
.catalogue-main .products.columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.catalogue-tools {
	margin-bottom: 20px;
	padding-bottom: 13px;
	font-size: 11px;
}

.catalogue-tools .woocommerce-ordering {
	display: block;
}

.catalogue-tools select {
	font-size: 11px;
}

.filter-toggle {
	display: block;
	order: -1;
	margin-right: auto;
	font-size: 11px;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.catalogue-tools p {
	margin-right: 0;
}

.filters {
	position: fixed;
	z-index: 302;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(420px, 94vw);
	height: 100dvh;
	padding: 72px 28px 30px;
	background: #fff;
	overflow-y: auto;
	transform: translateX(105%);
	transition: transform .25s var(--ease);
}

.filters.open {
	transform: none;
}

.filter-close {
	display: grid;
}

.filters h2 {
	font: 400 24px/1.1 var(--sans);
}

.filters summary,
.detail-meta strong,
.product-accordions summary {
	font-weight: 500;
}

.archive-copy {
	padding-block: 72px;
	background: var(--soft);
}

.archive-copy h2 {
	font: 400 32px/1.1 var(--sans);
	letter-spacing: -.03em;
}

.product-detail {
	padding-bottom: 90px;
}

.product-detail > .breadcrumbs {
	padding-block: 19px;
}

.product-layout {
	grid-template-columns: minmax(0, 1fr) minmax(390px, 1fr);
	gap: clamp(40px, 7vw, 105px);
}

.product-gallery {
	gap: 8px;
}

.product-summary {
	top: 115px;
	padding-top: 52px;
}

.product-summary h1 {
	margin: 8px 0 8px;
	font: 400 clamp(20px, 2vw, 28px)/1.2 var(--sans);
	letter-spacing: -.025em;
}

.detail-price {
	margin: 0 0 22px;
	font-size: 14px;
}

.product-intro {
	font-size: 13px;
	line-height: 1.65;
}

.detail-meta {
	padding-block: 13px;
	font-size: 11px;
}

.button-save {
	margin-block: 14px 10px;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: .11em;
}

.offers {
	margin-top: 27px;
}

.offers-heading h2 {
	font: 400 22px/1.15 var(--sans);
	letter-spacing: -.02em;
}

.offer-card {
	padding-block: 16px;
}

.offer-card h3 {
	font: 400 14px/1.3 var(--sans);
}

.offer-action strong {
	font-size: 14px;
	font-weight: 500;
}

.offer-action .button {
	min-height: 39px;
	padding-inline: 16px;
}

.page-hero {
	padding-block: 70px 34px;
	text-align: center;
}

.page-hero > p:last-child {
	font-size: 14px;
}

.edit-grid-full {
	row-gap: 58px;
}

.edit-grid-full .edit-art {
	aspect-ratio: 4 / 3;
}

.edit-grid-full article > p:not(.eyebrow) {
	color: var(--muted);
}

.brand-directory a {
	min-height: 170px;
	background: #f5f3f0;
}

.brand-directory strong,
.retailer-directory h2 {
	font-family: var(--sans);
	font-weight: 400;
}

@media (max-width: 1180px) {
	:root {
		--shell: calc(100vw - 36px);
	}

	.header-main {
		gap: 18px;
	}

	.desktop-nav {
		gap: 12px;
	}

	.catalogue-main .product-grid,
	.catalogue-main .products.columns-4 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	:root {
		--shell: calc(100vw - 28px);
	}

	.header-main {
		height: 64px;
	}

	.wordmark {
		font-size: 23px;
	}

	.home .site-header {
		top: 28px;
	}

	.home .site-header.is-scrolled {
		top: 0;
	}

	.hero,
	.hero-copy {
		min-height: min(88svh, 760px);
	}

	.hero-copy {
		padding-bottom: 54px;
	}

	.hero h1 {
		font-size: clamp(54px, 12vw, 76px);
	}

	.section,
	.section-soft {
		padding-block: 60px;
	}

	.category-grid {
		gap: 7px;
	}

	.style-rail > a {
		flex-basis: 38vw;
	}

	.size-section {
		padding-block: 62px;
	}

	.product-grid,
	.products.columns-4,
	.catalogue-main .product-grid,
	.catalogue-main .products.columns-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 34px 7px;
	}

	.editorial-promo {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.editorial-image {
		height: 76vw;
	}

	.editorial-copy {
		padding: 62px 28px 68px;
	}

	.product-summary {
		padding-top: 18px;
	}
}

@media (max-width: 520px) {
	.hero,
	.hero-copy {
		min-height: calc(100svh - 28px);
	}

	.hero > img {
		object-position: 61% center;
	}

	.hero:after {
		background: linear-gradient(0deg, rgba(12, 10, 9, .62), rgba(12, 10, 9, .06) 72%);
	}

	.hero h1 {
		font-size: 53px;
	}

	.hero-copy > p:not(.eyebrow) {
		font-size: 13px;
	}

	.section-heading h2,
	.size-section h2,
	.seo-intro h2 {
		font-size: 28px;
	}

	.category-tile span {
		left: 12px;
		bottom: 12px;
		font-size: 12px;
	}

	.style-rail > a {
		flex-basis: 62vw;
	}

	.style-rail strong {
		font-size: 12px;
	}

	.product-info h3 {
		font-size: 12px;
	}

	.product-price {
		font-size: 11px;
	}

	.editorial-copy h2 {
		font-size: 50px;
	}

	.edit-grid,
	.edit-grid-full {
		gap: 45px;
	}

	.edit-grid h3,
	.edit-grid h2 {
		font-size: 17px;
	}

	.catalogue {
		padding-top: 20px;
	}

	.catalogue-tools {
		gap: 12px;
	}

	.catalogue-tools .woocommerce-ordering {
		display: none;
	}

	.archive-hero {
		padding-block: 40px 30px;
	}

	.archive-hero h1,
	.page-hero h1,
	.article h1 {
		font-size: 30px;
	}

	.product-summary h1 {
		font-size: 22px;
	}

	.offer-card {
		gap: 10px;
	}

	.page-hero {
		padding-block: 52px 20px;
	}
}
