.hm-home {
  --hm-section-space: clamp(40px, 5vw, 72px);
  --hm-heading-gap: clamp(22px, 3vw, 34px);
  background: var(--hm-paper);
  color: var(--hm-ink);
  font-family: var(--hm-font);
}

.hm-home > .navbar.w-nav {
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid var(--hm-line);
}
.hm-home > .navbar .div-block { padding-block: 12px; }
.hm-home .hm-mobile-contact { display: none; }

.hm-wrap {
  width: min(1280px, calc(100% - 2 * var(--hm-gutter)));
  margin-inline: auto;
}

.hm-home main > :not(.hm-legacy, .services-section) :is(h1, h2, h3, p, figure, blockquote) { margin: 0; }
.hm-home main > :not(.hm-legacy, .services-section) :is(h1, h2, h3) {
  color: inherit;
  font-family: var(--hm-font);
  font-weight: 550;
  text-wrap: balance;
}
.hm-home main > :not(.hm-legacy, .services-section) h2,
.hm-home main .hm-legacy-insights .blog-recent-text .heading-60,
.hm-home .services-section h2 {
  font-family: var(--hm-font);
  font-size: var(--hm-heading);
  font-weight: 550;
  line-height: 1.14;
  letter-spacing: -.021em;
  text-wrap: balance;
}
.hm-home main > :not(.hm-legacy, .services-section) h3 { font-size: clamp(22px, 2.5vw, 33px); line-height: 1.2; letter-spacing: -.016em; }
.hm-home main > :not(.hm-legacy, .services-section) em { color: var(--hm-red); font-style: normal; }
.hm-home main .hm-label {
  color: var(--hm-red);
  font-size: var(--hm-label-size);
  line-height: 1.45;
  font-weight: 650;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.hm-home main .hm-label { margin-bottom: 14px; }
.hm-home main .hm-label--accent {
  border-inline-start: 3px solid var(--hm-red);
  padding-inline-start: 10px;
}
.hm-home :focus-visible { outline: 2px solid var(--hm-red); outline-offset: 4px; }

.hm-announcement { border-block: 1px solid var(--hm-line); background: #f7eee8; }
.hm-announcement a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 42px;
  padding: 8px 16px;
  color: var(--hm-ink);
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
}
.hm-announcement a:hover { color: var(--hm-red); }
.hm-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--hm-red); }

.hm-home main .hm-film { position: relative; background: #21191c; overflow: hidden; }
.hm-film video {
  display: block;
  width: 100%;
  height: clamp(300px, 43vw, 690px);
  object-fit: cover;
  object-position: center 54%;
}
.hm-hero-copy {
  display: grid;
  place-items: center;
  padding: clamp(10px, 1.4vw, 18px) var(--hm-gutter);
  background: var(--hm-ink);
}
.hm-home main .hm-hero h1 {
  display: grid;
  place-items: center;
  font-size: clamp(38px, 5.2vw, 74px);
  line-height: 1.12;
  letter-spacing: -.03em;
  text-align: center;
  color: var(--hm-red);
}
.hm-hero h1 span {
  grid-area: 1 / 1;
  opacity: 0;
  animation: hm-hero-word 8s steps(1, end) infinite;
}
.hm-hero h1 span:nth-child(2) { animation-delay: 2s; }
.hm-hero h1 span:nth-child(3) { animation-delay: 4s; }
.hm-hero h1 .hm-hero-monogram { animation-delay: 6s; }
.hm-hero-monogram svg { display: block; width: auto; height: 1.17em; }
@keyframes hm-hero-word {
  0% { opacity: 1; }
  23.25%, 100% { opacity: 0; }
}
.hm-button {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-height: 46px;
  padding: 11px 17px;
  background: var(--hm-red);
  color: #fff;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.35;
  text-decoration: none;
}
.hm-button:hover { background: #a1193a; color: #fff; }

.hm-intro {
  display: grid;
  grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr);
  align-items: center;
  gap: clamp(24px, 5.5vw, 78px);
  padding-block: var(--hm-section-space);
  border-top: 1px solid var(--hm-line);
}
.hm-home main .hm-about-art { display: grid; place-items: center; }
.hm-about-art img { display: block; width: min(100%, 340px); height: auto; }
.hm-home main .hm-intro-copy p {
  max-width: 57ch;
  color: var(--hm-ink);
  font-size: clamp(16px, 1.5vw, 18px);
  line-height: 1.65;
}
.hm-home main .hm-intro-copy p:first-child {
  font-size: clamp(22px, 2.5vw, 33px);
  font-weight: 550;
  line-height: 1.3;
  letter-spacing: -.028em;
}
.hm-home main .hm-intro-copy p + p { margin-top: 18px; }

.hm-brands {
  padding-block: clamp(32px, 4.5vw, 56px) clamp(24px, 3vw, 36px);
  border-top: 1px solid var(--hm-line);
}
.hm-home main .hm-brands h2 {
  margin-bottom: clamp(30px, 4vw, 50px);
  padding-inline: 12px;
  text-align: center;
}
.hm-logo-window {
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
}
.hm-logo-track { display: flex; width: max-content; animation: hm-logo-loop 36s linear infinite; }
.hm-logo-group {
  display: flex;
  flex: none;
  align-items: center;
  gap: clamp(36px, 5.5vw, 80px);
  padding-inline-end: clamp(36px, 5.5vw, 80px);
}
.hm-logo-group img {
  flex: none;
  width: clamp(133px, 16vw, 211px);
  height: clamp(66px, 8vw, 106px);
  max-width: none;
  margin: 0;
  object-fit: contain;
}
.hm-logo-window:hover .hm-logo-track { animation-play-state: paused; }
@keyframes hm-logo-loop { to { transform: translateX(-50%); } }

.hm-standard, .hm-projects, .hm-proof { padding-block: var(--hm-section-space); }
.hm-home main .services-section {
  padding-block: clamp(26px, 3.4vw, 46px);
  padding-inline: 0;
}
.hm-home .services-section > .container {
  width: min(1280px, calc(100% - 2 * var(--hm-gutter)));
  max-width: none;
}
.hm-home .services-section h2 {
  padding-bottom: clamp(14px, 2vw, 24px);
  text-align: left;
}
.hm-home .services-section .single-accordion { padding-block: 0; }
.hm-home .services-section .dropdown-toggle {
  min-height: 50px;
  padding-block: clamp(12px, 1.4vw, 18px);
}
.hm-home .services-section .heading-left { gap: clamp(12px, 1.7vw, 22px); }
.hm-home .services-section .accordion-icon { width: 18px; height: 18px; }
.hm-home .services-section .text-block-14 { padding-top: 0; line-height: 1.2; }
.hm-home .services-section .accordion-full-content { top: 0; }
.hm-home .services-section .accordion-title {
  font-size: clamp(18px, 2.1vw, 26px);
  line-height: 1.2;
  letter-spacing: -.02em;
}
.hm-home main .marketing-section {
  min-height: clamp(420px, 47vw, 650px);
  padding-block: var(--hm-section-space);
}

.hm-section-head, .hm-proof-head { margin-bottom: var(--hm-heading-gap); }
.hm-project-cta { margin-top: 26px; }
.hm-standard { background: #f8efe8; }
.hm-standard-grid, .hm-project-grid { display: grid; gap: 14px; }
.hm-standard-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hm-standard-card {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 15px;
  padding: clamp(18px, 2.5vw, 32px);
  background: #fff;
  border: 1px solid var(--hm-line);
}
.hm-standard-card--flex { background: var(--hm-red); border-color: var(--hm-red); }
.hm-standard-card--full { background: var(--hm-ink); border-color: var(--hm-ink); }
.hm-standard-card:is(.hm-standard-card--flex, .hm-standard-card--full) { color: #fff; }
.hm-standard-card > p { color: var(--hm-ink); font-size: 15px; line-height: 1.55; }
.hm-standard-card ul { margin: 0; padding: 0; list-style: none; width: 100%; }
.hm-standard-card li { padding-block: 9px; border-top: 1px solid var(--hm-line); font-size: 14px; }
.hm-standard-icon { display: block; width: 60px; height: 60px; object-fit: contain; object-position: left; }
.hm-text-link { color: var(--hm-red); font-size: 14px; font-weight: 650; text-underline-offset: 4px; }
.hm-text-link:hover { color: #a1193a; }
.hm-standard-card:is(.hm-standard-card--flex, .hm-standard-card--full) :is(p, a) { color: #fff; }
.hm-standard-card:is(.hm-standard-card--flex, .hm-standard-card--full) li { border-color: #ffffff55; }
.hm-standard-card:is(.hm-standard-card--flex, .hm-standard-card--full) a:focus-visible { outline-color: #fff; }
.hm-standard-card .hm-text-link { margin-top: auto; padding-top: 5px; }

.hm-project-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hm-project-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 25px;
  padding: clamp(16px, 2vw, 26px);
  border: 1px solid var(--hm-line);
  color: var(--hm-ink);
  text-decoration: none;
}
.hm-project-card:hover { color: var(--hm-ink); background: #f8eee9; border-color: var(--hm-red); }
.hm-project-top { color: var(--hm-red); }
.hm-project-top svg { display: block; width: clamp(42px, 4.5vw, 60px); height: auto; }
.hm-home main .hm-project-card h3 { font-size: clamp(22px, 2.2vw, 29px); text-wrap: initial; }
.hm-home main .hm-project-card p { margin-top: 7px; color: var(--hm-ink); font-size: 14px; line-height: 1.45; }
.hm-project-arrow { align-self: end; color: var(--hm-red); font-size: 18px; }

.hm-proof { background: #111; color: #fff; text-align: left; }
.hm-home main .hm-proof .hm-label { color: #fff; }
.hm-proof-window {
  --proof-gap: clamp(14px, 2vw, 28px);
  overflow: hidden;
  padding-block: 4px;
}
.hm-proof-track {
  display: flex;
  width: max-content;
  animation: hm-proof-loop 46s linear infinite;
}
.hm-proof-group {
  display: flex;
  flex: none;
  gap: var(--proof-gap);
  padding-inline-end: var(--proof-gap);
}
.hm-proof-window:hover .hm-proof-track { animation-play-state: paused; }
.hm-proof-window:focus {
  overflow-x: auto;
  outline: 2px solid var(--hm-red);
  outline-offset: -2px;
}
.hm-proof-window:focus .hm-proof-track { animation: none; }
.hm-proof-window:focus .hm-proof-group[aria-hidden="true"] { display: none; }
@keyframes hm-proof-loop { to { transform: translateX(-50%); } }

.hm-home main .hm-proof-card {
  display: flex;
  flex: none;
  width: clamp(270px, 79vw, 465px);
  flex-direction: column;
  gap: 14px;
  padding: clamp(20px, 3vw, 34px);
  border: 1px solid #494145;
  background: #1b181a;
}
.hm-proof-quote {
  height: 42px;
  color: var(--hm-red);
  font: 550 68px / 1 var(--hm-font);
}
.hm-home main .hm-proof-card blockquote {
  padding: 0;
  border: 0;
  color: #fff;
  font: 450 clamp(17px, 1.6vw, 22px) / 1.52 var(--hm-font);
  letter-spacing: -.018em;
}
.hm-proof-card figcaption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid #494145;
}
.hm-proof-card figcaption > div { flex: 1; min-width: 0; text-align: left; }
.hm-proof-card figcaption strong { font-size: 15px; font-weight: 650; }
.hm-proof-card figcaption span { display: block; color: #ded4d8; font-size: 13px; line-height: 1.45; }
.hm-proof-card img {
  flex: none;
  width: clamp(52px, 9vw, 86px);
  height: 42px;
  padding: 6px;
  background: #fff;
  object-fit: contain;
}

.hm-values { padding-top: var(--hm-section-space); }
.hm-values-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  margin: var(--hm-heading-gap) 0 0;
  list-style: none;
  background: var(--hm-line);
}
.hm-value {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: clamp(16px, 2.4vw, 30px);
  background: var(--hm-paper);
}
.hm-value-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  background: #f7e8e7;
  color: var(--hm-red);
}
.hm-value-icon svg { width: 26px; height: 26px; }
.hm-home main .hm-value h3 { font-size: clamp(18px, 1.6vw, 23px); text-wrap: pretty; }
.hm-home main .hm-value p { font-size: clamp(14px, 1.15vw, 16px); line-height: 1.5; }

.hm-legacy-insights { padding-inline: var(--hm-gutter); }
.hm-legacy-insights { padding-bottom: var(--hm-section-space); }
.hm-legacy-insights .blog-container { margin-top: clamp(28px, 4vw, 56px); }
.hm-home main .contact-section { padding-block: clamp(26px, 3.8vw, 52px); }
.hm-home main .contact-section h2 { font-size: clamp(27px, 4vw, 45px); }
.hm-home :is(#about-us, #service, #standard-packages, #signature-2027) { scroll-margin-top: 100px; }

@media (max-width: 991px) {
  .hm-home > .navbar .nav-menu .menu-button { display: none; }
  .hm-home .hm-mobile-contact {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-inline: auto 10px;
    padding-inline: clamp(10px, 3vw, 16px);
    background: var(--hm-red);
    color: #fff;
    font: 650 14px / 1.3 var(--hm-font);
    text-decoration: none;
  }
  .hm-home .hm-mobile-contact:hover { background: #a1193a; }
  .hm-home > .navbar .w-nav-overlay {
    max-height: calc(100dvh - 96px);
    overflow-y: auto;
  }
}

@media (max-width: 900px) {
  .hm-project-grid, .hm-values-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 740px) {
  .hm-intro, .hm-standard-grid { grid-template-columns: minmax(0, 1fr); }
  .hm-film video { height: auto; aspect-ratio: 16 / 10; }
  .hm-intro { gap: 24px; }
  .hm-home main .hm-about-art { justify-self: center; }
  .hm-about-art img { width: min(100%, 248px); }
}
@media (max-width: 520px) {
  .hm-values-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .hm-home main .hm-hero h1 { display: flex; flex-wrap: wrap; justify-content: center; gap: .1em .22em; }
  .hm-hero h1 span { opacity: 1; animation: none; }
  .hm-proof-window { overflow-x: auto; }
  .hm-proof-track, .hm-logo-track { animation: none; }
  .hm-proof-group[aria-hidden="true"] { display: none; }
  .hm-logo-window { overflow-x: auto; mask-image: none; }
  .hm-logo-group[aria-hidden="true"] { display: none; }
}

.hm-home main .hm-standard-card .hm-standard-subtitle { font-weight: 650; }
