/* =============================================================
   The Watch Connect - theme styles
   Translated from the design comp. Streetwear-luxury: black, gold,
   Archivo Expanded / Archivo / Space Mono.
   ============================================================= */

:root {
	--twc-black: #000;
	--twc-ink: #0a0a0a;
	--twc-gold: #b7902c;
	--twc-paper: #fff;
	--twc-stone: #f4f4f1;
	--twc-line: #e6e6e3;
	--twc-line-soft: #f0f0ed;
	--twc-gear: #e8e8e6;
	--twc-muted: #6a6a63;
	--twc-muted-2: #9a9a93;
	--twc-muted-3: #7d7d76;
	--twc-dark-line: #1c1c1c;
	--twc-green: #1f8a5b;
	--twc-red: #b32d2e;
	--twc-max: 1320px;
	--font-display: 'Archivo Expanded', 'Archivo', sans-serif;
	--font-body: 'Archivo', sans-serif;
	--font-mono: 'Space Mono', monospace;
}

* { box-sizing: border-box; }

body {
	margin: 0;
	background: var(--twc-paper);
	color: var(--twc-ink);
	font-family: var(--font-body);
	overflow-x: hidden;
}

::selection { background: var(--twc-gold); color: #000; }
::-moz-selection { background: var(--twc-gold); color: #000; }

/* Crosshair as the site-wide default cursor (on-brand precision feel). */
html { cursor: crosshair; }
/* but keep the usual affordances for things you click or type into */
a, button, label, select, summary,
[role="button"], [role="link"], [role="tab"], .twc-iconbtn, [onclick] { cursor: pointer; }
input[type="text"], input[type="email"], input[type="search"], input[type="url"],
input[type="tel"], input[type="number"], input[type="password"], input[type="date"],
input[type="time"], textarea, [contenteditable="true"] { cursor: text; }
:disabled, [aria-disabled="true"] { cursor: not-allowed; }

/* iOS Safari auto-zooms a focused field whenever its font-size is under 16px.
   On touch devices, force every text-entry control to 16px so tapping a field
   never triggers that zoom jump. Desktop sizing is left untouched. */
@media (hover: none) and (pointer: coarse) {
	input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="submit"]):not([type="button"]),
	select,
	textarea {
		font-size: 16px !important;
	}
}

img { max-width: 100%; }
a { color: inherit; }

@keyframes twcmarquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

/* ---- Accessibility helpers ---- */
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0);
	white-space: nowrap; border: 0;
}
.twc-skip-link:focus {
	position: fixed; top: 8px; left: 8px; z-index: 999;
	width: auto; height: auto; clip: auto;
	background: var(--twc-gold); color: #000; padding: 10px 16px;
	font-family: var(--font-mono); font-size: 12px;
}

/* ---- Shared bits ---- */
.twc-dot {
	width: 7px; height: 7px;
	background: var(--twc-gold);
	display: inline-block;
	flex: none;
}
.twc-rule { height: 1px; background: var(--twc-line); }
.twc-gold { color: var(--twc-gold); }

.twc-eyebrow {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: .22em;
	text-transform: uppercase;
	margin-bottom: 12px;
}
.twc-eyebrow--gold { color: var(--twc-gold); }
.twc-eyebrow--mute { color: var(--twc-muted-3); letter-spacing: .18em; margin: 0; }

/* ---- Buttons ---- */
.twc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-mono);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 16px 30px;
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: transform .15s ease, border-color .15s ease, background .15s ease, color .15s ease;
	line-height: 1;
}
.twc-btn--gold { background: var(--twc-gold); color: #000; }
.twc-btn--gold:hover { transform: translateY(-2px); }
.twc-btn--ghost { background: transparent; color: #fff; border-color: #444; }
.twc-btn--ghost:hover { border-color: #fff; }
.twc-btn--ghost-dark { background: transparent; color: #000; border-color: #000; }
.twc-btn--ghost-dark:hover { background: #000; color: #fff; }
.twc-btn--dark { background: #000; color: #fff; }
.twc-btn--dark:hover { background: #222; }
.twc-btn--block { width: 100%; }

/* ---- Announcement bar ---- */
.twc-announce {
	background: #000;
	color: var(--twc-gold);
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: .22em;
	text-transform: uppercase;
	text-align: center;
	padding: 9px 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
}
.twc-announce__dash { color: #5a5a5a; }
.twc-announce__alt { color: #fff; }

/* ---- Header ---- */
.twc-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: #fff;
	border-bottom: 1px solid #ececec;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 30px;
	height: 72px;
}
.twc-header__logo { display: flex; align-items: center; }
.twc-header__logo a { display: flex; }
.twc-header__logo img,
.twc-header__logo .custom-logo {
	height: 30px;
	width: auto;
	display: block;
}
.twc-nav__list {
	display: flex;
	align-items: center;
	gap: 30px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.twc-nav__list a {
	position: relative;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 12.5px;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--twc-ink);
	text-decoration: none;
	padding-bottom: 4px;
}
.twc-nav__list a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: var(--twc-gold);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .26s cubic-bezier(.16, 1, .3, 1);
}
.twc-nav__list a:hover::after { transform: scaleX(1); }
.twc-header__actions { display: flex; align-items: center; gap: 18px; }
.twc-iconbtn {
	background: none;
	border: none;
	padding: 0;
	color: var(--twc-ink);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
}
.twc-iconbtn svg { width: 19px; height: 19px; }
.twc-bag svg { width: 20px; height: 20px; }

.twc-menu-toggle {
	display: none;
	flex-direction: column;
	gap: 5px;
	width: 24px;
}
.twc-menu-toggle span {
	display: block;
	height: 2px;
	width: 20px;
	background: var(--twc-ink);
	transition: transform .2s, opacity .2s;
}

.twc-mobile-nav {
	position: fixed;
	left: 0;
	right: 0;
	top: 64px; /* fallback; JS sets this to the header's current bottom edge */
	z-index: 49; /* just under the sticky header (50) */
	max-height: calc(100vh - 64px);
	overflow-y: auto;
	background: var(--twc-ink);
	color: #fff;
	border-top: 1px solid var(--twc-gold);
	box-shadow: 0 26px 54px rgba(0, 0, 0, .5);
	padding: 8px 24px 26px;
}
/* Search overlays the header row, field centered. */
.twc-searchbar {
	position: absolute;
	inset: 0;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 64px 0 30px;
	z-index: 6;
}
.twc-searchbar[hidden] { display: none; }
.twc-searchbar .twc-search { width: 100%; max-width: 560px; }
.twc-searchbar .twc-search input[type="search"] { font-size: 12px; padding: 13px 16px; }
.twc-search-close {
	position: absolute;
	right: 24px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--twc-ink);
}
.twc-mobile-nav__list {
	list-style: none; margin: 0; padding: 0;
	counter-reset: twcmenu;
}
.twc-mobile-nav__list li { border-bottom: 1px solid #1c1c1c; }
.twc-mobile-nav__list a {
	display: flex; align-items: baseline; gap: 16px;
	padding: 17px 2px;
	font-family: var(--font-display); font-weight: 800;
	font-size: 25px; line-height: 1;
	letter-spacing: .005em; text-transform: uppercase;
	color: #fff; text-decoration: none;
	transition: color .18s ease, padding-left .18s ease;
}
.twc-mobile-nav__list a::before {
	counter-increment: twcmenu;
	content: counter(twcmenu, decimal-leading-zero);
	font-family: var(--font-mono); font-weight: 700;
	font-size: 11px; letter-spacing: .12em;
	color: var(--twc-gold);
	transform: translateY(-3px);
	min-width: 22px;
}
.twc-mobile-nav__list a:hover,
.twc-mobile-nav__list a:active { color: var(--twc-gold); padding-left: 8px; }
.twc-mobile-nav__list .current-menu-item > a,
.twc-mobile-nav__list .current_page_item > a { color: var(--twc-gold); }

/* Branded CTA footer inside the menu. */
.twc-mobile-nav__foot { margin-top: 22px; }
.twc-mobile-nav__foot .twc-btn { width: 100%; }
.twc-mobile-nav__tag {
	margin: 16px 0 0;
	font-family: var(--font-mono); font-size: 10px;
	letter-spacing: .22em; text-transform: uppercase;
	color: var(--twc-gold); text-align: center;
}

/* Staggered rise-in when the menu opens. */
.twc-mobile-nav__list li,
.twc-mobile-nav__foot { animation: twc-rise .42s cubic-bezier(.16, 1, .3, 1) backwards; }
.twc-mobile-nav__list li:nth-child(1) { animation-delay: .03s; }
.twc-mobile-nav__list li:nth-child(2) { animation-delay: .07s; }
.twc-mobile-nav__list li:nth-child(3) { animation-delay: .11s; }
.twc-mobile-nav__list li:nth-child(4) { animation-delay: .15s; }
.twc-mobile-nav__list li:nth-child(5) { animation-delay: .19s; }
.twc-mobile-nav__list li:nth-child(6) { animation-delay: .23s; }
.twc-mobile-nav__foot { animation-delay: .27s; }

/* ---- Search form ---- */
.twc-search { display: flex; border: 1px solid #000; max-width: 520px; }
.twc-search input[type="search"] {
	flex: 1; border: none; outline: none;
	padding: 12px 14px;
	font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em;
}
.twc-search button {
	background: #000; color: #fff; border: none;
	padding: 0 16px; cursor: pointer;
	display: grid; place-items: center;
}
.twc-search button svg { stroke: #fff; }

/* ---- Hero ---- */
.twc-hero { background: #000; color: #fff; position: relative; overflow: hidden; }
.twc-hero__inner {
	max-width: var(--twc-max);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 30px;
	align-items: center;
	padding: 64px 30px 70px;
}
.twc-hero__copy .twc-eyebrow {
	display: flex; align-items: center; gap: 12px;
	margin-bottom: 26px; letter-spacing: .24em;
}
.twc-eyebrow__rule { height: 1px; width: 46px; background: #333; }
.twc-hero__title {
	font-family: var(--font-display);
	font-weight: 900;
	font-size: clamp(52px, 7vw, 104px);
	line-height: .9;
	letter-spacing: -.01em;
	margin: 0;
	text-transform: uppercase;
}
/* Cursor "invert lens": a black-on-white duplicate of the headline, shown only
   inside a 100px circle at the cursor. Clipped to the headline's own box, so it
   never touches the paragraph below. */
.twc-invertlens { position: relative; cursor: crosshair; }
.twc-invertlens__top {
	position: absolute;
	inset: 0;
	background: #fff;
	color: #000;
	pointer-events: none;
	user-select: none;
	-webkit-user-select: none;
	opacity: 0;
	transition: opacity .16s ease;
	-webkit-mask-image: radial-gradient(circle 100px at var(--ix, -300px) var(--iy, -300px), #000 0, #000 100px, transparent 100px);
	        mask-image: radial-gradient(circle 100px at var(--ix, -300px) var(--iy, -300px), #000 0, #000 100px, transparent 100px);
}
.twc-invertlens.is-on .twc-invertlens__top { opacity: 1; }
.twc-hero__lede {
	font-size: 17px; line-height: 1.55;
	color: #b8b8b0; max-width: 440px;
	margin: 26px 0 34px;
}
.twc-hero__cta { display: flex; flex-wrap: wrap; gap: 14px; }
/* On phones, stack the hero CTAs full-width so they match exactly. */
@media (max-width: 600px) {
	.twc-hero__cta { gap: 12px; }
	.twc-hero__cta .twc-btn { flex: 1 1 100%; width: 100%; }
}
.twc-hero__stats { display: flex; gap: 34px; margin-top: 46px; }
.twc-stat__num { font-family: var(--font-display); font-weight: 800; font-size: 28px; }
.twc-stat__label {
	font-family: var(--font-mono); font-size: 10.5px;
	letter-spacing: .16em; color: var(--twc-muted-3);
	text-transform: uppercase; margin-top: 4px;
}

.twc-hero__featured {
	position: relative;
	aspect-ratio: 1 / 1;
	background: var(--twc-gold);
	display: grid;
	place-items: center;
	text-decoration: none;
}
.twc-hero__featured-tag {
	position: absolute; top: 18px; left: 18px;
	font-family: var(--font-mono); font-size: 10.5px; font-weight: 700;
	letter-spacing: .16em; text-transform: uppercase; color: #000;
	border: 1px solid #000; padding: 5px 9px;
}
.twc-hero__featured-price {
	position: absolute; top: 18px; right: 18px;
	font-family: var(--font-mono); font-size: 11px; font-weight: 700; color: #000;
}
/* Base (gold-tinted) photo and the true-color reveal copy share the EXACT same
   absolute box, so they overlap pixel-for-pixel under the lens. Explicit
   width/height are required: an <img> with only insets sizes to its intrinsic
   pixels, not the box. */
.twc-hero__featured-img,
.twc-hero__featured-reveal {
	position: absolute;
	left: 10%;
	top: 10%;
	width: 80%;
	height: 80%;
	object-fit: contain;
}
.twc-hero__featured-img { mix-blend-mode: multiply; }
/* Cursor "reveal lens": a true-color (un-tinted) copy of the photo, shown only
   inside a circle that follows the cursor. */
.twc-hero__featured-reveal {
	pointer-events: none;
	opacity: 0;
	transition: opacity .18s ease;
	z-index: 1;
	--lens-r: 100px; /* lens radius - change to taste */
	-webkit-mask-image: radial-gradient(circle var(--lens-r) at var(--lens-x, -999px) var(--lens-y, -999px), #000 0, #000 100%, transparent 100%);
	        mask-image: radial-gradient(circle var(--lens-r) at var(--lens-x, -999px) var(--lens-y, -999px), #000 0, #000 100%, transparent 100%);
}
.twc-hero__featured.is-lensing .twc-hero__featured-reveal { opacity: 1; }
/* Keep the badge / price / meta above the lens. */
.twc-hero__featured-tag,
.twc-hero__featured-price,
.twc-hero__featured-meta { z-index: 2; }
/* Mobile: black-on-gold is hard to read over the photo at small sizes, so flip
   the featured-watch overlay text (and the tag's border) to white. Desktop
   keeps the black treatment. */
@media (max-width: 760px) {
	.twc-hero__featured .twc-hero__featured-tag { color: #fff; border-color: #fff; }
	.twc-hero__featured .twc-hero__featured-price,
	.twc-hero__featured .twc-hero__featured-brand,
	.twc-hero__featured .twc-hero__featured-model,
	.twc-hero__featured .twc-hero__featured-view { color: #fff; }
}
.twc-hero__featured-meta {
	position: absolute; bottom: 18px; left: 18px; right: 18px;
	display: flex; align-items: flex-end; justify-content: space-between;
}
.twc-hero__featured-brand {
	font-family: var(--font-mono); font-size: 10.5px;
	letter-spacing: .16em; text-transform: uppercase; color: #000;
}
.twc-hero__featured-model {
	font-family: var(--font-display); font-weight: 800; font-size: 21px;
	color: #000; line-height: 1.05; margin-top: 4px;
}
.twc-hero__featured-view {
	font-family: var(--font-mono); font-size: 11px; font-weight: 700;
	color: #000; white-space: nowrap;
}

/* ---- Marquee ---- */
.twc-marquee {
	background: #000;
	border-top: 1px solid var(--twc-dark-line);
	border-bottom: 1px solid var(--twc-dark-line);
	overflow: hidden;
	padding: 13px 0;
}
.twc-marquee__track {
	display: flex;
	width: max-content;
	animation: twcmarquee 28s linear infinite;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 15px;
	letter-spacing: .04em;
	text-transform: uppercase;
	white-space: nowrap;
}
.twc-marquee__item { color: #fff; }
.twc-marquee__star { color: var(--twc-gold); padding: 0 22px; }

/* ---- Generic section ---- */
.twc-section {
	max-width: var(--twc-max);
	margin: 0 auto;
	padding: 72px 30px;
}
.twc-section__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 34px;
	flex-wrap: wrap;
	gap: 14px;
}
.twc-section__head--light { color: #fff; }
.twc-section__title {
	font-family: var(--font-display);
	font-weight: 800;
	font-size: clamp(34px, 4.4vw, 54px);
	line-height: .95;
	margin: 0;
	text-transform: uppercase;
	letter-spacing: -.01em;
}
.twc-viewall {
	font-family: var(--font-mono);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #000;
	text-decoration: none;
	border-bottom: 2px solid var(--twc-gold);
	padding-bottom: 4px;
	white-space: nowrap;
}
.twc-section__head--light .twc-viewall { color: #fff; }
.twc-empty { font-size: 15px; color: var(--twc-muted); padding: 30px 0; }

.twc-drops { padding-bottom: 20px; }

/* ---- Grid + watch card ---- */
.twc-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(232px, 1fr));
	gap: 18px;
}
.twc-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--twc-line);
	text-decoration: none;
	color: inherit;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.twc-card:hover {
	border-color: #000;
	transform: translateY(-4px);
	box-shadow: 0 18px 40px -22px rgba(0,0,0,.45);
}
.twc-card__media {
	position: relative;
	aspect-ratio: 1 / 1;
	background: var(--twc-stone);
	overflow: hidden;
	display: grid;
	place-items: center;
	padding: 26px;
}
.twc-card__tag {
	position: absolute; top: 0; left: 0;
	font-family: var(--font-mono); font-size: 10px; font-weight: 700;
	letter-spacing: .18em; text-transform: uppercase; color: #000;
	background: var(--twc-gold); padding: 5px 9px;
}
.twc-card__sold {
	position: absolute; top: 0; right: 0;
	font-family: var(--font-mono); font-size: 10px; font-weight: 700;
	letter-spacing: .12em; text-transform: uppercase; color: #fff;
	background: #000; padding: 5px 9px;
}
.twc-card__media img {
	max-width: 100%; max-height: 100%;
	object-fit: contain; mix-blend-mode: multiply;
	transition: transform .35s ease;
}
.twc-card:hover .twc-card__media img { transform: scale(1.06); }
.twc-card.is-sold .twc-card__media img { opacity: .45; }
.twc-card__body {
	display: flex; flex-direction: column; gap: 7px;
	padding: 15px 15px 18px;
	border-top: 1px solid var(--twc-line);
}
.twc-card__brand {
	font-family: var(--font-mono); font-size: 10.5px; font-weight: 700;
	letter-spacing: .16em; text-transform: uppercase; color: var(--twc-muted-2);
}
.twc-card__model {
	font-family: var(--font-body); font-weight: 600; font-size: 14.5px;
	line-height: 1.25; color: var(--twc-ink); min-height: 36px;
}
.twc-card__price { display: flex; align-items: center; gap: 8px; margin-top: 2px; }
.twc-card__price span:last-child {
	font-family: var(--font-mono); font-weight: 700; font-size: 14px; color: var(--twc-ink);
}

/* ---- Value props ---- */
.twc-props {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: var(--twc-line);
	border: 1px solid var(--twc-line);
}
.twc-prop { background: #fff; padding: 38px 30px; }
.twc-prop__num {
	font-family: var(--font-mono); font-size: 13px; color: var(--twc-gold);
	font-weight: 700; margin-bottom: 16px;
}
.twc-prop__title {
	font-family: var(--font-display); font-weight: 800; font-size: 19px;
	text-transform: uppercase; margin-bottom: 10px;
}
.twc-prop p { font-size: 14px; line-height: 1.6; color: var(--twc-muted); margin: 0; }

/* ---- Shop by House ---- */
.twc-houses { background: #000; color: #fff; padding: 72px 30px; }
.twc-houses__inner { max-width: var(--twc-max); margin: 0 auto; }
.twc-houses .twc-section__head { margin-bottom: 30px; }
.twc-houses__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 1px;
	background: var(--twc-dark-line);
	border: 1px solid var(--twc-dark-line);
}
.twc-house {
	background: #000; padding: 30px 24px; min-height: 128px;
	display: flex; flex-direction: column; justify-content: space-between;
	text-decoration: none; color: #fff;
	transition: background .18s, color .18s;
}
.twc-house:hover { background: var(--twc-gold); color: #000; }
.twc-house__count {
	font-family: var(--font-mono); font-size: 10.5px;
	letter-spacing: .14em; color: var(--twc-muted-3);
}
.twc-house:hover .twc-house__count { color: #000; }
.twc-house__name {
	font-family: var(--font-display); font-weight: 800; font-size: 19px;
	text-transform: uppercase; line-height: 1.05;
}

/* ---- Find your tier ---- */
.twc-tiers { padding-bottom: 84px; }
.twc-tiers__title { margin-bottom: 34px; }
.twc-tiers__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
}
.twc-tier {
	border: 1px solid #000; padding: 30px 26px; min-height: 188px;
	display: flex; flex-direction: column; justify-content: space-between;
	background: #fff; text-decoration: none; color: var(--twc-ink);
	transition: background .18s, color .18s;
}
.twc-tier:hover { background: #000; color: #fff; }
.twc-tier__count {
	font-family: var(--font-mono); font-size: 10.5px;
	letter-spacing: .16em; text-transform: uppercase; color: var(--twc-gold);
}
.twc-tier__label {
	font-family: var(--font-display); font-weight: 800; font-size: 30px;
	line-height: .95; text-transform: uppercase; margin-bottom: 8px;
}
.twc-tier__sub { font-size: 13.5px; opacity: .7; }

/* ---- Listing hero ---- */
.twc-listhero { background: #000; color: #fff; padding: 38px 30px 46px; }
.twc-listhero--slim { padding: 30px 30px 34px; }
.twc-listhero__inner { max-width: var(--twc-max); margin: 0 auto; }
.twc-breadcrumb {
	font-family: var(--font-mono); font-size: 11px;
	letter-spacing: .14em; text-transform: uppercase;
	color: var(--twc-muted-3); margin-bottom: 28px;
}
.twc-breadcrumb a { color: var(--twc-muted-3); text-decoration: none; }
.twc-breadcrumb a:hover { color: #fff; }
.twc-breadcrumb__sep { color: #444; padding: 0 8px; }
.twc-breadcrumb__current { color: var(--twc-gold); }
.twc-listhero__head {
	display: flex; align-items: flex-end; justify-content: space-between;
	flex-wrap: wrap; gap: 18px;
}
.twc-listhero__title {
	font-family: var(--font-display); font-weight: 900;
	font-size: clamp(44px, 6vw, 82px); line-height: .9;
	margin: 0; text-transform: uppercase; letter-spacing: -.01em;
}
.twc-listhero__count {
	font-family: var(--font-mono); font-size: 12px;
	letter-spacing: .14em; text-transform: uppercase;
	color: #b8b8b0; margin-top: 14px;
}
.twc-listhero__blurb {
	font-size: 14.5px; line-height: 1.6; color: var(--twc-muted-2);
	max-width: 360px; margin: 0;
}

/* ---- Listing layout ---- */
.twc-listing {
	max-width: var(--twc-max);
	margin: 0 auto;
	padding: 34px 30px 84px;
	display: grid;
	grid-template-columns: 236px 1fr;
	gap: 36px;
	align-items: start;
}
.twc-filters { position: sticky; top: 88px; }
.twc-filters__head {
	display: flex; align-items: center; justify-content: space-between;
	border-bottom: 2px solid #000; padding-bottom: 12px; margin-bottom: 20px;
}
.twc-filters__title {
	font-family: var(--font-display); font-weight: 800; font-size: 15px; text-transform: uppercase;
}
.twc-filters__reset {
	font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .1em;
	color: var(--twc-gold); text-decoration: none;
}
.twc-filters__group { margin-bottom: 26px; }
.twc-filters__label {
	font-family: var(--font-mono); font-size: 11px;
	letter-spacing: .16em; text-transform: uppercase;
	color: var(--twc-muted-2); margin-bottom: 12px;
}
.twc-filters__brands { display: flex; flex-direction: column; gap: 2px; }
.twc-brandrow {
	display: flex; align-items: center; justify-content: space-between;
	padding: 7px 10px; text-decoration: none; color: inherit;
	border-left: 2px solid transparent; transition: background .15s;
}
.twc-brandrow:hover { background: var(--twc-stone); }
.twc-brandrow.is-active { border-left-color: var(--twc-gold); background: var(--twc-stone); }
.twc-brandrow__name {
	display: flex; align-items: center; gap: 9px;
	font-family: var(--font-body); font-size: 13.5px; font-weight: 500; color: var(--twc-ink);
}
.twc-brandrow__count { font-family: var(--font-mono); font-size: 11px; color: #b0b0a8; }

.twc-filters__price { display: flex; flex-direction: column; gap: 9px; }
.twc-check {
	display: flex; align-items: center; gap: 10px;
	font-family: var(--font-body); font-size: 13.5px;
	text-decoration: none; color: var(--twc-ink);
}
.twc-check__box { width: 14px; height: 14px; border: 1.5px solid #999; display: inline-block; flex: none; }
.twc-check.is-on .twc-check__box { background: #000; border-color: #000; }

.twc-filters__chips { display: flex; flex-wrap: wrap; gap: 7px; }
.twc-chip {
	font-family: var(--font-mono); font-size: 11px;
	border: 1px solid #ddd; padding: 6px 11px;
	text-decoration: none; color: var(--twc-ink);
}
.twc-chip.is-on { border-color: #000; background: #000; color: #fff; }

/* ---- Results bar ---- */
.twc-results__bar {
	display: flex; align-items: center; justify-content: space-between;
	border-bottom: 1px solid var(--twc-line);
	padding-bottom: 16px; margin-bottom: 22px;
	flex-wrap: wrap; gap: 12px;
}
.twc-results__count {
	font-family: var(--font-mono); font-size: 12px;
	letter-spacing: .1em; text-transform: uppercase; color: var(--twc-muted);
}
.twc-sort { display: flex; align-items: center; gap: 10px; }
.twc-sort__label {
	font-family: var(--font-mono); font-size: 11px;
	letter-spacing: .12em; text-transform: uppercase; color: var(--twc-muted-2);
}
.twc-sort__dd { position: relative; }
.twc-sort__dd > summary {
	display: flex; align-items: center; gap: 9px;
	border: 1px solid #000; padding: 8px 14px; cursor: pointer;
	font-family: var(--font-body); font-size: 13px; font-weight: 600;
	list-style: none;
}
.twc-sort__dd > summary::-webkit-details-marker { display: none; }
.twc-sort__dd > summary svg { width: 11px; height: 11px; }
.twc-sort__menu {
	position: absolute; right: 0; top: calc(100% + 4px);
	background: #fff; border: 1px solid #000;
	list-style: none; margin: 0; padding: 0;
	min-width: 200px; z-index: 30;
}
.twc-sort__menu a {
	display: block; padding: 11px 14px;
	font-family: var(--font-body); font-size: 13px;
	text-decoration: none; color: var(--twc-ink);
}
.twc-sort__menu a:hover { background: var(--twc-stone); }
.twc-filters-toggle { display: none; }

.twc-results .twc-grid { grid-template-columns: repeat(auto-fill, minmax(228px, 1fr)); }

/* ---- Pagination ---- */
.twc-pagination { margin-top: 44px; }
.twc-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.twc-pagination .page-numbers {
	font-family: var(--font-mono); font-size: 12px;
	border: 1px solid var(--twc-line); padding: 10px 14px;
	text-decoration: none; color: var(--twc-ink);
}
.twc-pagination .page-numbers.current { background: #000; color: #fff; border-color: #000; }
.twc-pagination .page-numbers:hover { border-color: #000; }

/* ---- Flash messages ---- */
.twc-flash {
	max-width: var(--twc-max);
	margin: 18px auto 0;
	padding: 14px 30px;
	font-family: var(--font-mono);
	font-size: 12px; letter-spacing: .04em;
}
.twc-flash--ok { color: var(--twc-green); }
.twc-flash--err { color: var(--twc-red); }

/* ---- Product detail ---- */
.twc-detail-crumbs { max-width: var(--twc-max); margin: 0 auto; padding: 26px 30px 10px; }
.twc-detail-crumbs .twc-breadcrumb { margin-bottom: 0; color: var(--twc-muted-2); letter-spacing: .13em; }
.twc-detail-crumbs .twc-breadcrumb a { color: var(--twc-muted-2); }
.twc-detail-crumbs .twc-breadcrumb a:hover { color: #000; }
.twc-detail-crumbs .twc-breadcrumb__sep { color: #ccc; }
.twc-detail-crumbs .twc-breadcrumb__current { color: var(--twc-ink); }

.twc-detail {
	max-width: var(--twc-max);
	margin: 0 auto;
	padding: 18px 30px 0;
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 48px;
	align-items: start;
}
.twc-detail__gallery { position: sticky; top: 90px; }
.twc-detail__main {
	position: relative; background: var(--twc-stone);
	aspect-ratio: 1 / 1; display: grid; place-items: center; padding: 54px;
	overflow: hidden; cursor: zoom-in; --zoom: 2.4;
}
.twc-detail__tag {
	position: absolute; top: 0; left: 0;
	font-family: var(--font-mono); font-size: 11px; font-weight: 700;
	letter-spacing: .16em; text-transform: uppercase; color: #000;
	background: var(--twc-gold); padding: 6px 12px;
}
.twc-detail__ref {
	position: absolute; top: 18px; right: 18px;
	font-family: var(--font-mono); font-size: 10.5px;
	letter-spacing: .14em; text-transform: uppercase; color: var(--twc-muted-2);
}
.twc-detail__main img {
	max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: multiply;
	transition: transform .3s cubic-bezier(.16, 1, .3, 1);
}
.twc-detail__main.is-zooming img { transform: scale(var(--zoom)); }
.twc-detail__zoomhint {
	position: absolute;
	bottom: 14px;
	right: 14px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--twc-muted);
	background: rgba(255, 255, 255, .72);
	padding: 5px 9px;
	pointer-events: none;
	transition: opacity .2s ease;
}
.twc-detail__main.is-zooming .twc-detail__zoomhint { opacity: 0; }
@media (hover: none) {
	.twc-detail__main { cursor: default; }
	.twc-detail__zoomhint { display: none; }
}
.twc-detail__thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 10px; }
.twc-thumb {
	position: relative; background: var(--twc-stone); aspect-ratio: 1 / 1;
	display: grid; place-items: center; padding: 12px;
	border: 1px solid var(--twc-line); cursor: pointer;
}
.twc-thumb.is-active { border: 2px solid #000; }
.twc-thumb img { max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.twc-thumb__more {
	position: absolute; inset: 0; background: rgba(0,0,0,.82); color: #fff;
	display: grid; place-items: center;
	font-family: var(--font-mono); font-size: 13px; letter-spacing: .04em;
}
.twc-thumb--more { cursor: pointer; }

/* Main-image "view all photos" affordance */
.twc-detail__expand {
	position: absolute; bottom: 14px; left: 14px; z-index: 3;
	display: inline-flex; align-items: center; gap: 6px;
	background: rgba(0,0,0,.74); color: #fff; border: none; cursor: pointer;
	font-family: var(--font-mono); font-size: 10px; letter-spacing: .12em;
	text-transform: uppercase; padding: 6px 10px;
	transition: background .2s ease;
}
.twc-detail__expand:hover { background: #000; }
.twc-detail__expand svg { display: block; }

/* Fullscreen photo lightbox */
.twc-lightbox {
	position: fixed; inset: 0; z-index: 500; background: rgba(0,0,0,.94);
	display: flex; align-items: center; justify-content: center;
}
.twc-lightbox[hidden] { display: none; }
.twc-lightbox__track {
	display: flex; width: 100%; height: 100%;
	overflow-x: auto; overflow-y: hidden;
	scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.twc-lightbox__track::-webkit-scrollbar { display: none; }
.twc-lightbox__slide {
	flex: 0 0 100%; scroll-snap-align: center;
	display: grid; place-items: center; padding: 6vh 7vw;
}
.twc-lightbox__slide img { max-width: 100%; max-height: 88vh; object-fit: contain; }
.twc-lightbox__x {
	position: absolute; top: 16px; right: 18px; z-index: 3;
	width: 44px; height: 44px; display: grid; place-items: center;
	background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.28);
	border-radius: 50%; color: #fff; font-size: 30px; line-height: 1; cursor: pointer;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.twc-lightbox__x:hover { background: var(--twc-gold); color: #000; border-color: var(--twc-gold); }
.twc-lightbox__nav {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
	width: 50px; height: 50px; display: grid; place-items: center; cursor: pointer;
	background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.28);
	color: #fff; font-size: 30px; line-height: 1;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.twc-lightbox__nav--prev { left: 18px; }
.twc-lightbox__nav--next { right: 18px; }
.twc-lightbox__nav:hover { background: var(--twc-gold); color: #000; border-color: var(--twc-gold); }
.twc-lightbox__counter {
	position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 2;
	font-family: var(--font-mono); font-size: 12px; letter-spacing: .12em; color: #fff;
}
@media (hover: none) {
	/* On touch, swipe drives the gallery, so hide the arrow buttons. */
	.twc-lightbox__nav { display: none; }
}

/* Consent-checkbox fine print (inquiry / offer form) */
.twc-consent-fine {
	display: block; margin-top: 3px;
	font-size: 11px; line-height: 1.45; color: var(--twc-muted, #888);
}

/* ---- Book an Appointment ---- */
.twc-book { max-width: 1120px; margin: 0 auto; }
.twc-book__grid { display: grid; grid-template-columns: 320px 1fr; gap: 48px; align-items: start; }
.twc-book__intro-title { font-family: var(--font-display); font-weight: 800; font-size: 30px; line-height: 1; margin: 12px 0 22px; text-transform: uppercase; }
.twc-book__meta { list-style: none; margin: 0 0 20px; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.twc-book__meta li { display: flex; flex-direction: column; gap: 3px; font-family: var(--font-body); font-size: 14px; color: var(--twc-ink); }
.twc-book__meta span { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--twc-muted); }
.twc-book__note { font-size: 13px; color: var(--twc-muted); line-height: 1.6; }

.twc-book__step { margin-bottom: 30px; }
.twc-book__step-title { display: flex; align-items: center; gap: 10px; font-family: var(--font-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--twc-ink); margin-bottom: 16px; }
.twc-book__step-title span { display: grid; place-items: center; width: 22px; height: 22px; background: #000; color: #fff; font-size: 11px; border-radius: 50%; }

.twc-book__formats { display: flex; flex-wrap: wrap; gap: 10px; }
.twc-book__format {
	background: #fff; border: 1px solid #ccc; padding: 12px 18px; cursor: pointer;
	font-family: var(--font-mono); font-size: 12px; letter-spacing: .06em; color: var(--twc-ink);
	transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.twc-book__format:hover { border-color: #000; }
.twc-book__format.is-active { background: #000; color: #fff; border-color: #000; }

.twc-book__pick { display: grid; grid-template-columns: 1fr 220px; gap: 28px; align-items: start; }
.twc-book__cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.twc-book__cal-month { font-family: var(--font-display); font-weight: 800; font-size: 17px; letter-spacing: .01em; }
.twc-book__cal-nav {
	width: 34px; height: 34px; display: grid; place-items: center; cursor: pointer;
	background: #fff; border: 1px solid #ccc; font-size: 20px; line-height: 1; color: var(--twc-ink);
}
.twc-book__cal-nav:hover:not([disabled]) { border-color: #000; }
.twc-book__cal-nav[disabled] { opacity: .3; cursor: default; }
.twc-book__cal-dow { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin-bottom: 6px; }
.twc-book__cal-dow span { text-align: center; font-family: var(--font-mono); font-size: 10px; letter-spacing: .08em; color: var(--twc-muted); }
.twc-book__cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.twc-book__day {
	aspect-ratio: 1 / 1; display: grid; place-items: center; cursor: pointer;
	background: #fff; border: 1px solid var(--twc-line); font-family: var(--font-body); font-size: 14px; color: var(--twc-ink);
	transition: background .12s ease, color .12s ease, border-color .12s ease;
}
.twc-book__day:hover:not([disabled]) { border-color: #000; }
.twc-book__day.is-empty { background: transparent; border: none; cursor: default; }
.twc-book__day.is-off { color: #cbcbcb; background: #fafafa; cursor: default; border-color: transparent; }
.twc-book__day.is-selected { background: var(--twc-gold); border-color: var(--twc-gold); color: #000; font-weight: 700; }

.twc-book__slots-head { font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--twc-muted); margin-bottom: 12px; }
.twc-book__slots-list { display: flex; flex-direction: column; gap: 8px; max-height: 320px; overflow-y: auto; }
.twc-book__slot {
	padding: 11px; cursor: pointer; text-align: center;
	background: #fff; border: 1px solid #ccc; font-family: var(--font-mono); font-size: 12.5px; letter-spacing: .04em; color: var(--twc-ink);
	transition: border-color .12s ease, background .12s ease, color .12s ease;
}
.twc-book__slot:hover { border-color: #000; }
.twc-book__slot.is-selected { background: #000; color: #fff; border-color: #000; }

.twc-book__form { border-top: 1px solid var(--twc-line); padding-top: 26px; }
.twc-book__chosen { font-family: var(--font-body); font-size: 14px; color: var(--twc-ink); background: var(--twc-stone); padding: 12px 14px; margin-bottom: 20px; }
.twc-book__chosen:empty { display: none; }
.twc-book__error { color: var(--twc-red); font-size: 13px; margin: 0 0 14px; }
.twc-book__success {
	display: flex; flex-direction: column; gap: 6px;
	border: 1px solid var(--twc-gold); padding: 22px 24px; max-width: 560px;
}
/* The class display above would otherwise beat the [hidden] attribute and leave
   the empty gold box showing on every step. */
.twc-book__success[hidden] { display: none; }
.twc-book__success strong { font-family: var(--font-display); font-weight: 800; font-size: 22px; text-transform: uppercase; }
.twc-book__success span { font-family: var(--font-body); font-size: 15px; color: var(--twc-muted-2, #555); }

@media (max-width: 900px) {
	.twc-book__grid { grid-template-columns: 1fr; gap: 28px; }
	.twc-book__pick { grid-template-columns: 1fr; }
	.twc-book__slots-list { max-height: none; flex-direction: row; flex-wrap: wrap; }
	.twc-book__slot { flex: 1 1 30%; }
}

.twc-detail__brand {
	font-family: var(--font-mono); font-size: 12px;
	letter-spacing: .2em; text-transform: uppercase; color: var(--twc-gold);
	margin-bottom: 14px;
}
.twc-detail__title {
	font-family: var(--font-display); font-weight: 800;
	font-size: clamp(30px, 3.6vw, 46px); line-height: .98;
	margin: 0 0 20px; text-transform: uppercase; letter-spacing: -.01em;
}
.twc-detail__pricerow { display: flex; align-items: center; gap: 14px; margin-bottom: 24px; }
.twc-detail__price { font-family: var(--font-display); font-weight: 800; font-size: 30px; }
.twc-detail__stock {
	font-family: var(--font-mono); font-size: 10.5px;
	letter-spacing: .12em; text-transform: uppercase;
	color: var(--twc-green); border: 1px solid var(--twc-green); padding: 4px 9px;
}
.twc-detail__stock.is-sold { color: var(--twc-red); border-color: var(--twc-red); }
.twc-detail__info .twc-rule { margin-bottom: 24px; }
.twc-detail__desc p { font-size: 15px; line-height: 1.65; color: #4a4a44; margin: 0 0 28px; }

.twc-specs { border: 1px solid var(--twc-line); margin-bottom: 28px; }
.twc-specs__row {
	display: flex; align-items: center; justify-content: space-between;
	padding: 13px 18px; border-bottom: 1px solid var(--twc-line-soft);
}
.twc-specs__row:last-child { border-bottom: none; }
.twc-specs__k {
	font-family: var(--font-mono); font-size: 11px;
	letter-spacing: .12em; text-transform: uppercase; color: var(--twc-muted-2);
}
.twc-specs__v { font-family: var(--font-body); font-size: 14px; font-weight: 600; color: var(--twc-ink); }

.twc-detail__cta { display: flex; gap: 12px; margin-bottom: 18px; }
.twc-detail__cta .twc-btn { flex: 1; padding: 18px; }
.twc-detail__phone {
	display: flex; align-items: center; gap: 9px;
	font-family: var(--font-mono); font-size: 11px;
	letter-spacing: .08em; text-transform: uppercase;
	color: var(--twc-muted); margin-bottom: 30px;
}
.twc-detail__badges { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.twc-badge { border: 1px solid var(--twc-line); padding: 16px 14px; text-align: center; }
.twc-badge__t {
	font-family: var(--font-display); font-weight: 800; font-size: 13px;
	text-transform: uppercase; margin-bottom: 5px;
}
.twc-badge__s {
	font-family: var(--font-mono); font-size: 10px;
	letter-spacing: .08em; text-transform: uppercase; color: var(--twc-muted-2);
}
.twc-related { padding-top: 80px; padding-bottom: 84px; }

/* ---- Inquiry modal ---- */
.twc-modal {
	position: fixed; inset: 0; z-index: 200;
	display: flex; align-items: center; justify-content: center; padding: 20px;
}
.twc-modal[hidden] { display: none; }
.twc-modal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.twc-modal__panel {
	position: relative; z-index: 1;
	background: #fff; width: 100%; max-width: 460px;
	border: 1px solid #000; padding: 34px 30px 30px;
	box-shadow: 0 30px 80px -30px rgba(0,0,0,.8);
	max-height: 92vh; overflow-y: auto;
}
.twc-modal__x {
	position: absolute; top: 10px; right: 14px;
	background: none; border: none; font-size: 26px; line-height: 1;
	cursor: pointer; color: var(--twc-ink);
}
.twc-modal__eyebrow {
	font-family: var(--font-mono); font-size: 11px;
	letter-spacing: .2em; text-transform: uppercase; color: var(--twc-gold); margin-bottom: 8px;
}
.twc-modal__title {
	font-family: var(--font-display); font-weight: 800; font-size: 26px;
	text-transform: uppercase; margin: 0 0 6px;
}
.twc-modal__watch { font-size: 13.5px; color: var(--twc-muted); margin-bottom: 20px; }

/* ---- Forms ---- */
.twc-field { margin: 0 0 14px; }
.twc-field label {
	display: block;
	font-family: var(--font-mono); font-size: 10.5px;
	letter-spacing: .1em; text-transform: uppercase; color: var(--twc-muted);
	margin-bottom: 6px;
}
.twc-field input,
.twc-field textarea {
	width: 100%; border: 1px solid #ccc; padding: 11px 12px;
	font-family: var(--font-body); font-size: 14px; outline: none;
	background: #fff;
}
.twc-field input:focus,
.twc-field textarea:focus { border-color: #000; }
.twc-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.twc-field--check label {
	display: flex; align-items: flex-start; gap: 10px;
	font-family: var(--font-body); font-size: 13px; line-height: 1.5;
	letter-spacing: 0; text-transform: none; color: var(--twc-muted-2, #555);
	margin-bottom: 0;
}
.twc-field--check input {
	width: auto; margin-top: 2px; flex: none;
}
.twc-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---- Footer ---- */
.twc-footer { background: #000; color: #fff; padding: 64px 30px 30px; position: relative; overflow: hidden; }
.twc-footer__inner { max-width: 1280px; margin: 0 auto; position: relative; z-index: 2; }
.twc-footer__cols {
	display: flex; flex-wrap: wrap; gap: 48px; justify-content: space-between;
	padding-bottom: 48px; border-bottom: 1px solid #222;
}
.twc-footer__signup { max-width: 340px; }
.twc-footer__heading { font-family: var(--font-display); font-weight: 800; font-size: 20px; letter-spacing: .02em; margin-bottom: 14px; }
.twc-footer__signup p { font-size: 14px; line-height: 1.6; color: var(--twc-muted-2); margin: 0 0 18px; }
.twc-footer__form { display: flex; border: 1px solid #333; }
.twc-footer__form input {
	flex: 1; background: transparent; border: none; outline: none; color: #fff;
	font-family: var(--font-mono); font-size: 11px; letter-spacing: .1em; padding: 13px 14px;
}
.twc-footer__form input::placeholder { color: #8a8a82; }
.twc-footer__form button {
	background: var(--twc-gold); color: #000; border: none;
	font-family: var(--font-mono); font-weight: 700; font-size: 11px;
	letter-spacing: .12em; padding: 0 18px; cursor: pointer; white-space: nowrap;
}
.twc-footer__sms-optin {
	display: flex; align-items: flex-start; gap: 9px; margin-top: 14px; cursor: pointer;
}
.twc-footer__sms-optin input { margin-top: 2px; accent-color: var(--twc-gold); flex: none; }
.twc-footer__sms-optin span {
	font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em; color: #cfcfc8; line-height: 1.5;
}
.twc-footer__back {
	background: none; border: none; padding: 0; margin-top: 12px; cursor: pointer;
	font-family: var(--font-mono); font-size: 11px; letter-spacing: .1em; color: var(--twc-muted-2);
}
.twc-footer__back:hover { color: #fff; }
.twc-footer__success {
	display: flex; flex-direction: column; gap: 4px;
	border: 1px solid var(--twc-gold); padding: 16px 18px;
}
.twc-footer__success strong {
	font-family: var(--font-mono); font-size: 12px; letter-spacing: .12em; color: var(--twc-gold);
}
.twc-footer__success span { font-family: var(--font-body); font-size: 13.5px; color: #cfcfc8; }
.twc-footer__error {
	font-family: var(--font-body); font-size: 13px; color: #e6b0a6;
	border: 1px solid #6a2f28; padding: 11px 14px; margin-bottom: 14px;
}
.twc-footer__col { display: flex; flex-direction: column; gap: 11px; }
.twc-footer__col-title { font-family: var(--font-mono); font-size: 11px; letter-spacing: .2em; color: var(--twc-gold); margin-bottom: 4px; }
.twc-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.twc-footer__links a,
.twc-footer__links-static a {
	font-family: var(--font-body); font-size: 13.5px; color: #cfcfc8; text-decoration: none;
}
.twc-footer__links a:hover,
.twc-footer__links-static a:hover { color: #fff; }
.twc-footer__links-static { display: flex; flex-direction: column; gap: 11px; }
.twc-footer__promise span { font-family: var(--font-body); font-size: 13.5px; color: #cfcfc8; }
.twc-footer__address { font-style: normal; }
.twc-footer__address a {
	font-family: var(--font-body); font-size: 13.5px; line-height: 1.6;
	color: #cfcfc8; text-decoration: none;
}
.twc-footer__address a:hover { color: #fff; }
.twc-footer__bottom {
	display: flex; flex-wrap: wrap; gap: 14px;
	justify-content: space-between; align-items: center; padding-top: 22px;
}
.twc-footer__bottom div { font-family: var(--font-mono); font-size: 11px; letter-spacing: .12em; color: var(--twc-muted); }
.twc-footer__watermark {
	position: absolute; left: 0; right: 0; bottom: -26px;
	text-align: center; font-family: var(--font-display); font-weight: 800;
	font-size: 13vw; line-height: .8; color: #0e0e0e;
	letter-spacing: .01em; white-space: nowrap; z-index: 1; pointer-events: none;
}

/* ---- Basic content (pages / blog) ---- */
.twc-page__head { margin-bottom: 30px; }
.twc-page__body { max-width: 760px; font-size: 16px; line-height: 1.7; color: #2a2a26; }
.twc-page__body a { color: var(--twc-gold); }
.twc-basic__head { margin-bottom: 30px; }
.twc-postlist { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 26px; }
.twc-postcard__title { font-family: var(--font-display); font-weight: 800; font-size: 20px; text-transform: uppercase; margin: 14px 0 6px; }
.twc-postcard__title a { text-decoration: none; }
.twc-postcard__meta { font-family: var(--font-mono); font-size: 11px; color: var(--twc-muted-2); margin-bottom: 8px; }
.twc-404 { text-align: center; padding-top: 90px; padding-bottom: 90px; }
.twc-404 .twc-hero__cta { justify-content: center; }
.twc-404__lede { font-size: 16px; color: var(--twc-muted); max-width: 460px; margin: 18px auto 30px; }

/* =============================================================
   Responsive
   ============================================================= */
@media (max-width: 1024px) {
	.twc-hero__inner { grid-template-columns: 1fr; }
	.twc-hero__featured { max-width: 460px; }
	.twc-detail { grid-template-columns: 1fr; gap: 30px; }
	.twc-detail__gallery { position: static; }
}

@media (max-width: 900px) {
	.twc-listing { grid-template-columns: 1fr; }
	.twc-filters {
		position: static; display: none;
		border: 1px solid var(--twc-line); padding: 20px; margin-bottom: 24px;
	}
	.twc-filters.is-open { display: block; }
	.twc-filters-toggle { display: inline-flex; }
}

@media (max-width: 760px) {
	.twc-nav { display: none; }
	.twc-menu-toggle { display: inline-flex; }
	.twc-header { padding: 0 18px; height: 64px; }
	.twc-announce { gap: 8px; font-size: 10px; letter-spacing: .14em; }
	.twc-announce__dash { display: none; }
	.twc-hero__inner { padding: 44px 20px 50px; }
	.twc-hero__stats { gap: 24px; flex-wrap: wrap; }
	.twc-section { padding: 48px 20px; }
	.twc-houses { padding: 48px 20px; }
	.twc-listhero { padding: 28px 20px 34px; }
	.twc-listing { padding: 26px 20px 64px; }
	.twc-detail { padding: 14px 20px 0; }
	.twc-props { grid-template-columns: 1fr; }
	.twc-detail__badges { grid-template-columns: 1fr; }
	.twc-detail__cta { flex-direction: column; }
	.twc-field-row { grid-template-columns: 1fr; gap: 0; }
	.twc-footer { padding: 48px 20px 26px; }
	.twc-footer__cols { gap: 32px; }
	.twc-footer__watermark { font-size: 18vw; bottom: -14px; }
}

@media (max-width: 480px) {
	.twc-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
	.twc-results .twc-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
}

/* =============================================================
   Found On - marketplace logo strip
   ============================================================= */
.twc-foundon { padding-top: 64px; padding-bottom: 76px; }
.twc-foundon__head { text-align: center; margin-bottom: 34px; }
.twc-foundon__head .twc-eyebrow { margin-bottom: 12px; }
.twc-foundon__title { font-size: clamp(28px, 3.6vw, 44px); }
.twc-foundon__grid {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 20px 48px;
}
.twc-foundon__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 6px 10px;
	text-decoration: none;
	filter: grayscale(1);
	opacity: .6;
	transition: filter .2s ease, opacity .2s ease, transform .2s ease;
}
.twc-foundon__item:hover { filter: grayscale(0); opacity: 1; transform: translateY(-2px); }
.twc-foundon__item img { max-height: 40px; width: auto; display: block; }
.twc-foundon__label {
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 26px;
	letter-spacing: -.01em;
	color: var(--twc-ink);
}

/* ---- Scroll-driven gears (very light grey, behind the white sections) ---- */
.twc-tiers,
.twc-foundon { position: relative; overflow: hidden; }
.twc-tiers > *:not(.twc-gears),
.twc-foundon > *:not(.twc-gears) { position: relative; z-index: 1; }
.twc-gears { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.twc-gear {
	position: absolute;
	aspect-ratio: 1 / 1;
	color: var(--twc-gear);
	will-change: transform;
}
.twc-gear__svg { display: block; width: 100%; height: 100%; }
/* Find Your Tier: big wheel low-right, smaller wheel high-left (opposite corners, never touch). */
.twc-gear--a { width: clamp(220px, 27vw, 330px); right: -78px; bottom: -96px; }
.twc-gear--b { width: clamp(130px, 16vw, 188px); left: -46px; top: -64px; }
/* Found On: big wheel high-left, smaller wheel low-right (opposite corners, never touch). */
.twc-gear--c { width: clamp(200px, 25vw, 300px); left: -78px; top: -90px; }
.twc-gear--d { width: clamp(116px, 15vw, 168px); right: -38px; bottom: -56px; }
@media (max-width: 760px) {
	.twc-gear--b,
	.twc-gear--d { display: none; }
	.twc-gear--a { right: -120px; bottom: -130px; }
	.twc-gear--c { left: -120px; top: -120px; }
}

/* =============================================================
   Live chat widget
   ============================================================= */
.twc-chat { position: fixed; right: 22px; bottom: 22px; z-index: 300; }
.twc-chat__launcher {
	position: relative;
	z-index: 2;
	width: 58px; height: 58px;
	border-radius: 50%;
	background: var(--twc-gold);
	color: #000;
	border: none;
	cursor: pointer;
	display: grid;
	place-items: center;
	box-shadow: 0 14px 30px -10px rgba(0,0,0,.5);
	transition: transform .15s ease;
}
.twc-chat__launcher:hover { transform: translateY(-2px); }
.twc-chat__icon-close { display: none; }
.twc-chat.is-open .twc-chat__icon-open { display: none; }
.twc-chat.is-open .twc-chat__icon-close { display: block; }

.twc-chat__panel {
	position: absolute;
	right: 0;
	bottom: 72px;
	width: 340px;
	max-width: calc(100vw - 32px);
	height: 460px;
	max-height: calc(100vh - 120px);
	background: #fff;
	border: 1px solid #000;
	box-shadow: 0 30px 70px -25px rgba(0,0,0,.7);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.twc-chat__panel[hidden] { display: none; }
.twc-chat__header {
	background: #000;
	color: #fff;
	padding: 15px 18px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.twc-chat__ident { display: flex; align-items: center; gap: 11px; }
.twc-chat__avatar {
	width: 40px; height: 40px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
	border: 1px solid rgba(255, 255, 255, .25);
}
.twc-chat__title {
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 16px;
	text-transform: uppercase;
	letter-spacing: .01em;
}
.twc-chat__status {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #b8b8b0;
	display: flex;
	align-items: center;
	gap: 7px;
	margin-top: 5px;
}
.twc-chat__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--twc-green); display: inline-block; }
.twc-chat__close { background: none; border: none; color: #fff; font-size: 22px; line-height: 1; cursor: pointer; padding: 0 2px; }

.twc-chat__body {
	flex: 1;
	overflow-y: auto;
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: #fafaf8;
}
.twc-chat__msg { max-width: 85%; }
.twc-chat__msg p { margin: 0; padding: 10px 13px; font-size: 13.5px; line-height: 1.5; }
.twc-chat__msg--bot { align-self: flex-start; display: flex; align-items: flex-end; gap: 8px; }
.twc-chat__msg-avatar {
	width: 28px; height: 28px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
	margin-bottom: 2px;
}
.twc-chat__msg--bot p {
	background: #fff;
	border: 1px solid var(--twc-line);
	color: #2a2a26;
	border-radius: 2px 14px 14px 14px;
}
.twc-chat__msg--user { align-self: flex-end; }
.twc-chat__msg--user p { background: #000; color: #fff; border-radius: 14px 2px 14px 14px; }
.twc-chat__msg.is-typing p { color: var(--twc-muted-2); letter-spacing: .2em; }

.twc-chat__form { display: flex; flex-direction: column; border-top: 1px solid var(--twc-line); background: #fff; }
.twc-chat__row { display: flex; }
.twc-chat__form input {
	flex: 1; border: none; outline: none;
	padding: 14px 16px; width: 100%;
	font-family: var(--font-body); font-size: 14px;
}
.twc-chat__form button {
	background: var(--twc-gold);
	color: #000;
	border: none;
	padding: 0 18px;
	cursor: pointer;
	display: grid;
	place-items: center;
}
.twc-chat__form button:hover { background: #a87f22; }

@media (max-width: 480px) {
	.twc-chat { right: 16px; bottom: 16px; }
	.twc-chat__panel { width: calc(100vw - 32px); height: 68vh; }
}

/* =============================================================
   Sell Your Watch page
   ============================================================= */
.twc-sellhero__lede {
	font-size: 15px;
	line-height: 1.6;
	color: var(--twc-muted-2);
	max-width: 540px;
	margin: 16px 0 0;
}
.twc-sell { padding-top: 20px; }
.twc-sell .twc-flash { max-width: none; margin: 0 0 28px; padding: 14px 18px; }
.twc-sell__grid {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 48px;
	align-items: start;
}
.twc-sell__aside { position: sticky; top: 90px; }
.twc-sell__aside-title {
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 26px;
	line-height: 1.05;
	text-transform: uppercase;
	letter-spacing: -.01em;
	margin: 0 0 20px;
}
.twc-sell__points {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 13px;
}
.twc-sell__points li {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	font-size: 14px;
	line-height: 1.5;
	color: #2a2a26;
}
.twc-sell__points .twc-dot { margin-top: 6px; }
.twc-sell__phone {
	display: flex;
	align-items: center;
	gap: 9px;
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--twc-muted);
}
.twc-sell__formwrap { border: 1px solid var(--twc-line); padding: 30px; background: #fff; }
.twc-formgroup__title {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--twc-gold);
	padding-bottom: 10px;
	border-bottom: 1px solid var(--twc-line);
	margin: 0 0 18px;
}
.twc-sell__form .twc-formgroup__title + * { margin-top: 0; }
.twc-sell__form .twc-formgroup__title:not(:first-of-type) { margin-top: 30px; }
.twc-field select {
	width: 100%;
	border: 1px solid #ccc;
	padding: 11px 34px 11px 12px;
	font-family: var(--font-body);
	font-size: 14px;
	background-color: #fff;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230a0a0a' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
}
.twc-field select:focus { border-color: #000; }
.twc-field--file input[type="file"] {
	width: 100%;
	border: 1px dashed #bbb;
	padding: 12px;
	font-family: var(--font-body);
	font-size: 13px;
	background: #fafaf8;
	cursor: pointer;
}
.twc-field__hint {
	display: block;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--twc-muted-2);
	margin-top: 6px;
}
.twc-sell__submit { margin-top: 22px; }
.twc-sell__disclaimer {
	font-family: var(--font-mono);
	font-size: 10.5px;
	letter-spacing: .04em;
	color: var(--twc-muted-2);
	text-align: center;
	margin: 12px 0 0;
}

@media (max-width: 900px) {
	.twc-sell__grid { grid-template-columns: 1fr; gap: 30px; }
	.twc-sell__aside { position: static; }
}

/* =============================================================
   Policy / written content pages
   ============================================================= */
.twc-page__body > p:first-child,
.twc-page__body > h2:first-child { margin-top: 0; }
.twc-page__body h2 {
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 22px;
	text-transform: uppercase;
	letter-spacing: -.01em;
	margin: 36px 0 12px;
}
.twc-page__body h3 { font-family: var(--font-display); font-weight: 800; font-size: 17px; margin: 26px 0 10px; }
.twc-page__body p { margin: 0 0 16px; }
.twc-page__body ul { margin: 0 0 18px; padding-left: 20px; }
.twc-page__body li { margin-bottom: 9px; }
.twc-page__body em {
	font-style: normal;
	font-family: var(--font-mono);
	font-size: 11.5px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--twc-muted-2);
}

/* =============================================================
   Contact page
   ============================================================= */
.twc-contact__details { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.twc-contact__details li { display: flex; flex-direction: column; gap: 4px; }
.twc-contact__k {
	font-family: var(--font-mono);
	font-size: 10.5px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--twc-muted-2);
}
.twc-contact__details a { color: var(--twc-ink); text-decoration: none; font-size: 15px; font-weight: 600; }
.twc-contact__details a:hover { color: var(--twc-gold); }
.twc-contact__details span:not(.twc-contact__k) { font-size: 14.5px; color: #2a2a26; }

/* =============================================================
   Authentication page
   ============================================================= */
.twc-authcheck { padding-top: 8px; }
.twc-authgrid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1px;
	background: var(--twc-line);
	border: 1px solid var(--twc-line);
}
.twc-authitem { background: #fff; padding: 26px 24px; display: flex; gap: 14px; align-items: flex-start; }
.twc-authitem__mark { flex: none; width: 34px; height: 34px; border: 1px solid var(--twc-line); display: grid; place-items: center; }
.twc-authitem__title { font-family: var(--font-display); font-weight: 800; font-size: 15px; text-transform: uppercase; margin-bottom: 6px; }
.twc-authitem__text { font-size: 13.5px; line-height: 1.55; color: var(--twc-muted); margin: 0; }

.twc-authcta { background: #000; color: #fff; padding: 80px 30px; }
.twc-authcta__inner { max-width: 760px; margin: 0 auto; text-align: center; }
.twc-authcta__title {
	font-family: var(--font-display);
	font-weight: 800;
	font-size: clamp(28px, 4vw, 46px);
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: -.01em;
	margin: 0 0 18px;
}
.twc-authcta__lede { font-size: 16px; line-height: 1.6; color: var(--twc-muted-2); max-width: 540px; margin: 0 auto 30px; }
.twc-authcta .twc-hero__cta { justify-content: center; }

/* =============================================================
   Footer legal links
   ============================================================= */
.twc-footer__legal { display: flex; gap: 8px; align-items: center; }
.twc-footer__legal a { color: var(--twc-muted); text-decoration: none; }
.twc-footer__legal a:hover { color: #fff; }

/* =============================================================
   Cookie consent banner
   ============================================================= */
.twc-cookie {
	position: fixed;
	left: 22px;
	bottom: 22px;
	z-index: 320;
	width: 400px;
	max-width: calc(100vw - 44px);
	background: #000;
	color: #fff;
	border: 1px solid #222;
	box-shadow: 0 24px 60px -20px rgba(0,0,0,.7);
	padding: 22px 22px 20px;
}
.twc-cookie[hidden] { display: none; }
.twc-cookie__eyebrow {
	font-family: var(--font-mono);
	font-size: 10.5px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--twc-gold);
	margin-bottom: 10px;
}
.twc-cookie__text { font-size: 13.5px; line-height: 1.55; color: #cfcfc8; margin: 0 0 16px; }
.twc-cookie__text a { color: #fff; text-decoration: underline; }
.twc-cookie__actions { display: flex; gap: 10px; }
.twc-cookie__btn { flex: 1; padding: 12px 18px; font-size: 12px; }
.twc-cookie__btn.twc-btn--ghost-dark { color: #fff; border-color: #444; background: transparent; }
.twc-cookie__btn.twc-btn--ghost-dark:hover { background: #fff; color: #000; border-color: #fff; }

@media (max-width: 480px) {
	.twc-cookie { left: 14px; right: 14px; width: auto; max-width: none; bottom: 86px; }
}

/* =============================================================
   The Journal - blog collection
   ============================================================= */
.twc-journalhero .twc-eyebrow { margin: 0 0 14px; }

.twc-catbar-wrap { padding-top: 30px; padding-bottom: 0; }
.twc-catbar {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	border-bottom: 1px solid var(--twc-line);
	padding-bottom: 18px;
}
.twc-cat {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--twc-muted);
	border: 1px solid var(--twc-line);
	padding: 8px 14px;
	text-decoration: none;
	transition: background .15s, color .15s, border-color .15s;
}
.twc-cat:hover { border-color: #000; color: #000; }
.twc-cat.is-active { background: #000; color: #fff; border-color: #000; }

/* Featured story */
.twc-jfeatured-wrap { padding-top: 32px; padding-bottom: 8px; }
.twc-jfeatured {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border: 1px solid var(--twc-line);
	text-decoration: none;
	color: inherit;
	transition: border-color .18s ease, box-shadow .18s ease;
}
.twc-jfeatured:hover { border-color: #000; box-shadow: 0 18px 44px -26px rgba(0,0,0,.45); }
.twc-jfeatured__body { padding: 42px 40px; display: flex; flex-direction: column; justify-content: center; }
.twc-jfeatured__tags { display: flex; gap: 8px; margin-bottom: 18px; }
.twc-jtag {
	font-family: var(--font-mono); font-size: 10px; font-weight: 700;
	letter-spacing: .16em; text-transform: uppercase; color: #000;
	background: var(--twc-gold); padding: 5px 9px;
}
.twc-jtag--ghost { background: transparent; color: var(--twc-muted); border: 1px solid var(--twc-line); }
.twc-jfeatured__title {
	font-family: var(--font-display); font-weight: 800;
	font-size: clamp(26px, 3vw, 40px); line-height: 1.02;
	text-transform: uppercase; letter-spacing: -.01em; margin: 0 0 16px;
}
.twc-jfeatured__excerpt { font-size: 15px; line-height: 1.6; color: var(--twc-muted); margin: 0 0 22px; max-width: 460px; }
.twc-jfeatured__meta {
	font-family: var(--font-mono); font-size: 11px; letter-spacing: .1em;
	text-transform: uppercase; color: var(--twc-muted-2); margin-bottom: 22px;
}
.twc-jfeatured__meta span { color: var(--twc-line); padding: 0 4px; }
.twc-jfeatured__more {
	font-family: var(--font-mono); font-size: 12px; font-weight: 700;
	letter-spacing: .1em; text-transform: uppercase; color: #000;
	border-bottom: 2px solid var(--twc-gold); padding-bottom: 4px; align-self: flex-start;
}
.twc-jfeatured__media { background: var(--twc-stone); overflow: hidden; }
.twc-jfeatured__media img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; display: block; }

/* Article grid + card */
.twc-jgrid-wrap { padding-top: 40px; }
.twc-jgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 26px; }
.twc-jcard { display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.twc-jcard__media { position: relative; aspect-ratio: 4 / 3; background: var(--twc-stone); overflow: hidden; }
.twc-jcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.twc-jcard:hover .twc-jcard__media img { transform: scale(1.04); }
.twc-jcard__tag {
	position: absolute; top: 0; left: 0;
	font-family: var(--font-mono); font-size: 10px; font-weight: 700;
	letter-spacing: .16em; text-transform: uppercase; color: #000;
	background: var(--twc-gold); padding: 5px 9px;
}
.twc-jcard__body { padding: 16px 2px 0; }
.twc-jcard__title {
	font-family: var(--font-display); font-weight: 800; font-size: 16px;
	line-height: 1.15; text-transform: uppercase; letter-spacing: -.01em; margin: 0 0 8px;
}
.twc-jcard:hover .twc-jcard__title { color: var(--twc-gold); }
.twc-jcard__excerpt { font-size: 13.5px; line-height: 1.55; color: var(--twc-muted); margin: 0 0 12px; }
.twc-jcard__meta { font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--twc-muted-2); }
.twc-jcard__meta span { color: var(--twc-line); }

/* =============================================================
   The Journal - single post
   ============================================================= */
.twc-posthero { padding: 50px 30px 56px; }
.twc-posthero__inner { max-width: 860px; margin: 0 auto; }
.twc-posthero .twc-breadcrumb { color: var(--twc-muted-3); }
.twc-posthero__cat {
	font-family: var(--font-mono); font-size: 11px; font-weight: 700;
	letter-spacing: .18em; text-transform: uppercase; color: var(--twc-gold); margin: 10px 0 14px;
}
.twc-posthero__title {
	font-family: var(--font-display); font-weight: 900;
	font-size: clamp(32px, 5vw, 58px); line-height: .98;
	text-transform: uppercase; letter-spacing: -.01em; margin: 0;
}
.twc-posthero__excerpt { font-size: 17px; line-height: 1.6; color: #b8b8b0; margin: 20px 0 0; max-width: 640px; }
.twc-posthero__meta {
	font-family: var(--font-mono); font-size: 11px; letter-spacing: .12em;
	text-transform: uppercase; color: var(--twc-muted-3); margin-top: 22px;
}
.twc-posthero__meta span { color: #444; padding: 0 4px; }

.twc-post-figure { max-width: 900px; margin: 0 auto; padding: 48px 30px 0; }
.twc-post-figure img {
	width: 100%; aspect-ratio: 16 / 9; object-fit: contain;
	background: var(--twc-stone); display: block;
}

.twc-article { max-width: 720px; margin: 0 auto; padding: 50px 30px 10px; }
.twc-article p { font-size: 17px; line-height: 1.8; color: #2a2a26; margin: 0 0 22px; }
.twc-article > p:first-of-type::first-letter {
	float: left; font-family: var(--font-display); font-weight: 800;
	font-size: 64px; line-height: .78; padding: 6px 12px 0 0; color: var(--twc-ink);
}
.twc-article h2 {
	font-family: var(--font-display); font-weight: 800;
	font-size: clamp(22px, 2.6vw, 28px); text-transform: uppercase;
	letter-spacing: -.01em; margin: 42px 0 14px;
}
.twc-article h3 { font-family: var(--font-display); font-weight: 800; font-size: 19px; margin: 30px 0 10px; }
.twc-article a { color: var(--twc-gold); }
.twc-article ul, .twc-article ol { font-size: 17px; line-height: 1.8; color: #2a2a26; margin: 0 0 22px; padding-left: 22px; }
.twc-article li { margin-bottom: 8px; }
.twc-article img { max-width: 100%; height: auto; }
.twc-article blockquote {
	margin: 38px 0; padding: 4px 0 4px 28px; border-left: 3px solid var(--twc-gold);
}
.twc-article blockquote p {
	font-family: var(--font-display); font-weight: 700; font-size: 24px;
	line-height: 1.3; color: var(--twc-ink); margin: 0 0 10px;
}
.twc-article blockquote cite {
	font-family: var(--font-mono); font-style: normal; font-size: 11px;
	letter-spacing: .12em; text-transform: uppercase; color: var(--twc-muted-2);
}

.twc-post-tags {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
	margin-top: 38px; padding-top: 24px; border-top: 1px solid var(--twc-line);
}
.twc-post-tags__label { font-family: var(--font-mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--twc-muted-2); margin-right: 4px; }
.twc-post-tags__tag {
	font-family: var(--font-mono); font-size: 11px; border: 1px solid var(--twc-line);
	padding: 6px 11px; text-decoration: none; color: var(--twc-ink);
}
.twc-post-tags__tag:hover { border-color: #000; }

.twc-author { max-width: 720px; margin: 34px auto 0; padding: 0 30px; }
.twc-author__inner { background: #0a0a0a; border: 1px solid var(--twc-dark-line); padding: 24px; display: flex; gap: 18px; align-items: flex-start; }
.twc-author__avatar {
	flex: none; width: 54px; height: 54px; background: var(--twc-gold); color: #000;
	display: grid; place-items: center; font-family: var(--font-display); font-weight: 800; font-size: 18px;
}
.twc-author__name { font-family: var(--font-display); font-weight: 800; font-size: 15px; text-transform: uppercase; color: #fff; margin-bottom: 6px; }
.twc-author__bio { font-size: 13.5px; line-height: 1.6; color: #b8b8b0; margin: 0; }

.twc-keepreading { padding-top: 72px; padding-bottom: 84px; }
.twc-keepreading__title { font-size: clamp(28px, 3.6vw, 44px); }

@media (max-width: 880px) {
	.twc-jfeatured { grid-template-columns: 1fr; }
	.twc-jfeatured__media { order: -1; }
	.twc-jfeatured__media img { min-height: 240px; }
	.twc-jfeatured__body { padding: 30px 24px; }
}
@media (max-width: 480px) {
	.twc-jgrid { grid-template-columns: 1fr; }
	.twc-article > p:first-of-type::first-letter { font-size: 50px; }
}

/* =============================================================
   Motion
   ============================================================= */

/* --- Scroll reveal (keyframe-based so it never fights hover transforms) --- */
@keyframes twc-rise {
	from { opacity: 0; transform: translateY(22px); }
	to   { opacity: 1; transform: translateY(0); }
}
.twc-anim .twc-hero__copy:not(.is-in),
.twc-anim .twc-hero__featured:not(.is-in),
.twc-anim .twc-section__head:not(.is-in),
.twc-anim .twc-grid > *:not(.is-in),
.twc-anim .twc-props > *:not(.is-in),
.twc-anim .twc-houses__grid > *:not(.is-in),
.twc-anim .twc-tiers__grid > *:not(.is-in),
.twc-anim .twc-foundon__item:not(.is-in),
.twc-anim .twc-jfeatured:not(.is-in),
.twc-anim .twc-jgrid > *:not(.is-in),
.twc-anim .twc-catbar:not(.is-in),
.twc-anim .twc-listhero__head:not(.is-in),
.twc-anim .twc-sellhero__lede:not(.is-in),
.twc-anim .twc-posthero__inner:not(.is-in),
.twc-anim .twc-post-figure:not(.is-in),
.twc-anim .twc-author:not(.is-in),
.twc-anim .twc-authgrid > *:not(.is-in),
.twc-anim .twc-authcta__inner:not(.is-in),
.twc-anim .twc-sell__grid > *:not(.is-in),
.twc-anim .twc-keepreading:not(.is-in),
.twc-anim .twc-team-list > *:not(.is-in) {
	opacity: 0;
	transform: translateY(22px);
}
.twc-anim .twc-hero__copy.is-in,
.twc-anim .twc-hero__featured.is-in,
.twc-anim .twc-section__head.is-in,
.twc-anim .twc-grid > *.is-in,
.twc-anim .twc-props > *.is-in,
.twc-anim .twc-houses__grid > *.is-in,
.twc-anim .twc-tiers__grid > *.is-in,
.twc-anim .twc-foundon__item.is-in,
.twc-anim .twc-jfeatured.is-in,
.twc-anim .twc-jgrid > *.is-in,
.twc-anim .twc-catbar.is-in,
.twc-anim .twc-listhero__head.is-in,
.twc-anim .twc-sellhero__lede.is-in,
.twc-anim .twc-posthero__inner.is-in,
.twc-anim .twc-post-figure.is-in,
.twc-anim .twc-author.is-in,
.twc-anim .twc-authgrid > *.is-in,
.twc-anim .twc-authcta__inner.is-in,
.twc-anim .twc-sell__grid > *.is-in,
.twc-anim .twc-keepreading.is-in,
.twc-anim .twc-team-list > *.is-in {
	animation: twc-rise .62s cubic-bezier(.16, 1, .3, 1) backwards;
}

/* --- Gold sweep on the outline buttons --- */
.twc-btn { position: relative; overflow: hidden; isolation: isolate; }
.twc-btn--ghost::before,
.twc-btn--ghost-dark::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--twc-gold);
	transform: translateX(-101%);
	transition: transform .34s cubic-bezier(.16, 1, .3, 1);
}
.twc-btn--ghost:hover::before,
.twc-btn--ghost-dark:hover::before { transform: translateX(0); }
.twc-btn--ghost:hover { color: #000; border-color: var(--twc-gold); }
.twc-btn--ghost-dark:hover { color: #000; background: transparent; border-color: var(--twc-gold); }

/* --- Arrow / CTA nudge --- */
.twc-viewall,
.twc-jfeatured__more,
.twc-hero__featured-view { display: inline-block; transition: transform .2s cubic-bezier(.16, 1, .3, 1); }
.twc-viewall:hover,
.twc-jfeatured:hover .twc-jfeatured__more,
.twc-hero__featured:hover .twc-hero__featured-view { transform: translateX(4px); }

/* --- Watch / article card "crystal sheen" (the optional one - delete this
       block to remove) --- */
.twc-card__media::after,
.twc-jcard__media::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(115deg, transparent 38%, rgba(255,255,255,.16) 47%, rgba(183,144,44,.12) 52%, transparent 62%);
	transform: translateX(-130%);
	transition: transform .8s cubic-bezier(.16, 1, .3, 1);
}
.twc-card:hover .twc-card__media::after,
.twc-jcard:hover .twc-jcard__media::after { transform: translateX(130%); }

/* --- Journal reading progress bar --- */
.twc-readingbar {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: var(--twc-gold);
	transform: scaleX(0);
	transform-origin: left;
	z-index: 400;
}

/* --- Cross-page view transitions (supported browsers only) --- */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation-duration: .2s; animation-timing-function: cubic-bezier(.16, 1, .3, 1); }
::view-transition-new(root) { animation-duration: .26s; animation-timing-function: cubic-bezier(.16, 1, .3, 1); }
.twc-header { view-transition-name: twc-header; }
.twc-footer { view-transition-name: twc-footer; }

/* --- Reduced motion: stop everything --- */
@media (prefers-reduced-motion: reduce) {
	.twc-card__media::after,
	.twc-jcard__media::after,
	.twc-btn--ghost::before,
	.twc-btn--ghost-dark::before,
	.twc-viewall,
	.twc-jfeatured__more,
	.twc-hero__featured-view,
	.twc-detail__main img,
	.twc-nav__list a::after { transition: none; }
	::view-transition-group(*),
	::view-transition-old(*),
	::view-transition-new(*) { animation: none !important; }
	.twc-mobile-nav__list li,
	.twc-mobile-nav__foot { animation: none; }
}

/* --- Touch devices: no real hover --- */
/* iOS fakes :hover on tap and it sticks until you tap elsewhere, so flick-
   scrolling across the grid makes cards lift, image-zoom, and sweep their
   "sheen" right then back left -> the flicker. Kill those hover-only effects
   on touch (a tap just navigates). Desktop hover is unaffected. */
@media (hover: none) and (pointer: coarse) {
	.twc-card__media::after,
	.twc-jcard__media::after { display: none; }
	.twc-card:hover {
		transform: none;
		box-shadow: none;
		border-color: var(--twc-line);
	}
	.twc-card:hover .twc-card__media img { transform: none; }
}

/* =============================================================
   Search results
   ============================================================= */
.twc-search-group { padding-top: 48px; padding-bottom: 6px; }
.twc-search-group + .twc-search-group { padding-top: 18px; }
.twc-search-group .twc-section__head { margin-bottom: 26px; align-items: baseline; }
.twc-search-group__title { font-size: clamp(26px, 3.4vw, 40px); }
.twc-pagination-wrap { padding-top: 16px; padding-bottom: 64px; }

@media (max-width: 480px) {
	.twc-searchbar { padding: 0 50px 0 16px; }
	.twc-search-close { right: 12px; }
}

/* =============================================================
   Team page
   ============================================================= */
.twc-team-hero {
	position: relative;
	height: 100vh;
	min-height: 560px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: #000;
	overflow: hidden;
}
.twc-team-hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.twc-team-hero__embedwrap {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}
.twc-team-hero__embed {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100vw;
	height: 56.25vw;
	min-height: 100vh;
	min-width: 177.78vh;
	border: 0;
	pointer-events: none;
}
.twc-team-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.32) 45%, rgba(0,0,0,.62) 100%);
}
.twc-team-hero__inner {
	position: relative;
	z-index: 2;
	color: #fff;
	padding: 0 30px;
	max-width: 900px;
}
.twc-team-hero__inner .twc-eyebrow { display: inline-block; margin-bottom: 16px; }
.twc-team-hero__title {
	font-family: var(--font-display);
	font-weight: 900;
	font-size: clamp(48px, 9vw, 132px);
	line-height: .9;
	text-transform: uppercase;
	letter-spacing: -.01em;
	margin: 0;
}
.twc-team-hero__lede {
	font-size: 17px;
	line-height: 1.6;
	color: #d8d8d2;
	max-width: 560px;
	margin: 22px auto 0;
}
.twc-team-hero__scroll {
	position: absolute;
	bottom: 26px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: #fff;
}
.twc-team-hero__scroll svg { animation: twc-bounce 1.8s ease-in-out infinite; }
@keyframes twc-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(5px); } }

.twc-team-list {
	max-width: var(--twc-max);
	margin: 0 auto;
	padding: 80px 30px 92px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 44px 26px;
}
.twc-team-member { display: flex; flex-direction: column; }
.twc-team-member__photo {
	position: relative;
	aspect-ratio: 4 / 5;
	background: var(--twc-stone);
	overflow: hidden;
	display: grid;
	place-items: center;
}
.twc-team-member__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.twc-team-member__initials {
	font-family: var(--font-display);
	font-weight: 800;
	font-size: clamp(42px, 6vw, 66px);
	color: var(--twc-gold);
	letter-spacing: -.02em;
}
.twc-team-member__info { padding-top: 18px; }
.twc-team-member__role {
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--twc-gold);
	margin-bottom: 8px;
}
.twc-team-member__name {
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 20px;
	line-height: 1.05;
	text-transform: uppercase;
	letter-spacing: -.01em;
	margin: 0 0 10px;
}
.twc-team-member__grail { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--twc-line); }
.twc-team-member__graillabel {
	display: block;
	font-family: var(--font-mono);
	font-size: 9.5px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--twc-muted-2);
	margin-bottom: 6px;
}
.twc-team-member__grailwatch {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 14px;
	color: var(--twc-ink);
}

@media (max-width: 1024px) { .twc-team-list { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px) {
	.twc-team-list { grid-template-columns: repeat(2, 1fr); gap: 32px 18px; padding: 52px 20px 64px; }
	.twc-team-hero__title { font-size: clamp(44px, 15vw, 90px); }
}
@media (max-width: 440px) { .twc-team-list { grid-template-columns: 1fr; } }

/* Full-bleed cinematic hero: the video fills the whole viewport, with the
   header floating transparently over it (solid once you scroll into the grid). */
.twc-screen-team .twc-announce { display: none; }
.twc-screen-team .twc-team-hero { margin-top: -72px; }
@media (max-width: 760px) { .twc-screen-team .twc-team-hero { margin-top: -64px; } }
.twc-screen-team .twc-header {
	background: transparent;
	border-bottom-color: transparent;
	transition: background .25s ease, border-color .25s ease;
}
.twc-screen-team .twc-nav__list a,
.twc-screen-team .twc-iconbtn { color: #fff; }
.twc-screen-team .twc-menu-toggle span { background: #fff; }
/* Over the video: white wordmark instead of the (white-on-dark unreadable) logo. */
.twc-header__wordmark {
	display: none;
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 18px;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: #fff;
	text-decoration: none;
	line-height: 1;
}
.twc-screen-team .twc-header:not(.is-stuck) .twc-header__logo > a:not(.twc-header__wordmark) { display: none; }
.twc-screen-team .twc-header:not(.is-stuck) .twc-header__wordmark { display: inline-flex; align-items: center; }
.twc-screen-team .twc-header.is-stuck {
	background: #fff;
	border-bottom-color: #ececec;
}
.twc-screen-team .twc-header.is-stuck .twc-nav__list a,
.twc-screen-team .twc-header.is-stuck .twc-iconbtn { color: var(--twc-ink); }
.twc-screen-team .twc-header.is-stuck .twc-menu-toggle span { background: var(--twc-ink); }
@media (prefers-reduced-motion: reduce) {
	.twc-team-hero__scroll svg { animation: none; }
}

/* ---- Reviews landing page ---- */
.twc-stars { display: inline-flex; align-items: center; gap: 2px; line-height: 0; }
.twc-stars .twc-star { fill: #d9d9d4; }
.twc-stars .twc-star--on { fill: var(--twc-gold); }
.twc-stars--lg .twc-star { width: 20px; height: 20px; }

.twc-reviews { padding-top: 40px; padding-bottom: 40px; }
.twc-reviews + .twc-reviews { border-top: 1px solid var(--twc-line); }
.twc-reviews:first-of-type { padding-top: 60px; }
.twc-reviews__empty { font-family: var(--font-body); color: var(--twc-muted); text-align: center; padding: 40px 0; }

/* Reviews-page hero: text left, "Write a Review" button right. */
.twc-reviewshero__inner { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; flex-wrap: wrap; }
.twc-reviewshero__text { flex: 1 1 480px; min-width: 0; }
.twc-reviewshero__action { flex: 0 0 auto; padding-bottom: 6px; }
@media (max-width: 680px) {
	.twc-reviewshero__inner { align-items: flex-start; }
	.twc-reviewshero__action { width: 100%; }
	.twc-reviewshero__action .twc-btn { width: 100%; }
}

.twc-reviews__head {
	display: flex; align-items: center; flex-wrap: wrap; gap: 14px 26px;
	padding-bottom: 26px; margin-bottom: 30px; border-bottom: 1px solid var(--twc-line);
}
.twc-reviews__platform { display: inline-flex; align-items: center; gap: 12px; }
.twc-reviews__logo { height: 26px; width: auto; display: block; }
.twc-reviews__badge {
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; border-radius: 7px;
	background: var(--twc-accent, var(--twc-gold)); color: #fff;
	font-family: var(--font-display); font-weight: 800; font-size: 18px; line-height: 1;
}
.twc-reviews__pname { font-family: var(--font-display); font-weight: 800; font-size: 22px; letter-spacing: .01em; color: var(--twc-ink); }
.twc-reviews__score { display: inline-flex; align-items: center; gap: 10px; }
.twc-reviews__rating { font-family: var(--font-display); font-weight: 800; font-size: 19px; color: var(--twc-ink); }
.twc-reviews__count { font-family: var(--font-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--twc-muted); }
.twc-reviews__all {
	margin-left: auto; font-family: var(--font-mono); font-size: 11px; font-weight: 700;
	letter-spacing: .14em; text-transform: uppercase; color: var(--twc-ink);
	text-decoration: none; border-bottom: 1px solid var(--twc-accent, var(--twc-gold)); padding-bottom: 3px;
}
.twc-reviews__all:hover { color: var(--twc-accent, var(--twc-gold)); }

.twc-reviews__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.twc-review {
	display: flex; flex-direction: column; gap: 14px;
	background: #fff; border: 1px solid var(--twc-line); border-radius: 4px;
	padding: 22px 22px 20px; position: relative;
}
.twc-review::before {
	content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
	background: var(--twc-accent, var(--twc-gold)); border-radius: 4px 0 0 4px;
}
.twc-review__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.twc-review__verified {
	display: inline-flex; align-items: center; gap: 4px;
	font-family: var(--font-mono); font-size: 9.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	color: var(--twc-green);
}
.twc-review__text { margin: 0; font-family: var(--font-body); font-size: 14.5px; line-height: 1.62; color: #2a2a26; }
.twc-review__text p { margin: 0 0 8px; }
.twc-review__text p:last-child { margin-bottom: 0; }
.twc-review__by { display: flex; align-items: center; gap: 11px; margin-top: auto; padding-top: 6px; }
.twc-review__avatar { width: 38px; height: 38px; border-radius: 50%; overflow: hidden; flex: none; }
.twc-review__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.twc-review__avatar--ph {
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--twc-stone); color: var(--twc-muted);
	font-family: var(--font-display); font-weight: 800; font-size: 15px;
}
.twc-review__meta { display: flex; flex-direction: column; min-width: 0; }
.twc-review__name { font-family: var(--font-display); font-weight: 700; font-size: 14px; color: var(--twc-ink); }
.twc-review__sub { font-family: var(--font-mono); font-size: 10px; letter-spacing: .06em; color: var(--twc-muted-2); margin-top: 2px; }
.twc-review__src { margin-left: auto; color: var(--twc-muted-2); display: inline-flex; flex: none; }
.twc-review__src:hover { color: var(--twc-accent, var(--twc-gold)); }

@media (max-width: 980px) {
	.twc-reviews__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
	.twc-reviews { padding-left: 20px; padding-right: 20px; }
	.twc-reviews__grid { grid-template-columns: 1fr; }
	.twc-reviews__all { margin-left: 0; width: 100%; }
}

/* ---- Homepage reviews highlight ---- */
.twc-homereviews { background: #000; color: #fff; padding: 72px 30px; }
.twc-homereviews__inner { max-width: var(--twc-max); margin: 0 auto; }
.twc-homereviews .twc-section__head { margin-bottom: 30px; }
.twc-homereviews__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.twc-homereview {
	display: flex; flex-direction: column; gap: 14px;
	background: #0d0d0d; border: 1px solid var(--twc-dark-line); border-radius: 4px;
	padding: 26px 24px 22px;
}
.twc-homereview .twc-stars { align-self: flex-start; }
.twc-homereview .twc-star { fill: #2a2a26; }
.twc-homereview .twc-star--on { fill: var(--twc-gold); }
.twc-homereview__text { margin: 0; font-family: var(--font-body); font-size: 15px; line-height: 1.62; color: #cfcfc8; }
.twc-homereview__by { display: flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 4px; }
.twc-homereview__avatar {
	width: 40px; height: 40px; border-radius: 50%; flex: none;
	display: inline-flex; align-items: center; justify-content: center;
	background: #1c1c1c; color: #cfcfc8;
	font-family: var(--font-display); font-weight: 800; font-size: 16px;
}
.twc-homereview__meta { display: flex; flex-direction: column; min-width: 0; }
.twc-homereview__name { font-family: var(--font-display); font-weight: 700; font-size: 14px; color: #fff; }
.twc-homereview__detail { font-family: var(--font-mono); font-size: 10px; letter-spacing: .06em; color: var(--twc-muted-2); margin-top: 2px; }

@media (max-width: 980px) {
	.twc-homereviews__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
	.twc-homereviews { padding: 48px 20px; }
}
@media (max-width: 680px) {
	.twc-homereviews__grid { grid-template-columns: 1fr; }
}
