@font-face {
  font-family: "TheTimeo Neue Helvetica";
  src: url("../fonts/thetimeo-neue-helvetica-25-ultra-light.woff2") format("woff2");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "TheTimeo Neue Helvetica";
  src: url("../fonts/thetimeo-neue-helvetica-35-thin.woff2") format("woff2");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "TheTimeo Neue Helvetica";
  src: url("../fonts/thetimeo-neue-helvetica-45-light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "TheTimeo Neue Helvetica";
  src: url("../fonts/thetimeo-neue-helvetica-55-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "TheTimeo Neue Helvetica";
  src: url("../fonts/thetimeo-neue-helvetica-65-medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "TheTimeo Neue Helvetica";
  src: url("../fonts/thetimeo-neue-helvetica-75-bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "TheTimeo Times Now";
  src: url("../fonts/thetimeo-times-now-extra-light-italic.otf") format("opentype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "TheTimeo Times Now";
  src: url("../fonts/thetimeo-times-now-extra-light-italic.otf") format("opentype");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Maison Designers";
  src: url("../fonts/maisondesigners-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Maison Designers";
  src: url("../fonts/maisondesigners-bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --ttm-color-white: #ffffff;
  --ttm-color-black: #000000;
  --ttm-color-ink: #111111;
  --ttm-color-ink-soft: #4f4f4f;
  --ttm-color-muted: #747474;
  --ttm-color-subtle: rgba(17, 17, 17, 0.56);
  --ttm-color-copy-strong: #272727;
  --ttm-color-copy: rgba(17, 17, 17, 0.68);
  --ttm-color-line: rgba(17, 17, 17, 0.12);
  --ttm-color-line-soft: rgba(17, 17, 17, 0.08);
  --ttm-color-line-strong: rgba(17, 17, 17, 0.3);
  --ttm-color-panel: #f2f2f2;
  --ttm-color-panel-deep: #e7e7e7;
  --ttm-color-on-dark: rgba(255, 255, 255, 0.86);
  --ttm-color-on-dark-soft: rgba(255, 255, 255, 0.68);
  --ttm-color-on-dark-subtle: rgba(255, 255, 255, 0.52);
  --ttm-color-on-dark-line: rgba(255, 255, 255, 0.16);
  --ttm-bg: var(--ttm-color-white);
  --ttm-ink: var(--ttm-color-ink);
  --ttm-ink-soft: var(--ttm-color-ink-soft);
  --ttm-muted: var(--ttm-color-muted);
  --ttm-line: var(--ttm-color-line);
  --ttm-line-strong: var(--ttm-color-line-strong);
  --ttm-panel: var(--ttm-color-panel);
  --ttm-panel-cool: var(--ttm-color-panel);
  --ttm-accent: var(--ttm-color-ink);
  --ttm-accent-2: var(--ttm-color-muted);
  --ttm-accent-3: #2e2e2e;
  --ttm-dark: #090909;
  --ttm-max: 1460px;
  --ttm-article: 780px;
  --ttm-gutter: clamp(1rem, 4vw, 3rem);
  --ttm-section: clamp(3.2rem, 8vw, 7rem);
  --ttm-section-tight: clamp(2.4rem, 5vw, 4.6rem);
  --ttm-space-2xs: clamp(0.45rem, 0.7vw, 0.65rem);
  --ttm-space-xs: clamp(0.75rem, 1vw, 1rem);
  --ttm-space-sm: clamp(1rem, 1.6vw, 1.45rem);
  --ttm-space-md: clamp(1.35rem, 2.4vw, 2.2rem);
  --ttm-space-lg: clamp(2.2rem, 4vw, 4rem);
  --ttm-space-xl: clamp(3.2rem, 6.4vw, 6.8rem);
  --ttm-copy-width: 46rem;
  --ttm-ratio-hero: 16 / 10;
  --ttm-ratio-portrait: 4 / 5.35;
  --ttm-ratio-card: 4 / 5;
  --ttm-ratio-wide: 16 / 10;
  --ttm-radius: 6px;
  --ttm-radius-none: 0;
  --ttm-font-sans: "TheTimeo Neue Helvetica", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --ttm-font-serif: "TheTimeo Times Now", Georgia, "Times New Roman", serif;
  --ttm-font-maison: "Maison Designers", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --ttm-weight-display-sans: 100;
  --ttm-weight-title: 300;
  --ttm-weight-ui: 500;
  --ttm-weight-copy: 200;
  --ttm-h1: clamp(2.05rem, 12vw, 2.7rem);
  --ttm-h2: clamp(1.45rem, 7vw, 1.95rem);
  --ttm-h3: 1.12rem;
  --ttm-body: 1rem;
  --ttm-small: 0.78rem;
  --ttm-caption: 0.76rem;
  --ttm-font-eyebrow: var(--ttm-weight-ui) 0.68rem/1.32 var(--ttm-font-sans);
  --ttm-font-label: var(--ttm-weight-ui) 0.72rem/1.25 var(--ttm-font-sans);
  --ttm-font-section-title: 400 var(--ttm-h2)/1.04 var(--ttm-font-sans);
  --ttm-font-dek: 300 clamp(0.98rem, 1.25vw, 1.12rem)/1.62 var(--ttm-font-sans);
  --ttm-font-card-title: 400 clamp(0.9rem, 1vw, 1.02rem)/1.16 var(--ttm-font-sans);
  --ttm-font-card-title-large: 100 clamp(1.08rem, 1.45vw, 1.38rem)/1.2 var(--ttm-font-sans);
  --ttm-font-card-copy: 300 0.82rem/1.48 var(--ttm-font-sans);
  --ttm-font-caption: 300 var(--ttm-caption)/1.42 var(--ttm-font-sans);
  --ttm-track-eyebrow: 0.11em;
  --ttm-track-label: 0.1em;
  --ttm-ease-luxury: cubic-bezier(0.19, 1, 0.22, 1);
  --ttm-ease-standard: cubic-bezier(0.22, 1, 0.36, 1);
  --ttm-duration-fast: 220ms;
  --ttm-duration-base: 420ms;
  --ttm-duration-slow: 700ms;
  --ttm-media-hover-scale: 1.018;
  --ttm-slider-control-size: 2.5rem;
  --ttm-slider-arrow-size: 0.55rem;
  --ttm-slider-control-border: var(--ttm-color-line-strong);
  --ttm-slider-control-bg: transparent;
  --ttm-slider-control-color: var(--ttm-color-ink);
}

@media (min-width: 768px) {
  :root {
    --ttm-h1: clamp(3.2rem, 6.2vw, 5.6rem);
    --ttm-h2: clamp(1.8rem, 3.2vw, 3rem);
    --ttm-h3: 1.25rem;
  }
}

@media (min-width: 1200px) {
  :root {
    --ttm-h1: clamp(3.8rem, 5.4vw, 5.8rem);
    --ttm-h2: clamp(2rem, 3vw, 3.15rem);
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  max-width: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  font-kerning: normal;
  font-synthesis: none;
  text-rendering: auto;
}

body {
  margin: 0;
  min-width: 320px;
  max-width: 100%;
  overflow-x: hidden;
  background: var(--ttm-bg);
  color: var(--ttm-ink);
  font-family: var(--ttm-font-sans);
  font-size: var(--ttm-body);
  font-weight: 300;
  line-height: 1.49;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-kerning: normal;
  font-optical-sizing: auto;
  font-synthesis: none;
  font-variant-ligatures: common-ligatures;
  text-rendering: auto;
}

body.ttm-menu-open {
  overflow: hidden;
}

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

img {
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 0.22em;
}

a:hover {
  color: inherit;
}

button,
input {
  font: inherit;
  -webkit-font-smoothing: inherit;
  font-synthesis: none;
}

button {
  cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
button,
input,
textarea,
select,
strong,
b,
small {
  font-synthesis: none;
}

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

.skip-link:focus {
  z-index: 1000;
  top: 1rem;
  left: 1rem;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0.75rem 1rem;
  clip: auto;
  background: var(--ttm-dark);
  color: #fff;
}

.ttm-eyebrow,
.ttm-kicker,
.ttm-meta,
.ttm-text-link,
.ttm-card__body .ttm-kicker,
.ttm-topic-rail a {
  font-family: var(--ttm-font-sans);
  font: var(--ttm-font-eyebrow);
  letter-spacing: var(--ttm-track-eyebrow);
  text-transform: uppercase;
}

.ttm-eyebrow {
  margin: 0 0 0.8rem;
  color: var(--ttm-accent);
}

.ttm-kicker {
  display: inline-flex;
  color: var(--ttm-accent);
}

.ttm-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.9rem;
  color: var(--ttm-muted);
  letter-spacing: 0.06em;
}

.ttm-meta span,
.ttm-meta time {
  position: relative;
}

.ttm-meta span + span::before,
.ttm-meta time + span::before,
.ttm-meta span + time::before {
  content: "";
  position: absolute;
  left: -0.5rem;
  top: 50%;
  width: 3px;
  height: 3px;
  border-radius: 999px;
  background: currentColor;
}

.ttm-image-fallback {
  display: grid;
  min-height: 100%;
  aspect-ratio: 4 / 5;
  place-items: center;
  background: var(--ttm-panel);
  color: var(--ttm-ink);
}

.ttm-image-fallback span {
  font-family: var(--ttm-font-serif);
  font-size: 1.4rem;
}

.ttm-heading-split {
  font-family: var(--ttm-font-sans);
}

.ttm-heading-split__sans,
.ttm-heading-split__serif {
  display: block;
}

.ttm-heading-split__sans {
  font-family: var(--ttm-font-sans);
  font-style: normal;
  font-weight: var(--ttm-weight-display-sans);
}

.ttm-heading-split__serif {
  font-family: var(--ttm-font-serif);
  font-style: italic;
  font-weight: var(--ttm-weight-copy);
}

.ttm-section-head {
  max-width: 650px;
  margin: 0 0 var(--ttm-space-sm);
}

.ttm-section-head--row {
  display: flex;
  max-width: none;
  align-items: end;
  justify-content: space-between;
  gap: var(--ttm-space-sm);
}

.ttm-section-head--center {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.ttm-title,
.ttm-section-head h2 {
  margin: 0;
  color: var(--ttm-ink);
  font: var(--ttm-font-section-title);
  letter-spacing: 0;
}

.ttm-dek,
.ttm-section-head p:not(.ttm-eyebrow) {
  color: var(--ttm-color-copy);
  font: var(--ttm-font-dek);
}

.ttm-media {
  display: block;
  overflow: hidden;
  background: var(--ttm-panel);
}

.ttm-media img,
.ttm-media .ttm-image-fallback {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ttm-caption,
.ttm-media figcaption {
  margin-top: var(--ttm-space-2xs);
  color: var(--ttm-muted);
  font: var(--ttm-font-caption);
}

.ttm-story-card,
.ttm-feature-card,
.ttm-topic-card {
  display: grid;
  min-width: 0;
}

.ttm-story-card {
  gap: 0;
}

.ttm-feature-card {
  gap: var(--ttm-space-xs);
}

.ttm-story-card__media {
  aspect-ratio: var(--ttm-ratio-portrait);
}

.ttm-feature-card__media {
  aspect-ratio: var(--ttm-ratio-wide);
}

.ttm-topic-card__media {
  aspect-ratio: var(--ttm-ratio-card);
}

.ttm-story-card__body,
.ttm-feature-card__body,
.ttm-topic-card__body {
  display: grid;
  gap: 0.4rem;
}

.ttm-story-card__title,
.ttm-story-card__body h3,
.ttm-feature-card__title,
.ttm-feature-card__body h2,
.ttm-topic-card__title,
.ttm-topic-card__body h3 {
  margin: 0;
  color: var(--ttm-ink);
  letter-spacing: 0;
}

.ttm-story-card__title,
.ttm-story-card__body h3 {
  font: var(--ttm-font-card-title);
}

.ttm-feature-card__title,
.ttm-feature-card__body h2 {
  font: var(--ttm-font-card-title-large);
}

.ttm-story-card__body p:not(.ttm-kicker):not(.ttm-eyebrow),
.ttm-feature-card__body p:not(.ttm-kicker):not(.ttm-eyebrow),
.ttm-topic-card__body p:not(.ttm-kicker):not(.ttm-eyebrow) {
  margin: 0;
  color: var(--ttm-color-copy);
  font: var(--ttm-font-card-copy);
}

.ttm-text-link {
  display: inline-flex;
  justify-self: start;
  border-bottom: 1px solid currentColor;
  padding-bottom: 0.18rem;
  color: var(--ttm-ink);
  font: var(--ttm-font-label);
  letter-spacing: var(--ttm-track-label);
  text-transform: uppercase;
}

.ttm-hover-link,
.ttm-text-link,
.ttm-card__title a,
.ttm-story-card__body h3 a,
.ttm-feature-card__body h2 a,
.ttm-topic-card__body h3 a {
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition: background-size var(--ttm-duration-base) var(--ttm-ease-luxury), color var(--ttm-duration-fast) ease;
}

.ttm-hover-link:hover,
.ttm-text-link:hover,
.ttm-card__title a:hover,
.ttm-story-card__body h3 a:hover,
.ttm-feature-card__body h2 a:hover,
.ttm-topic-card__body h3 a:hover {
  color: inherit;
  background-size: 100% 1px;
}

.ttm-slider-controls {
  display: flex;
  flex: 0 0 auto;
  gap: 0.45rem;
}

.ttm-slider-controls.is-static {
  display: none;
}

.ttm-slider-control,
.ttm-slider-controls button:not(.ttm-slider-control) {
  position: relative;
  display: grid;
  width: var(--ttm-slider-control-size);
  height: var(--ttm-slider-control-size);
  overflow: hidden;
  place-items: center;
  border: 1px solid var(--ttm-slider-control-border);
  border-radius: var(--ttm-radius-none);
  background: var(--ttm-slider-control-bg);
  color: var(--ttm-slider-control-color);
  box-shadow: none;
}

.ttm-slider-control:disabled,
.ttm-slider-controls button:not(.ttm-slider-control):disabled {
  opacity: 0.32;
}

.ttm-slider-control svg {
  width: 1.08rem;
  height: auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.35;
}

.ttm-slider-controls button:not(.ttm-slider-control) {
  color: transparent;
  font-size: 0;
  line-height: 1;
}

.ttm-slider-controls button:not(.ttm-slider-control)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--ttm-slider-arrow-size);
  height: var(--ttm-slider-arrow-size);
  border-top: 1.15px solid currentColor;
  border-right: 1.15px solid currentColor;
  color: var(--ttm-slider-control-color);
}

.ttm-slider-controls [data-slider-prev]:not(.ttm-slider-control)::before {
  transform: translate(-38%, -50%) rotate(-135deg);
}

.ttm-slider-controls [data-slider-next]:not(.ttm-slider-control)::before {
  transform: translate(-62%, -50%) rotate(45deg);
}

.ttm-slider-progress {
  width: min(19rem, 48vw);
  height: 1px;
  margin-top: 1.25rem;
  overflow: hidden;
  background: var(--ttm-line);
}

.ttm-slider-progress span {
  display: block;
  width: 0;
  height: 100%;
  transform-origin: left center;
  background: var(--ttm-ink);
  transition: width var(--ttm-duration-base) var(--ttm-ease-luxury), transform var(--ttm-duration-base) var(--ttm-ease-luxury);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}
