/* Original lightweight interpretation of 21st Motion Footer's masked finale. */
.home-finale {
  --finale-paper: #eeeae2;
  --finale-ink: #152127;
  --finale-coral: #e94739;
  --finale-mask: 0%;
  --finale-lift: 0px;
  --finale-line: 1;
  position: relative;
  isolation: isolate;
  overflow: clip;
  background: var(--finale-paper);
  color: var(--finale-ink);
  --focus: #a62c24;
}
.finale-rule {
  position: relative;
  width: 92%;
  height: 21px;
  margin: 0 auto;
  border-top: 1px solid #425b6159;
  transform: scaleX(var(--finale-line));
  transform-origin: center;
  pointer-events: none;
}
.finale-rule::before, .finale-rule::after {
  content: '';
  position: absolute;
  top: -6px;
  left: 0;
  width: 11px;
  height: 11px;
  border-left: 1px solid #425b61a1;
  border-bottom: 1px solid #425b61a1;
}
.finale-rule::after { left: auto; right: 0; transform: rotateY(180deg); }
.finale-paper { padding-top: 30px; }
.finale-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 54px;
  padding-top: 48px;
  padding-bottom: 66px;
}
.finale-copy { max-width: 620px; }
.finale-copy h2 {
  margin: 0;
  font-size: clamp(38px, 4.9vw, 72px);
  font-weight: 650;
  line-height: 1.5;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.finale-copy h2 span { color: #c5362b; }
.finale-copy p { margin: 22px 0 0; color: #516066; font-size: 15px; line-height: 2; }
.finale-shop.hair-button {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  flex: 0 0 294px;
  gap: 32px;
  min-height: 170px;
  padding: 25px 27px;
  border-color: #374a5180;
  color: var(--finale-ink);
  text-align: right;
  background: transparent;
  margin-bottom: 10px;
}
.finale-shop.hair-button::before, .finale-shop.hair-button::after { width: 12px; height: 12px; }
.finale-shop > span { display: flex; align-items: center; justify-content: space-between; gap: 22px; font-size: 21px; font-weight: 600; line-height: 1.5; }
.finale-shop small { font-size: 12px; font-weight: 400; color: #56676c; line-height: 1.8; }
.finale-shop svg { flex-shrink: 0; width: 38px; height: 38px; transition: transform .3s cubic-bezier(.16, 1, .3, 1); }
.finale-shop.hair-button:hover { border-color: #c5362b; background: #e9473910; }
.finale-shop:hover svg { transform: translate(-3px, -3px); }
.finale-shop.hair-button:active { background: #e9473920; }
.finale-type-window { position: relative; overflow: hidden; padding: 0 1.7%; }
.finale-wordmark-stack {
  position: relative;
  width: 100%;
  transform: translate3d(0, var(--finale-lift), 0);
  transform-origin: center bottom;
  direction: ltr;
  user-select: none;
  pointer-events: none;
}
.finale-wordmark {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.finale-wordmark text { font-family: Anton, sans-serif; font-size: 268px; font-weight: 400; letter-spacing: -.02em; }
.finale-wordmark-outline { fill: transparent; stroke: #57696e; stroke-width: .7; }
.finale-wordmark-fill { position: absolute; inset: 0; fill: var(--finale-coral); clip-path: inset(var(--finale-mask) 0 0 0); }
.finale-bottom { position: relative; background: #07111a; color: #c8dfe3; border-top: 1px solid #e9473980; padding: 25px 0 28px; }
.finale-bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-inline-end:112px; }
.finale-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 30px; }
.finale-links a, .finale-top-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 12px; line-height: 1.8; }
.finale-links a { color: #c0d7de; }
.finale-links a:hover { color: #fff; text-decoration: underline; text-underline-offset: 5px; }
.finale-top-link { color: #e8f6f5; white-space: nowrap; }
.finale-top-link svg { width: 16px; height: 16px; }
.finale-top-link:hover { color: #b7f4ee; }
.home-finale[data-finale-motion=off] .finale-shop svg { transition: none; }
.home-finale[data-finale-motion=off] .finale-shop:hover svg { transform: none; }
@media (min-width: 1600px) {
  .finale-content { padding-top: 72px; padding-bottom: 88px; }
  .finale-shop.hair-button { flex-basis: 330px; min-height: 180px; }
}
@media (max-width: 900px) {
  .finale-content { gap: 36px; padding-top: 35px; padding-bottom: 48px; }
  .finale-copy h2 { font-size: 43px; }
  .finale-copy p { font-size: 14px; }
  .finale-shop.hair-button { flex-basis: 250px; min-height: 153px; padding: 22px; }
  .finale-shop > span { font-size: 18px; }
  .finale-shop svg { width: 32px; height: 32px; }
}
@media (max-width: 600px) {
  .finale-paper { padding-top: 23px; }
  .finale-content { display: block; padding-top: 27px; padding-bottom: 34px; }
  .finale-copy h2 { font-size: clamp(33px, 9.2vw, 46px); line-height: 1.6; }
  .finale-copy p { margin-top: 14px; font-size: 13px; }
  .finale-shop.hair-button {
    margin-top: 27px;
    margin-bottom: 0;
    min-height: 106px;
    padding: 17px 20px;
    gap: 13px;
  }
  .finale-shop > span { font-size: 19px; }
  .finale-shop small { font-size: 11px; }
  .finale-shop svg { width: 27px; height: 27px; }
  .finale-type-window { padding-inline: 1%; }
  .finale-wordmark-outline { stroke-width: 1.2; }
  .finale-bottom { padding-top: 18px; padding-bottom: 75px; }
  .finale-bottom-inner { align-items: flex-start; gap: 12px; flex-direction: column; padding-inline-end:0; }
  .finale-links { gap: 2px 22px; }
  .finale-links a, .finale-top-link { font-size: 11px; }
  .finale-top-link { align-self: flex-end; min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-finale { --finale-mask: 0% !important; --finale-lift: 0px !important; --finale-line: 1 !important; }
  .finale-shop svg { transition: none; }
  .finale-shop:hover svg { transform: none; }
}
