/* LMWILL — stone & cobalt */

@font-face {
	font-family: "Schibsted Grotesk";
	src: url("../fonts/schibsted-grotesk-latin-wght-normal.woff2") format("woff2-variations");
	font-weight: 400 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Crimson Pro";
	src: url("../fonts/crimson-pro-latin-wght-normal.woff2") format("woff2-variations");
	font-weight: 200 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Crimson Pro";
	src: url("../fonts/crimson-pro-latin-wght-italic.woff2") format("woff2-variations");
	font-weight: 200 900;
	font-style: italic;
	font-display: swap;
}

:root {
	--text: #1E2126;
	--bg: #F9F9F8;
	--bg-2: #ECEDEE;
	--deep: #1C2433;
	--accent: #2E4FA3;
	--accent-text: #FFFFFF;
	--border: #D6D8DB;
	--muted: #585E67;
	--stone: #D9D2C5;
	--sans: "Schibsted Grotesk", "Helvetica Neue", Helvetica, sans-serif;
	--serif: "Crimson Pro", Georgia, "Times New Roman", serif;
	--gut: clamp(16px, 3.6vw, 56px);
	--r: 4px;
	--r-lg: 10px;
	--ease: cubic-bezier(.2, .7, .1, 1);
	--hdr-h: 104px;
	--sec: clamp(64px, 9vw, 132px);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--hdr-h) + 16px); }
body {
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font-family: var(--serif);
	font-size: clamp(18px, 1.12vw, 20px);
	line-height: 1.5;
	font-feature-settings: "kern", "liga", "onum";
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
img, video { display: block; max-width: 100%; height: auto; }
.wall__item img { aspect-ratio: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover { color: var(--accent); }
button { font: inherit; color: inherit; }
h1, h2, h3, h4 { font-family: var(--sans); font-weight: 500; letter-spacing: -.02em; line-height: 1.02; margin: 0; }
em { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.01em; }
h1 em, h2 em, p em { color: var(--accent); }
figure { margin: 0; }
p { margin: 0 0 1em; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
::selection { background: var(--accent); color: #fff; }

.sr, .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: 8px; z-index: 200; background: var(--accent); color: #fff; padding: 10px 16px; font-family: var(--sans); }
.skip:focus { left: 8px; }

.kicker {
	font-family: var(--sans);
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--muted);
	margin: 0 0 20px;
	display: flex;
	align-items: center;
	gap: 12px;
}
.kicker::before { content: ""; width: 28px; height: 1px; background: var(--accent); }
.kicker--light { color: #C9CFDA; }

/* underline link: the button style of this site */
.u-link {
	--c: currentColor;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--sans);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .02em;
	text-decoration: none;
	padding: 6px 0 7px;
	background: linear-gradient(var(--accent), var(--accent)) left bottom / 100% 1px no-repeat,
		linear-gradient(currentColor, currentColor) left bottom / 100% 1px no-repeat;
	background-size: 0 2px, 100% 1px;
	transition: background-size .45s var(--ease), color .2s;
	cursor: pointer;
	border: 0;
	white-space: nowrap;
}
.u-link .arrow { transition: transform .35s var(--ease); }
.u-link:hover { color: var(--accent); background-size: 100% 2px, 100% 1px; }
.u-link:hover .arrow { transform: translateX(5px); }
.u-link--light { color: #fff; }
.u-link--light:hover { color: #fff; background-image: linear-gradient(#fff, #fff), linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,.5)); }

.btn-line {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	background: none;
	border: 0;
	border-bottom: 1px solid currentColor;
	padding: 6px 0;
	cursor: pointer;
}
.btn-line:hover { color: var(--accent); border-color: var(--accent); }

/* reveal on scroll */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .9s var(--ease), transform 1.1s var(--ease); }
.reveal.is-in { opacity: 1; transform: none; }
.no-js .reveal { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.reveal { opacity: 1; transform: none; transition: none; }
	html { scroll-behavior: auto; }
}

/* ============ header ============ */
.topline {
	background: var(--deep);
	color: #DCE1EA;
	font-family: var(--sans);
	font-size: 12px;
	letter-spacing: .06em;
	position: relative;
	z-index: 60;
}
.topline__track {
	margin: 0;
	display: flex;
	justify-content: center;
	gap: 0;
	padding: 8px var(--gut);
	flex-wrap: wrap;
}
.topline__track span { padding: 0 18px; position: relative; }
.topline__track span + span::before { content: ""; position: absolute; left: 0; top: 50%; width: 4px; height: 1px; background: #7F97D6; }

.hdr {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(249, 249, 248, .94);
	backdrop-filter: saturate(1.2) blur(10px);
	-webkit-backdrop-filter: saturate(1.2) blur(10px);
	border-bottom: 1px solid var(--border);
	transition: background .4s, color .4s, border-color .4s;
}
.hdr__bar {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 40px;
	padding: 0 var(--gut);
	height: 64px;
}
.wordmark {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	text-decoration: none;
	font-family: var(--sans);
	font-weight: 700;
	font-size: 21px;
	letter-spacing: .2em;
	line-height: 1;
	color: inherit;
}
.wordmark:hover { color: inherit; }
.wordmark__rule { width: 22px; height: 2px; background: var(--accent); transition: width .5s var(--ease); }
.wordmark:hover .wordmark__rule { width: 40px; }
.wordmark__will { margin-right: -.2em; }

.nav, .drawer__nav { list-style: none; margin: 0; padding: 0; }
.nav { display: flex; gap: 30px; }
.nav a {
	font-family: var(--sans);
	font-size: 14px;
	text-decoration: none;
	padding: 22px 0;
	position: relative;
}
.nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 16px; height: 1px; background: var(--accent); transition: right .35s var(--ease); }
.nav a:hover::after, .nav .current-menu-item > a::after { right: 0; }
.nav .sub-menu { display: none; }

.hdr__tools { display: flex; gap: 22px; align-items: center; }
.hdr__tool { font-family: var(--sans); font-size: 14px; text-decoration: none; background: none; border: 0; padding: 0; cursor: pointer; }
.bag-count {
	display: inline-grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	margin-left: 4px;
	border-radius: 10px;
	background: var(--accent);
	color: #fff;
	font-size: 11px;
}
.hdr__burger { display: none; background: none; border: 0; width: 32px; height: 32px; padding: 0; cursor: pointer; position: relative; }
.hdr__burger i { position: absolute; left: 4px; right: 4px; height: 1.5px; background: currentColor; transition: transform .3s var(--ease); }
.hdr__burger i:first-of-type { top: 12px; }
.hdr__burger i:last-of-type { top: 19px; right: 12px; }
.hdr__burger[aria-expanded="true"] i:first-of-type { transform: translateY(3.5px) rotate(45deg); }
.hdr__burger[aria-expanded="true"] i:last-of-type { transform: translateY(-3.5px) rotate(-45deg); right: 4px; }

.search-panel { border-top: 1px solid var(--border); padding: 18px var(--gut); }
.search-panel__form { display: flex; gap: 24px; align-items: end; max-width: 880px; }
.search-panel input[type="search"] {
	flex: 1;
	font-family: var(--serif);
	font-size: 28px;
	border: 0;
	border-bottom: 1px solid var(--text);
	background: transparent;
	padding: 6px 0;
	border-radius: 0;
}
.search-panel input:focus { outline: none; border-color: var(--accent); }

/* transparent header over the hero */
.has-hero .hdr { position: fixed; left: 0; right: 0; top: var(--topline-h, 33px); background: transparent; color: #fff; border-color: rgba(255,255,255,.22); backdrop-filter: none; -webkit-backdrop-filter: none; }
.has-hero .hdr.is-solid, .has-hero .hdr.is-open { top: 0; background: rgba(249, 249, 248, .96); color: var(--text); border-color: var(--border); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.has-hero .hdr:not(.is-solid) .wordmark__rule { background: #fff; }

.drawer { position: fixed; inset: 0; top: var(--hdr-h); background: var(--bg); z-index: 45; padding: 28px var(--gut); overflow: auto; }
.drawer__nav a { display: block; font-family: var(--sans); font-size: 34px; letter-spacing: -.02em; text-decoration: none; padding: 8px 0; border-bottom: 1px solid var(--border); }
.drawer__help { list-style: none; padding: 0; margin: 28px 0 0; font-family: var(--sans); font-size: 15px; display: grid; gap: 10px; }

/* ============ hero ============ */
.hero {
	position: relative;
	height: 100svh;
	min-height: 640px;
	max-height: 1100px;
	color: #fff;
	overflow: hidden;
	background: var(--deep);
	isolation: isolate;
}
.hero__stage { position: absolute; inset: 0; }
.hero__media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transform: scale(1.06);
	transition: opacity 1.2s var(--ease), transform 6s linear;
}
.hero__media.is-active { opacity: 1; transform: scale(1); }
.hero__frame { object-position: 50% 30%; }
.hero__veil {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(20, 26, 38, .5) 0%, rgba(20, 26, 38, 0) 22%),
		linear-gradient(0deg, rgba(20, 26, 38, .72) 0%, rgba(20, 26, 38, .15) 45%, rgba(20, 26, 38, 0) 70%),
		linear-gradient(90deg, rgba(20, 26, 38, .45) 0%, rgba(20, 26, 38, 0) 55%);
}
.hero__thread {
	position: absolute;
	left: var(--gut);
	top: 0;
	width: 1px;
	height: calc(100% - 44vh);
	background: linear-gradient(#fff0, #7F97D6 30%, #fff);
	transform-origin: top;
	animation: thread 1.6s .2s var(--ease) both;
}
@keyframes thread { from { transform: scaleY(0); } }
.hero__copy {
	position: absolute;
	left: var(--gut);
	bottom: clamp(88px, 12vh, 140px);
	max-width: 64vw;
	padding-left: 28px;
	border-left: 1px solid #fff;
}
.hero__eyebrow {
	display: flex;
	gap: 16px;
	align-items: center;
	font-family: var(--sans);
	font-size: 12px;
	letter-spacing: .16em;
	text-transform: uppercase;
	margin-bottom: 24px;
}
.hero__clock {
	font-variant-numeric: tabular-nums;
	background: var(--accent);
	padding: 4px 8px;
	border-radius: 2px;
	letter-spacing: .08em;
}
.hero__title {
	font-size: clamp(44px, 6.2vw, 112px);
	line-height: .9;
	letter-spacing: -.045em;
	font-weight: 500;
	margin-bottom: 26px;
}
.hero__line { display: block; padding-bottom: .06em; white-space: nowrap; }
.hero__line > * , .hero__line { animation: rise 1.3s var(--ease) both; }
.hero__line:nth-child(2) { animation-delay: .12s; }
@keyframes rise { from { opacity: 0; transform: translateY(40%); } }
.hero__title em { color: #fff; font-size: 1.08em; letter-spacing: -.03em; }
.hero__sub { font-size: clamp(18px, 1.4vw, 22px); max-width: 520px; color: #E8EBF0; animation: rise 1.3s .25s var(--ease) both; }
.hero__cta { display: flex; gap: 36px; flex-wrap: wrap; margin: 26px 0 0; animation: rise 1.3s .35s var(--ease) both; }

.hero__week {
	position: absolute;
	right: var(--gut);
	bottom: clamp(88px, 12vh, 140px);
	width: 330px;
	background: rgba(249, 249, 248, .95);
	color: var(--text);
	border-radius: var(--r);
	padding: 18px 20px 16px;
	animation: rise 1.3s .5s var(--ease) both;
	box-shadow: 0 30px 60px -30px rgba(10, 16, 30, .5);
}
.hero__week-label { font-family: var(--sans); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 0 0 12px; }
.hero__days { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--border); }
.hero__day {
	background: none;
	border: 0;
	border-bottom: 2px solid transparent;
	padding: 10px 0 8px;
	cursor: pointer;
	text-align: left;
	display: grid;
	gap: 2px;
	font-family: var(--sans);
	transition: border-color .3s, color .3s;
}
.hero__day-n { font-size: 10px; color: var(--muted); }
.hero__day-name { font-size: 15px; font-weight: 500; }
.hero__day:hover, .hero__day[aria-selected="true"] { color: var(--accent); border-color: var(--accent); }
.hero__look { padding-top: 12px; min-height: 116px; }
.hero__look[hidden] { display: none; }
.hero__look-title { font-family: var(--sans); font-size: 13px; font-weight: 600; margin: 0 0 6px; }
.hero__look-title span { font-weight: 400; color: var(--muted); margin-left: 6px; }
.hero__look ul { list-style: none; margin: 0; padding: 0; }
.hero__look li { display: flex; justify-content: space-between; gap: 12px; font-size: 16px; line-height: 1.3; padding: 4px 0; border-bottom: 1px dotted var(--border); }
.hero__look li a { text-decoration: none; }
.hero__look li span { font-family: var(--sans); font-size: 13px; white-space: nowrap; }
.hero__look-empty { font-size: 16px; color: var(--muted); margin: 0; }

.hero__day-progress {
	position: absolute;
	left: var(--gut);
	right: var(--gut);
	bottom: 28px;
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 16px;
	align-items: center;
	font-family: var(--sans);
	font-size: 11px;
	letter-spacing: .1em;
	color: #C9CFDA;
}
.hero__day-progress i { height: 1px; background: rgba(255,255,255,.28); position: relative; }
.hero__day-progress b { position: absolute; left: 0; top: -1px; height: 3px; width: 0; background: #fff; }

/* ============ intro ============ */
.intro {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	column-gap: 20px;
	padding: var(--sec) var(--gut) calc(var(--sec) * 1.3);
	align-items: start;
}
.intro__text { grid-column: 1 / 7; padding-top: 40px; }
.intro__title { font-size: clamp(34px, 3.6vw, 60px); margin-bottom: 28px; }
.intro__body { max-width: 46ch; color: #3A3F47; }
.intro__swatches { list-style: none; padding: 0; margin: 36px 0 0; display: flex; gap: 22px; flex-wrap: wrap; font-family: var(--sans); font-size: 12px; }
.intro__swatches li { display: grid; gap: 8px; justify-items: start; }
.intro__swatches li::before { content: ""; width: 44px; height: 58px; border-radius: var(--r); background: var(--sw); box-shadow: inset 0 0 0 1px rgba(0,0,0,.06); }
.intro__a { grid-column: 8 / 12; grid-row: 1 / 3; }
.intro__a img { aspect-ratio: 2 / 3; object-fit: cover; width: 100%; border-radius: var(--r); }
.intro__b { grid-column: 6 / 9; grid-row: 2; margin-top: -90px; position: relative; z-index: 2; transform: translateY(40%); }
.intro__b img { aspect-ratio: 1; object-fit: cover; width: 100%; border-radius: var(--r); box-shadow: 0 0 0 10px var(--bg); }
.intro__b figcaption { font-family: var(--sans); font-size: 12px; color: var(--muted); margin-top: 14px; }

/* ============ feature rows ============ */
.rows { padding: 0 var(--gut) var(--sec); position: relative; }
.rows::before {
	content: "";
	position: absolute;
	top: 180px;
	bottom: var(--sec);
	left: 50%;
	width: 1px;
	background: linear-gradient(var(--accent), var(--accent) 94%, transparent);
	opacity: .55;
}
.rows__head { display: flex; justify-content: space-between; align-items: end; gap: 20px; padding-bottom: 56px; border-bottom: 1px solid var(--text); margin-bottom: 64px; }
.rows__head h2 { font-size: clamp(40px, 5vw, 84px); letter-spacing: -.04em; }
.row {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	column-gap: 20px;
	align-items: center;
	position: relative;
	margin-bottom: clamp(48px, 7vw, 110px);
}
.row__media { display: block; overflow: hidden; border-radius: var(--r); position: relative; z-index: 1; }
.row__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform 1.4s var(--ease); }
.row__media:hover img { transform: scale(1.04); }
.row__text { position: relative; z-index: 1; background: var(--bg); padding: 28px 0; }
.row__n { font-family: var(--sans); font-size: 13px; color: var(--accent); margin: 0 0 10px; letter-spacing: .1em; }
.row__title { font-size: clamp(32px, 3.4vw, 58px); letter-spacing: -.035em; margin-bottom: 18px; }
.row__title a { text-decoration: none; }
.row__blurb { max-width: 38ch; color: #3A3F47; }
.row__picks { list-style: none; margin: 0; padding: 0; display: flex; gap: 16px; position: relative; z-index: 1; }
.row__picks li { width: 132px; }
.row__picks a { text-decoration: none; display: grid; gap: 6px; }
.row__picks img { aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--r); background: var(--bg-2); }
.row__pick-name { font-family: var(--sans); font-size: 12px; line-height: 1.25; }
.row__pick-price { font-family: var(--sans); font-size: 12px; color: var(--muted); }
.row__pick-price del { opacity: .6; margin-right: 4px; }
.row__pick-price ins { text-decoration: none; color: var(--accent); }

.row--l .row__media { grid-column: 1 / 7; grid-row: 1 / 3; }
.row--l .row__text { grid-column: 8 / 12; align-self: end; }
.row--l .row__picks { grid-column: 8 / 13; align-self: start; }
.row--r .row__media { grid-column: 7 / 13; grid-row: 1 / 3; }
.row--r .row__text { grid-column: 2 / 6; grid-row: 1; align-self: end; text-align: right; }
.row--r .row__blurb { margin-left: auto; }
.row--r .row__picks { grid-column: 1 / 6; grid-row: 2; justify-content: flex-end; }
.row--1 .row__media { grid-column: 8 / 12; }
.row--1 .row__media img { aspect-ratio: 3 / 4; }
.row--2 .row__media { grid-column: 2 / 7; }
.row--3 .row__media img { aspect-ratio: 1 / 1; }
.row--4 .row__media { grid-column: 1 / 6; }
.row--4 .row__media img { aspect-ratio: 3 / 4; }
.row--5 .row__media { grid-column: 7 / 12; }

/* ============ pleat band ============ */
.pleat { position: relative; overflow: hidden; background: var(--bg-2); }
.pleat__video { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; }
.pleat__quote {
	position: absolute;
	right: var(--gut);
	bottom: clamp(24px, 5vw, 72px);
	max-width: 520px;
	margin: 0;
	font-family: var(--sans);
	font-size: clamp(22px, 2.4vw, 40px);
	line-height: 1.08;
	letter-spacing: -.03em;
	color: var(--text);
	background: var(--bg);
	padding: 22px 26px;
	border-radius: var(--r);
}

/* ============ product cards ============ */
ul.products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 36px 16px; }
ul.products::before, ul.products::after { display: none; }
ul.products li.product { position: relative; margin: 0; width: auto; float: none; }
.card__media { display: block; position: relative; overflow: hidden; border-radius: var(--r); background: var(--bg-2); aspect-ratio: 3 / 4; margin-bottom: 12px; }
.card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .6s var(--ease), transform 1.2s var(--ease); }
.card__img--hover { opacity: 0; }
li.product:hover .card__img--hover { opacity: 1; }
li.product:hover .card__img { transform: scale(1.03); }
.card__flag { position: absolute; left: 10px; top: 10px; z-index: 2; font-family: var(--sans); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; background: var(--accent); color: #fff; padding: 4px 8px; border-radius: 2px; }
.card__flag--muted { background: var(--text); }
.card__title { font-size: 15px; font-weight: 500; letter-spacing: -.005em; line-height: 1.25; margin: 0 0 2px; }
.card__title a { text-decoration: none; }
.card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.card__colour { font-family: var(--sans); font-size: 13px; color: var(--muted); margin: 0 0 4px; }
li.product .price { font-family: var(--sans); font-size: 14px; display: flex; gap: 8px; align-items: baseline; }
.price del { color: var(--muted); font-size: .9em; }
.price ins { text-decoration: none; color: var(--accent); font-weight: 600; }
.price .screen-reader-text { position: absolute; }

/* ============ new in ============ */
.newin { padding: var(--sec) var(--gut); border-top: 1px solid var(--border); }
.newin__head { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 12px 20px; margin-bottom: 48px; }
.newin__head .kicker { grid-column: 1 / -1; margin: 0; }
.newin__head h2 { font-size: clamp(40px, 5vw, 84px); letter-spacing: -.04em; }
.newin__grid li.newin__editorial { grid-column: span 2; grid-row: span 2; }
.newin__editorial img { width: 100%; height: calc(100% - 40px); object-fit: cover; border-radius: var(--r); }
.newin__editorial figure { height: 100%; }
.newin__editorial figcaption { font-family: var(--sans); font-size: 13px; color: var(--muted); margin-top: 12px; }
.newin__editorial figcaption span { color: var(--accent); margin-right: 8px; }

/* ============ fine line (dark) ============ */
.fine {
	background: var(--deep);
	color: #EDEFF3;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	column-gap: 20px;
	padding: var(--sec) var(--gut);
	position: relative;
	overflow: hidden;
}
.fine::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: linear-gradient(90deg, transparent, rgba(127,151,214,.55), transparent); pointer-events: none; }
.fine__media { grid-column: 1 / 8; grid-row: 1 / 3; border-radius: var(--r); overflow: hidden; position: relative; z-index: 1; }
.fine__media video { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.fine__text { grid-column: 9 / 13; align-self: center; position: relative; z-index: 1; }
.fine__text h2 { font-size: clamp(32px, 3.4vw, 56px); letter-spacing: -.035em; margin-bottom: 24px; }
.fine__text h2 em { color: #9DB2EA; }
.fine__text p { color: #C9CFDA; }
.fine__links { display: flex; gap: 28px; flex-wrap: wrap; margin-top: 28px; }
.fine__still { position: relative; z-index: 2; }
.fine__still img { border-radius: var(--r); aspect-ratio: 3 / 4; object-fit: cover; width: 100%; }
.fine__still--a { grid-column: 6 / 9; grid-row: 3; margin-top: -120px; box-shadow: 0 0 0 10px var(--deep); border-radius: var(--r); }
.fine__still--b { grid-column: 3 / 5; grid-row: 3; margin-top: 60px; }
.fine__list { grid-column: 9 / 13; grid-row: 3; list-style: none; margin: 60px 0 0; padding: 0; align-self: start; position: relative; z-index: 1; }
.fine__list a { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.16); text-decoration: none; font-family: var(--sans); font-size: 14px; }
.fine__list a:hover { color: #9DB2EA; }
.fine__list .price, .fine__list ins { color: #9DB2EA; text-decoration: none; }
.fine__list del { opacity: .6; }

/* ============ collage ============ */
.collage {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-auto-rows: minmax(40px, auto);
	column-gap: 20px;
	padding: var(--sec) var(--gut);
	position: relative;
}
.collage img, .collage video { width: 100%; object-fit: cover; border-radius: var(--r); }
.collage__title { grid-column: 1 / 8; grid-row: 1; font-size: clamp(44px, 6.4vw, 112px); letter-spacing: -.045em; line-height: .92; position: relative; z-index: 3; margin-bottom: -40px; }
.collage__1 { grid-column: 9 / 12; grid-row: 1 / 3; }
.collage__1 img { aspect-ratio: 2 / 3; }
.collage__2 { grid-column: 2 / 7; grid-row: 2 / 4; margin-top: 80px; }
.collage__2 img { aspect-ratio: 3 / 2; }
.collage__3 { grid-column: 7 / 13; grid-row: 3 / 5; margin-top: 60px; }
.collage__3 img { aspect-ratio: 3 / 2; }
.collage__4 { grid-column: 1 / 3; grid-row: 4; margin-top: 40px; }
.collage__4 img { aspect-ratio: 1; }
.collage__video { grid-column: 3 / 7; grid-row: 4 / 6; margin-top: 40px; }
.collage__video video, .collage__video img { aspect-ratio: 16 / 9; }
.collage__note { grid-column: 8 / 13; grid-row: 5; align-self: end; margin: 40px 0 0; }

/* ============ facts ============ */
.facts { padding: var(--sec) var(--gut); background: var(--bg-2); }
.facts__head { display: grid; grid-template-columns: 1fr 2fr; align-items: end; margin-bottom: 56px; }
.facts__head .kicker { margin: 0; }
.facts__head h2 { font-size: clamp(40px, 5vw, 84px); letter-spacing: -.04em; }
.facts__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin: 0; counter-reset: fact; }
.facts__grid > div { border-top: 1px solid var(--text); padding-top: 18px; counter-increment: fact; }
.facts__grid dt { font-family: var(--sans); font-size: 15px; font-weight: 600; margin-bottom: 10px; display: flex; gap: 10px; }
.facts__grid dt::before { content: counter(fact, decimal-leading-zero); color: var(--accent); font-weight: 400; }
.facts__grid dd { margin: 0; color: #3A3F47; max-width: 30ch; }
.facts__links { display: flex; gap: 32px; flex-wrap: wrap; margin: 48px 0 0; }

/* ============ footer ============ */
.ftr { background: var(--bg); border-top: 1px solid var(--text); padding: 64px var(--gut) 28px; }
.ftr__top { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; }
.ftr__lede { font-family: var(--sans); font-size: clamp(20px, 1.8vw, 28px); line-height: 1.15; letter-spacing: -.02em; max-width: 26ch; }
.ftr__contact { color: #3A3F47; font-size: 17px; }
.ftr__contact a { font-family: var(--sans); font-size: 16px; color: var(--accent); }
.ftr__contact span { font-size: 15px; color: var(--muted); }
.ftr__head { font-family: var(--sans); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-bottom: 14px; }
.ftr__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ftr__col a { font-family: var(--sans); font-size: 14px; text-decoration: none; }
.ftr__col a:hover { text-decoration: underline; }
.ftr__cookie { background: none; border: 0; padding: 0; margin-top: 8px; font-family: var(--sans); font-size: 14px; cursor: pointer; }
.ftr__cookie:hover { color: var(--accent); text-decoration: underline; }
.ftr__mark {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2vw;
	margin: 72px 0 24px;
	font-family: var(--sans);
	font-weight: 700;
	font-size: clamp(64px, 17vw, 300px);
	letter-spacing: .02em;
	line-height: .8;
	color: #DDE0E4;
	user-select: none;
}
.ftr__mark i { flex: 1; height: 3px; background: var(--accent); }
.ftr__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; border-top: 1px solid var(--border); padding-top: 18px; font-family: var(--sans); font-size: 12px; color: var(--muted); }
.ftr__base p { margin: 0; }
.operator-line { flex-basis: 100%; }

/* ============ cookie ============ */
.cookie {
	position: fixed;
	left: 16px;
	bottom: 16px;
	z-index: 90;
	width: min(560px, calc(100vw - 32px));
	display: flex;
	gap: 20px;
	align-items: flex-end;
	background: var(--bg);
	border: 1px solid var(--text);
	border-radius: var(--r);
	padding: 18px 20px;
	box-shadow: 0 24px 50px -24px rgba(10, 16, 30, .35);
}
.cookie[hidden] { display: none; }
.cookie__text { font-size: 15px; line-height: 1.35; margin: 0; }
@media (max-width: 600px) { .cookie { display: block; left: 8px; right: 8px; bottom: 8px; width: auto; padding: 12px 14px; } .cookie__text { font-size: 14px; margin-bottom: 8px; } }
.cookie__actions { display: flex; gap: 24px; flex-shrink: 0; }

/* ============ pages ============ */
.page-wrap { padding: clamp(40px, 6vw, 88px) var(--gut) var(--sec); }
.page-head { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: 20px; margin-bottom: clamp(40px, 6vw, 88px); align-items: end; }
.page-head__text { grid-column: 1 / 9; }
.page-head__title { font-size: clamp(44px, 6.4vw, 108px); letter-spacing: -.045em; line-height: .92; }
.page-head__lede { font-size: clamp(20px, 1.6vw, 26px); max-width: 40ch; margin-top: 24px; color: #3A3F47; }
.page-head--media .page-head__text { grid-column: 1 / 7; }
.page-head__media { grid-column: 8 / 13; }
.page-head__media img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; border-radius: var(--r); }
.page-wrap--woo .page-head { margin-bottom: 40px; }
.page-wrap--woo .page-head__title { font-size: clamp(40px, 5vw, 76px); }
.page-body { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: 20px; }
.page-body > .prose { grid-column: 3 / 11; }
.page-body--indexed > .prose { grid-column: 5 / 12; }
.page-body > .woo-body { grid-column: 1 / -1; }
.page-index { grid-column: 1 / 4; position: sticky; top: calc(var(--hdr-h) + 24px); align-self: start; font-family: var(--sans); font-size: 13px; }
.page-index p { letter-spacing: .14em; text-transform: uppercase; color: var(--muted); font-size: 11px; }
.page-index ol { list-style: none; padding: 0; margin: 0; border-left: 1px solid var(--border); counter-reset: idx; }
.page-index li { counter-increment: idx; }
.page-index a { display: block; text-decoration: none; padding: 6px 0 6px 16px; margin-left: -1px; border-left: 1px solid transparent; }
.page-index a::before { content: counter(idx, decimal-leading-zero) "  "; color: var(--accent); }
.page-index a:hover, .page-index a.is-current { border-color: var(--accent); color: var(--accent); }

.prose { max-width: 72ch; }
.prose > * + * { margin-top: 0; }
.prose h2 { font-size: clamp(26px, 2.4vw, 38px); letter-spacing: -.03em; margin: 64px 0 18px; padding-top: 22px; border-top: 1px solid var(--border); }
.prose h2:first-child { margin-top: 0; }
.prose h3 { font-size: 20px; letter-spacing: -.01em; margin: 32px 0 10px; }
.prose ul, .prose ol { padding-left: 1.2em; margin: 0 0 1.2em; }
.prose li { margin-bottom: .45em; }
.prose li::marker { color: var(--accent); }
.prose a { color: var(--accent); }
.prose strong { font-weight: 600; }
.prose table { width: 100%; border-collapse: collapse; margin: 16px 0 32px; font-family: var(--sans); font-size: 14px; }
.prose th, .prose td { text-align: left; padding: 10px 12px 10px 0; border-bottom: 1px solid var(--border); vertical-align: top; }
.prose th { font-weight: 600; border-bottom-color: var(--text); }
.prose figure { margin: 32px 0; }
.prose figure img { border-radius: var(--r); width: 100%; }
.prose figcaption { font-family: var(--sans); font-size: 12px; color: var(--muted); margin-top: 8px; }
.prose .wp-block-table { overflow-x: auto; }
.policy-updated { font-family: var(--sans); font-size: 13px; color: var(--muted); }
.callout { background: var(--bg-2); border-left: 2px solid var(--accent); padding: 18px 22px; margin: 24px 0; border-radius: 0 var(--r) var(--r) 0; }
.callout p:last-child { margin: 0; }
.operator-list { margin: 16px 0 24px; display: grid; gap: 0; font-family: var(--sans); font-size: 15px; }
.operator-list > div { display: grid; grid-template-columns: 180px 1fr; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.operator-list dt { color: var(--muted); }
.operator-list dd { margin: 0; }
.cancel-form { border: 1px solid var(--text); border-radius: var(--r); padding: 24px; margin: 24px 0; }
.cancel-form__title { font-family: var(--sans); font-weight: 600; font-size: 18px; }
.cancel-form__note { font-size: 16px; color: var(--muted); }
.cancel-form ol { font-size: 17px; }
.gallery-strip { display: grid; grid-template-columns: repeat(12, 1fr); gap: 20px; margin: 40px 0; }

.faq details { border-bottom: 1px solid var(--border); padding: 16px 0; }
.faq summary { font-family: var(--sans); font-size: 18px; font-weight: 500; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 20px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--accent); font-weight: 400; transition: transform .3s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details > div { padding-top: 10px; }

/* lookbook page */
.week-page { padding: 0 var(--gut) var(--sec); }
.week-day { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: 20px; align-items: end; margin-bottom: clamp(64px, 9vw, 140px); }
.week-day__img { grid-column: 1 / 7; }
.week-day__img img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--r); }
.week-day__text { grid-column: 8 / 12; padding-bottom: 40px; }
.week-day:nth-child(even) .week-day__img { grid-column: 6 / 12; grid-row: 1; }
.week-day:nth-child(even) .week-day__text { grid-column: 1 / 5; grid-row: 1; }
.week-day__n { font-family: var(--sans); font-size: clamp(80px, 12vw, 200px); font-weight: 500; letter-spacing: -.06em; line-height: .8; color: transparent; -webkit-text-stroke: 1px var(--accent); margin: 0 0 16px; }
.week-day h2 { font-size: clamp(32px, 3.4vw, 56px); letter-spacing: -.035em; margin-bottom: 14px; }
.week-day ul { list-style: none; padding: 0; margin: 20px 0 0; font-family: var(--sans); font-size: 14px; }
.week-day li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.week-day li a { text-decoration: none; }

.wall { margin: var(--sec) 0 0; }
.wall__head { margin-bottom: 40px; }
.wall__head h2 { font-size: clamp(36px, 4.6vw, 76px); letter-spacing: -.04em; }
.wall__grid { columns: 4 260px; column-gap: 16px; }
.wall__item { break-inside: avoid; margin: 0 0 16px; }
.wall__item img { width: 100%; border-radius: var(--r); }
.wall__item figcaption { font-family: var(--sans); font-size: 12px; color: var(--muted); margin-top: 8px; }

/* ============ shop listing ============ */
.plp-head { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: 20px; padding: clamp(32px, 5vw, 72px) var(--gut) 32px; align-items: end; }
.plp-head__text { grid-column: 1 / 8; }
.plp-head__title { font-size: clamp(46px, 6.6vw, 112px); letter-spacing: -.045em; line-height: .92; margin: 18px 0 20px; }
.plp-head__lede { font-size: clamp(19px, 1.5vw, 24px); max-width: 44ch; color: #3A3F47; }
.plp-head__count { font-family: var(--sans); font-size: 13px; color: var(--muted); margin: 0; }
.plp-head__media { grid-column: 9 / 12; transform: translateY(20%); position: relative; z-index: 2; }
.plp-head__media img { aspect-ratio: 3 / 4; width: 100%; object-fit: cover; border-radius: var(--r); box-shadow: 0 0 0 10px var(--bg); }
.plp-cats { display: flex; gap: 28px; padding: 18px calc(25vw + var(--gut)) 18px var(--gut); border-top: 1px solid var(--text); border-bottom: 1px solid var(--border); overflow-x: auto; scrollbar-width: none; position: relative; }
.plp-cats a { font-family: var(--sans); font-size: 14px; white-space: nowrap; text-decoration: none; padding-bottom: 4px; border-bottom: 1px solid transparent; }
.plp-cats a.is-current, .plp-cats a:hover { border-color: var(--accent); color: var(--accent); }
.plp { padding: 28px var(--gut) var(--sec); }
.plp__tools { display: flex; justify-content: flex-end; margin-bottom: 24px; }
.woocommerce-ordering select, .variations select, select {
	font-family: var(--sans);
	font-size: 14px;
	color: var(--text);
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6' fill='%231E2126'/%3E%3C/svg%3E") no-repeat right 4px center;
	border: 0;
	border-bottom: 1px solid var(--text);
	padding: 8px 24px 8px 0;
	appearance: none;
	border-radius: 0;
}
.crumbs { font-family: var(--sans); font-size: 12px; color: var(--muted); display: flex; gap: 8px; flex-wrap: wrap; }
.crumbs a { text-decoration: none; }
.woocommerce-pagination ul { list-style: none; display: flex; gap: 6px; padding: 0; margin: 48px 0 0; justify-content: center; font-family: var(--sans); }
.woocommerce-pagination a, .woocommerce-pagination span { display: grid; place-items: center; min-width: 36px; height: 36px; text-decoration: none; border-bottom: 1px solid transparent; }
.woocommerce-pagination .current { border-color: var(--accent); color: var(--accent); }

/* ============ product page ============ */
.pdp-wrap { padding: 20px var(--gut) var(--sec); }
.pdp-wrap > .crumbs { margin-bottom: 20px; }
div.product { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: 20px; align-items: start; }
.pdp__gallery { grid-column: 1 / 8; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pdp__shot { background: var(--bg-2); border-radius: var(--r); overflow: hidden; }
.pdp__shot img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.pdp__shot--0 { grid-column: 1 / -1; }
.pdp__gallery[data-count="2"] .pdp__shot--1 { grid-column: 1 / -1; }
div.product .summary { grid-column: 9 / 13; position: sticky; top: calc(var(--hdr-h) + 20px); padding-top: 8px; }
.pdp__kicker { display: flex; justify-content: space-between; font-family: var(--sans); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); border-bottom: 1px solid var(--border); padding-bottom: 12px; }
.pdp__kicker a { text-decoration: none; color: var(--accent); }
.product_title { font-size: clamp(32px, 2.8vw, 48px); letter-spacing: -.035em; margin: 18px 0 14px; }
.summary > .price { font-family: var(--sans); font-size: 20px; margin: 0 0 16px; display: flex; gap: 10px; align-items: baseline; }
.woocommerce-product-details__short-description { color: #3A3F47; }
.pdp__colour { font-family: var(--sans); font-size: 14px; color: var(--muted); }
.pdp__colour strong { color: var(--text); font-weight: 500; margin-left: 6px; }
.variations { width: 100%; border-collapse: collapse; margin-bottom: 16px; font-family: var(--sans); font-size: 14px; }
.variations th, .variations td { display: block; text-align: left; padding: 0; }
.variations th label { font-weight: 500; }
.variations td select { width: 100%; margin: 6px 0 12px; }
.lm-sizes { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 14px; }
.lm-sizes button { min-width: 52px; height: 42px; padding: 0 10px; font-family: var(--sans); font-size: 13px; background: transparent; border: 1px solid var(--border); border-radius: var(--r); cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
.lm-sizes button:hover { border-color: var(--text); }
.lm-sizes button[aria-pressed="true"] { background: var(--text); border-color: var(--text); color: #fff; }
.lm-sizes button:disabled { opacity: .35; text-decoration: line-through; cursor: not-allowed; }
.variations td.value select.is-enhanced { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
.single_variation_wrap .woocommerce-variation-price { display: none; }
.woocommerce-variation-availability p, .stock { font-family: var(--sans); font-size: 13px; color: var(--muted); }
.stock.out-of-stock { color: var(--text); font-weight: 600; }
form.cart { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0 20px; }
form.variations_form { display: block; }
.woocommerce-variation-add-to-cart { display: flex; gap: 10px; }
.quantity input { width: 64px; height: 52px; text-align: center; font-family: var(--sans); font-size: 15px; border: 1px solid var(--border); border-radius: var(--r); background: transparent; }
.single_add_to_cart_button, .button.alt, .checkout-button, #place_order, .woocommerce-button, .wc-forward, button.button, a.button, input.button {
	font-family: var(--sans);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .02em;
	background: var(--accent);
	color: var(--accent-text);
	border: 0;
	border-radius: var(--r);
	padding: 0 28px;
	min-height: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	cursor: pointer;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 5px;
	transition: background .25s, text-decoration-color .25s;
}
.single_add_to_cart_button { flex: 1; }
.quantity input.qty { width: 72px; min-height: 52px; padding: 0 6px; }
.woocommerce-variation-add-to-cart .quantity, form.cart .quantity { flex: 0 0 auto; }
.single_add_to_cart_button:hover, .button.alt:hover, .checkout-button:hover, #place_order:hover, button.button:hover, a.button:hover, input.button:hover { background: #22408A; color: #fff; text-decoration-color: currentColor; }
.single_add_to_cart_button.disabled, .button:disabled, .button.disabled { opacity: .45; cursor: not-allowed; }
.pdp__assure { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 14px 0 2px; margin: 8px 0 8px; font-size: 16px; line-height: 1.4; }
.pdp__assure p { margin-bottom: 12px; }
.pdp__assure span { font-family: var(--sans); font-size: 11px; text-transform: uppercase; letter-spacing: .12em; color: var(--accent); display: block; }
.pdp__acc details { border-bottom: 1px solid var(--border); }
.pdp__acc summary { font-family: var(--sans); font-size: 14px; font-weight: 500; padding: 16px 0; cursor: pointer; list-style: none; display: flex; justify-content: space-between; }
.pdp__acc summary::-webkit-details-marker { display: none; }
.pdp__acc summary::after { content: "+"; color: var(--accent); transition: transform .3s; }
.pdp__acc details[open] summary::after { transform: rotate(45deg); }
.pdp__acc-body { padding-bottom: 16px; font-size: 17px; }
.pdp__acc-body .u-link { margin-right: 20px; }
.related { grid-column: 1 / -1; margin-top: var(--sec); padding-top: 32px; border-top: 1px solid var(--text); }
.related > h2 { font-size: clamp(32px, 3.6vw, 60px); letter-spacing: -.04em; margin-bottom: 36px; }

/* ============ notices, cart, checkout, account ============ */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
	list-style: none;
	font-family: var(--sans);
	font-size: 14px;
	background: var(--bg-2);
	border-left: 2px solid var(--accent);
	padding: 14px 18px;
	margin: 0 0 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 20px;
	align-items: center;
	justify-content: space-between;
	border-radius: 0 var(--r) var(--r) 0;
}
.woocommerce-error { border-color: #A3312E; }
.woocommerce-message .button, .woocommerce-info .button { min-height: 38px; font-size: 13px; order: 2; }
.woo-body table.shop_table { width: 100%; border-collapse: collapse; font-family: var(--sans); font-size: 14px; }
.woo-body table.shop_table th, .woo-body table.shop_table td { text-align: left; padding: 14px 10px 14px 0; border-bottom: 1px solid var(--border); vertical-align: middle; }
.woo-body table.shop_table thead th { border-bottom-color: var(--text); font-weight: 500; font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); }
.woo-body .product-thumbnail img { width: 72px; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--r); }
.woo-body .product-remove a { text-decoration: none; font-size: 20px; color: var(--muted); }
.woo-body td.actions { text-align: right; }
.woo-body .coupon { display: inline-flex; gap: 8px; float: left; }
.woo-body .cart-collaterals { display: grid; grid-template-columns: 1fr minmax(320px, 440px); margin-top: 40px; }
.woo-body .cart_totals { grid-column: 2; background: var(--bg-2); border-radius: var(--r); padding: 24px; }
.woo-body .cart_totals h2 { font-size: 24px; margin-bottom: 12px; }
.cart-currency { font-family: var(--sans); font-size: 12px; color: var(--muted); }
.wc-proceed-to-checkout .checkout-button { width: 100%; margin-top: 16px; }
.woocommerce-shipping-methods { list-style: none; padding: 0; margin: 0; }
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], textarea, .select2-container .select2-selection--single {
	font-family: var(--sans);
	font-size: 15px;
	width: 100%;
	min-height: 48px;
	padding: 10px 12px;
	border: 1px solid var(--border);
	border-radius: var(--r);
	background: #fff;
	color: var(--text);
}
input:focus, textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(46, 79, 163, .15); }
.form-row { margin: 0 0 16px; }
.form-row label { display: block; font-family: var(--sans); font-size: 13px; margin-bottom: 6px; }
.form-row .required { color: #A3312E; text-decoration: none; }
form.woocommerce-checkout { display: grid; grid-template-columns: 1.3fr 1fr; gap: 56px; align-items: start; }
form.woocommerce-checkout { grid-template-rows: auto 1fr; }
form.woocommerce-checkout .col2-set { grid-column: 1; grid-row: 1 / span 2; }
form.woocommerce-checkout #order_review_heading { grid-row: 1; margin: 0; }
form.woocommerce-checkout #order_review { grid-row: 2; align-self: start; }
form.woocommerce-checkout #order_review_heading, form.woocommerce-checkout #order_review { grid-column: 2; }
form.woocommerce-checkout #order_review_heading { font-size: 28px; }
form.woocommerce-checkout #order_review { background: var(--bg-2); border-radius: var(--r); padding: 24px; position: sticky; top: calc(var(--hdr-h) + 20px); }
.woo-body h3 { font-size: 24px; margin: 0 0 20px; }
form.woocommerce-checkout .col2-set .col-1, form.woocommerce-checkout .col2-set .col-2 { width: auto; float: none; }
.woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; }
.woocommerce-billing-fields__field-wrapper .form-row-wide { grid-column: 1 / -1; }
.checkout-note { font-size: 15px; line-height: 1.4; color: #3A3F47; border-top: 1px solid var(--border); padding-top: 14px; margin-top: 8px; }
.checkout-note p { margin-bottom: 8px; }
#place_order { width: 100%; margin-top: 12px; font-size: 16px; }
.woocommerce-terms-and-conditions-wrapper { font-size: 15px; }
.woocommerce-privacy-policy-text p { font-size: 14px; color: var(--muted); }
.wc_payment_methods { list-style: none; padding: 0; margin: 0 0 16px; font-family: var(--sans); font-size: 14px; }
.woocommerce-account .woo-body > .woocommerce { display: grid; grid-template-columns: 240px 1fr; gap: 56px; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; font-family: var(--sans); border-left: 1px solid var(--border); }
.woocommerce-MyAccount-navigation a { display: block; padding: 8px 16px; text-decoration: none; }
.woocommerce-MyAccount-navigation .is-active a { color: var(--accent); border-left: 1px solid var(--accent); margin-left: -1px; }
.u-columns.col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; grid-column: 1 / -1; }
.woocommerce-form-login, .woocommerce-form-register { max-width: 460px; }
.cart-empty { font-family: var(--sans); font-size: 22px; }
.return-to-shop .button { margin-top: 12px; }
.lost { padding: var(--sec) var(--gut); min-height: 60vh; }
.lost__title { font-size: clamp(56px, 9vw, 160px); letter-spacing: -.05em; line-height: .9; margin-bottom: 24px; }
.lost__links { display: flex; gap: 32px; }

/* ============ responsive ============ */
@media (max-width: 1100px) {
	.nav { gap: 20px; }
	.hdr__bar { gap: 24px; }
	ul.products { grid-template-columns: repeat(3, 1fr); }
	.facts__grid { grid-template-columns: repeat(2, 1fr); row-gap: 36px; }
	.ftr__top { grid-template-columns: 1fr 1fr 1fr; }
	.ftr__intro { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
	:root { --hdr-h: 90px; }
	.hdr__bar { grid-template-columns: auto 1fr auto; height: 56px; gap: 12px; }
	.hdr__burger { display: block; }
	.hdr__nav { display: none; }
	.wordmark { justify-self: center; font-size: 18px; }
	.hdr__tool--account, .js-search { display: none; }
	.topline__track { flex-wrap: nowrap; justify-content: flex-start; overflow: hidden; }
	.topline__track span { white-space: nowrap; animation: slide 22s linear infinite; }
	@keyframes slide { to { transform: translateX(-100%); } }

	.hero { height: 100svh; min-height: 680px; }
	.hero__frame { object-position: 50% 20%; }
	.hero__video { object-position: 64% 50%; }
	.hero__thread { display: none; }
	.hero__copy { left: var(--gut); right: var(--gut); bottom: 150px; max-width: none; padding-left: 16px; }
	.hero__title { font-size: clamp(42px, 12vw, 72px); }
	.hero__sub { font-size: 17px; }
	.hero__cta { gap: 24px; margin-top: 16px; }
	.hero__week { left: var(--gut); right: var(--gut); width: auto; bottom: 56px; padding: 12px 14px; }
	.hero__line { white-space: normal; }
	.hero__copy { max-width: none; }
	.hero__look, .hero__week-label { display: none !important; }
	.hero__days { border-top: 0; }
	.hero__day { padding: 6px 0; }
	.hero__day-progress { bottom: 20px; }

	.intro { display: block; }
	.intro__text { padding-top: 0; }
	.intro__a { width: 72%; margin: 40px 0 0 auto; }
	.intro__b { width: 58%; margin-top: -30%; transform: none; }

	.rows::before { left: var(--gut); }
	.rows__head { display: block; padding-bottom: 28px; margin-bottom: 36px; }
	.row, .row--l, .row--r { display: block; }
	.row__media { width: 88%; }
	.row--r .row__media, .row--3 .row__media, .row--5 .row__media { margin-left: auto; }
	.row__text, .row--r .row__text { text-align: left; padding: 20px 0 16px; margin: -60px 0 0 10%; padding-left: 20px; padding-right: 8px; }
	.row--r .row__text { margin: -60px 10% 0 0; }
	.row--r .row__blurb { margin-left: 0; }
	.row--r .row__picks, .row__picks { justify-content: flex-start; }
	.row__picks li { width: 116px; }

	.pleat__video { aspect-ratio: 4 / 5; }
	.pleat__quote { left: var(--gut); right: var(--gut); }

	ul.products { grid-template-columns: repeat(2, 1fr); gap: 28px 12px; }
	.newin__head { grid-template-columns: 1fr; }
	.newin__grid li.newin__editorial { grid-column: 1 / -1; grid-row: auto; }
	.newin__editorial img { height: auto; aspect-ratio: 4 / 5; }

	.fine { display: block; }
	.fine__text { margin-top: 32px; }
	.fine__still { display: inline-block; width: 46%; vertical-align: top; margin: 32px 0 0 !important; }
	.fine__still--b { margin-left: 6% !important; margin-top: 72px !important; }
	.fine__list { margin-top: 32px; }

	.collage { display: flex; flex-wrap: wrap; gap: 16px; }
	.collage__title { width: 100%; margin-bottom: 8px; }
	.collage > figure, .collage__video { margin: 0 !important; }
	.collage__1 { width: 58%; }
	.collage__4 { width: calc(42% - 16px); align-self: flex-end; }
	.collage__2, .collage__3, .collage__video { width: 100%; }
	.collage__note { width: 100%; margin: 12px 0 0; }

	.facts__head { display: block; }
	.facts__head .kicker { margin-bottom: 16px; }
	.ftr__top { grid-template-columns: 1fr 1fr; }
	.ftr__col:last-child { grid-column: 1 / -1; }
	.ftr__mark { margin: 48px 0 20px; }

	.page-head, .page-body, .plp-head { display: block; }
	.page-head__media { margin-top: 28px; }
	.page-index { position: static; margin-bottom: 36px; }
	.plp-head__media { width: 50%; margin: 24px 0 0 auto; transform: none; }
	.plp-cats { gap: 22px; padding-right: var(--gut); }

	div.product { display: block; }
	.pdp__gallery { grid-template-columns: 1fr; margin: 0 calc(var(--gut) * -1); display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 8px; padding: 0 var(--gut); scrollbar-width: none; }
	.pdp__shot { flex: 0 0 86%; scroll-snap-align: center; }
	div.product .summary { position: static; margin-top: 20px; }

	.week-day { display: block; }
	.week-day__text { padding: 24px 0 0; }

	form.woocommerce-checkout { display: block; }
	form.woocommerce-checkout #order_review { position: static; }
	.woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
	.woo-body .cart-collaterals { display: block; }
	.woo-body table.shop_table_responsive thead { display: none; }
	.woo-body table.shop_table_responsive tr { display: grid; grid-template-columns: 80px 1fr auto; gap: 4px 12px; padding: 14px 0; border-bottom: 1px solid var(--border); }
	.woo-body table.shop_table_responsive td { border: 0; padding: 0; }
	.woo-body table.shop_table_responsive td::before { content: attr(data-title) ": "; font-size: 12px; color: var(--muted); }
	.woo-body table.shop_table_responsive td.product-thumbnail { grid-row: span 4; }
	.woo-body table.shop_table_responsive td.product-thumbnail::before, .woo-body table.shop_table_responsive td.product-remove::before, .woo-body table.shop_table_responsive td.actions::before { display: none; }
	.woo-body table.shop_table_responsive td.actions { grid-column: 1 / -1; }
	.woo-body .coupon { float: none; display: flex; margin-bottom: 12px; }
	.woocommerce-account .woo-body > .woocommerce, .u-columns.col2-set { display: block; }
}

@media (max-width: 480px) {
	.hero__copy { bottom: 136px; }
	.hero__eyebrow { margin-bottom: 14px; }
	.hero__sub { display: none; }
	.ftr__top { grid-template-columns: 1fr; }
	.operator-list > div { grid-template-columns: 1fr; gap: 2px; }
}
