@font-face {
  font-family: "Milford Condensed";
  src: url("/fonts/milford-condensed-bold-italic.woff2") format("woff2");
  font-style: italic;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "TASA Orbiter Display";
  src: url("/fonts/TASAOrbiterDisplay-Regular.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "TASA Orbiter Display";
  src: url("/fonts/TASAOrbiterDisplay-Medium.otf") format("opentype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

:root {
  --menu-width: clamp(460px, 32vw, 680px);
  --menu-padding: 40px;
  --site-scale: 1;
  --hero-mask-desktop: url("data:image/svg+xml,%3csvg%20width='1850'%20height='1010'%20viewBox='0%200%201850%201010'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M313.772%20903.602H20C8.95431%20903.602%200%20894.648%200%20883.602V20C0%208.95431%208.95431%200%2020%200H701.022C704.319%200%20707.564%200.814738%20710.469%202.37174L795.978%2048.1958C798.884%2049.7528%20802.129%2050.5676%20805.425%2050.5676H1044.57C1047.87%2050.5676%201051.12%2049.7528%201054.02%2048.1958L1139.53%202.37174C1142.44%200.81474%201145.68%200%201148.98%200H1830C1841.05%200%201850%208.95431%201850%2020V883.602C1850%20894.648%201841.05%20903.602%201830%20903.602H1536.23C1531.18%20903.602%201526.32%20905.51%201522.62%20908.943L1419.5%201004.66C1415.8%201008.09%201410.94%201010%201405.9%201010H444.103C439.056%201010%20434.196%201008.09%20430.497%201004.66L327.378%20908.943C323.679%20905.51%20318.819%20903.602%20313.772%20903.602Z'%20fill='white'/%3e%3c/svg%3e");
  --hero-mask-tablet: url("data:image/svg+xml,%3csvg%20width='728'%20height='970'%20viewBox='0%200%20728%20970'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M51.1849%20903.602H20C8.9543%20903.602%200%20894.648%200%20883.602V20.015C0%208.96343%208.96343%200.00670878%2020.015%200.0149804L165.635%200.123972C173.725%200.130027%20181.015%205.00894%20184.104%2012.4854L194.733%2038.2061C197.825%2045.6876%20205.122%2050.5676%20213.217%2050.5676H521.354C529.077%2050.5676%20536.111%2046.1205%20539.422%2039.143L552.578%2011.4246C555.889%204.4471%20562.923%200%20570.646%200H708C719.046%200%20728%208.9543%20728%2020V883.602C728%20894.648%20719.046%20903.602%20708%20903.602H676.815C673.538%20903.602%20670.311%20904.407%20667.418%20905.947L551.492%20967.654C548.599%20969.194%20545.372%20970%20542.095%20970H185.905C182.628%20970%20179.401%20969.194%20176.508%20967.654L60.5824%20905.947C57.6894%20904.407%2054.4622%20903.602%2051.1849%20903.602Z'%20fill='white'/%3e%3c/svg%3e");
  --hero-mask-mobile: url("data:image/svg+xml,%3csvg%20width='343'%20height='772'%20viewBox='0%200%20343%20772'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M38.9931%20738.316H20C8.95431%20738.316%200%20729.362%200%20718.316V20C0%208.95431%208.95431%200%2020%200H93.5072C100.078%200%20106.229%203.22728%20109.963%208.63356L126.537%2032.6283C130.271%2038.0345%20136.422%2041.2618%20142.993%2041.2618H200.246C206.831%2041.2618%20212.994%2038.0208%20216.725%2032.5956L233.183%208.66626C236.915%203.24101%20243.077%200%20249.662%200H323C334.046%200%20343%208.95431%20343%2020V718.316C343%20729.362%20334.046%20738.316%20323%20738.316H304.007C299.187%20738.316%20294.529%20740.057%20290.89%20743.218L263.404%20767.098C259.766%20770.259%20255.107%20772%20250.287%20772H92.7128C87.8926%20772%2083.2345%20770.259%2079.5957%20767.098L52.1102%20743.218C48.4714%20740.057%2043.8133%20738.316%2038.9931%20738.316Z'%20fill='white'/%3e%3c/svg%3e");
  --footer-mask-desktop: url("data:image/svg+xml,%3csvg%20width='1850'%20height='468'%20viewBox='0%200%201850%20468'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M116.969%2056.4103H20C8.95431%2056.4103%200%2065.3646%200%2076.4103V448C0%20459.046%208.95431%20468%2020%20468H701.021C704.318%20468%20707.564%20467.185%20710.47%20465.627L795.978%20419.794C798.884%20418.236%20802.129%20417.421%20805.426%20417.421H1044.57C1047.87%20417.421%201051.12%20418.236%201054.02%20419.794L1139.53%20465.627C1142.44%20467.185%201145.68%20468%201148.98%20468H1830C1841.05%20468%201850%20459.046%201850%20448V76.4103C1850%2065.3646%201841.05%2056.4103%201830%2056.4103H1733.03C1729.97%2056.4103%201726.95%2055.7072%201724.2%2054.3551L1617.92%202.05521C1615.18%200.703125%201612.16%200%201609.09%200H240.906C237.844%200%20234.823%200.703125%20232.076%202.05521L125.8%2054.3551C123.052%2055.7072%20120.031%2056.4103%20116.969%2056.4103Z'%20fill='white'/%3e%3c/svg%3e");
  --footer-mask-tablet: url("data:image/svg+xml,%3csvg%20width='728'%20height='600'%20viewBox='0%200%20728%20600'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M42.7708%2024.5483H20C8.9543%2024.5483%200%2033.5027%200%2044.5483V580C0%20591.046%208.95428%20600%2020%20600H271.295C275.546%20600%20279.686%20598.646%20283.115%20596.133L309.692%20576.662C313.121%20574.15%20317.261%20572.795%20321.512%20572.795H406.488C410.739%20572.795%20414.879%20574.15%20418.308%20576.662L444.885%20596.133C448.314%20598.646%20452.454%20600%20456.705%20600H708C719.046%20600%20728%20591.046%20728%20580V44.5483C728%2033.5027%20719.046%2024.5483%20708%2024.5483H685.229C681.889%2024.5483%20678.603%2023.7119%20675.669%2022.1154L639.502%202.43292C636.569%200.836426%20633.282%200%20629.942%200H98.058C94.7181%200%2091.4313%200.836426%2088.4977%202.43292L52.3311%2022.1154C49.3975%2023.7119%2046.1107%2024.5483%2042.7708%2024.5483Z'%20fill='white'/%3e%3c/svg%3e");
  --footer-mask-mobile: url("data:image/svg+xml,%3csvg%20width='343'%20height='548'%20viewBox='0%200%20343%20548'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M37.8206%206.9093L27.1787%2019.2014C24.2389%2022.5972%2019.9689%2024.5483%2015.4774%2024.5483C6.92944%2024.5483%200%2031.4778%200%2040.0257V528C0%20539.046%208.9543%20548%2020%20548H99.9874C106.791%20548%20113.129%20544.541%20116.809%20538.818L122.494%20529.978C126.175%20524.255%20132.512%20520.795%20139.316%20520.795H203.684C210.488%20520.795%20216.825%20524.255%20220.506%20529.978L226.191%20538.818C229.871%20544.541%20236.209%20548%20243.013%20548H323C334.046%20548%20343%20539.046%20343%20528V40.0257C343%2031.4778%20336.071%2024.5483%20327.523%2024.5483C323.031%2024.5483%20318.761%2022.5972%20315.821%2019.2014L305.179%206.9093C301.38%202.5213%20295.863%200%20290.059%200H52.9413C47.1373%200%2041.6195%202.5213%2037.8206%206.9093Z'%20fill='white'/%3e%3c/svg%3e");
  color: #222;
  background: #f5f5f5;
  font-family: "TASA Orbiter Display", sans-serif;
  font-synthesis: none;
  scroll-behavior: smooth;
}

* {
  box-sizing: border-box;
}

html,
body {
  min-width: 320px;
  min-height: 100%;
  margin: 0;
}

body {
  position: relative;
  overflow-x: hidden;
  background: #f5f5f5;
}

button,
a {
  font: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

.text-nowrap {
  white-space: nowrap;
}

html.menu-open,
html.menu-open body {
  overflow: hidden;
  overscroll-behavior: none;
}

html.menu-open {
  scrollbar-gutter: stable;
}

html.menu-open body {
  overflow: clip;
}

.menu-button,
.corner-cta {
  position: absolute;
  z-index: 10;
  display: grid;
  place-items: center;
  border: 0;
  text-transform: uppercase;
  cursor: pointer;
}

.menu-button,
.corner-cta {
  translate: 0 0;
}

.brand-set,
.brand-set img {
  display: block;
}

.brand-set {
  line-height: 0;
}

.hero-brand .brand-wordmark,
.hero-brand .brand-mark {
  display: none;
}

.header-left {
  position: fixed;
  z-index: 100;
  top: clamp(16px,3.28125vw,84px);
  left: clamp(16px,3.28125vw,84px);
  display: flex;
  align-items: center;
  gap: 16px;
}

.hero-brand {
  position: fixed;
  z-index: 100;
  top: calc(40px * var(--site-scale));
  left: 50%;
  opacity: var(--hero-brand-opacity, 1);
  visibility: visible;
  transform: translate(-50%);
  transition: opacity 0.22s ease,visibility 0s linear 0s;
  pointer-events: none;
}

.hero-brand .brand-full,
.hero-brand .brand-wordmark,
.hero-brand .brand-mark {
  width: auto;
  height: clamp(16px,0.85vw,20px);
}

.hero-logo-handed-off .hero-brand,
.menu-open .hero-brand {
  opacity: 0;
  visibility: hidden;
  transition-delay: 0s,0.22s;
}

.site-brand {
  position: relative;
  display: grid;
  min-height: clamp(32px,2.1875vw,56px);
  padding: 0 12px;
  place-items: center;
  box-sizing: border-box;
  background: #f5f5f5;
  border-radius: 6px;
  opacity: 0;
  visibility: hidden;
  transform: translate3d(-10px,0,0);
  transition: opacity 0.26s ease,transform 0.42s cubic-bezier(0.22,1,0.36,1),visibility 0s linear 0.42s;
  pointer-events: none;
  will-change: opacity,transform;
}

.site-brand .brand-full {
  width: auto;
  height: clamp(16px,0.85vw,20px);
}

.site-brand.is-after-hero-logo {
  opacity: 1;
  visibility: visible;
  transform: translateZ(0);
  transition-delay: 0s;
}

.header-controls-hidden .site-brand,
.menu-open .site-brand {
  opacity: 0;
  visibility: hidden;
  transform: translate3d(-10px,0,0);
  transition-delay: 0s,0s,0.42s;
}

.header-controls-hidden .menu-button,
.header-controls-hidden .corner-cta {
  translate: 0 calc(-100% - 40px);
  opacity: 0;
  pointer-events: none;
}

.menu-button {
  position: relative;
  z-index: 100;
  width: clamp(64px,5.677vw,145px);
  height: clamp(32px,2.1875vw,56px);
  padding: clamp(8px,0.625vw,16px) clamp(20px,2.083vw,53px);
  overflow: hidden;
  background: #fff;
  border-radius: 8px;
  transform: skew(9deg);
  transform-origin: center;
  transition: transform 0.46s cubic-bezier(0.22,1,0.36,1);
  will-change: transform;
}

.menu-button span {
  display: block;
  width: clamp(20px,1.51vw,39px);
  height: clamp(1px,0.104vw,3px);
  background: #222;
  transform: skew(-9deg);
  transition: transform 0.46s cubic-bezier(0.22,1,0.36,1);
}

.menu-button span+span {
  margin-top: clamp(4px,0.3125vw,8px);
}

.menu-button:hover,
.menu-button:hover span {
  transform: skew(0);
}

.corner-cta {
  position: fixed;
  z-index: 100;
  top: clamp(16px,3.28125vw,84px);
  right: clamp(16px,3.28125vw,84px);
  left: auto;
  width: clamp(112px,8.229vw,211px);
  height: clamp(36px,2.24vw,57px);
  background: #fff;
  color: #ff467a;
  font-size: clamp(13px,0.833vw,21px);
  font-weight: 500;
  line-height: 1;
  overflow: hidden;
  border-radius: 8px;
  transform: skew(-9deg);
  transform-origin: center;
  transition: transform 0.46s cubic-bezier(0.22,1,0.36,1);
  will-change: transform;
}

.menu-button,
.corner-cta {
  transition: translate 0.42s cubic-bezier(0.22,1,0.36,1),opacity 0.26s ease,transform 0.46s cubic-bezier(0.22,1,0.36,1);
  will-change: translate,opacity,transform;
}

.corner-cta>span {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  transform: skew(9deg);
  transition: transform 0.46s cubic-bezier(0.22,1,0.36,1);
  will-change: transform;
}

.site-menu-overlay {
  position: fixed;
  z-index: 200;
  inset: 0;
  background: #05060975;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.52s cubic-bezier(0.22,1,0.36,1),visibility 0s linear 0.52s;
  pointer-events: none;
  touch-action: none;
}

.site-menu {
  position: fixed;
  z-index: 210;
  top: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: var(--menu-width);
  min-height: 0;
  padding: 24px var(--menu-padding);
  overflow: hidden;
  background: #f5f5f5;
  color: #222;
  opacity: 0;
  visibility: hidden;
  transform: translate3d(calc(-100% - 40px),0,0);
  transition: transform 0.68s cubic-bezier(0.16,1,0.3,1),opacity 0.36s ease,visibility 0s linear 0.68s;
  overscroll-behavior: contain;
  pointer-events: none;
  touch-action: pan-y;
  will-change: transform,opacity;
}

.site-menu__nav {
  display: flex;
  flex: 0 1 auto;
  flex-direction: column;
  gap: clamp(4px,1.1vh,12px);
  width: 100%;
  min-height: 0;
  margin-bottom: clamp(12px,2.3vh,25px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

.site-menu__nav a {
  display: grid;
  flex: 0 1 55px;
  min-height: 42px;
  padding: 10px 12px;
  place-items: center;
  color: #222;
  font-family: Milford Condensed,sans-serif;
  font-size: clamp(27px,2.96vh,32px);
  font-style: italic;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  transition: color 0.26s ease;
}

.site-menu__nav a:hover,
.site-menu__nav a:focus-visible {
  color: #ff467a;
}

.site-menu__play {
  display: grid;
  flex: 0 0 55px;
  width: 100%;
  height: 55px;
  margin-top: 0;
  overflow: hidden;
  background: #ff467a;
  color: #fff;
  font-family: Milford Condensed,sans-serif;
  font-size: 32px;
  font-style: italic;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  border-radius: 8px;
  transform: skew(-9deg);
  transition: transform 0.46s cubic-bezier(0.22,1,0.36,1);
}

.site-menu__play span {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  transform: skew(9deg);
  transition: transform 0.46s cubic-bezier(0.22,1,0.36,1);
}

.site-menu__play:hover,
.site-menu__play:hover span {
  transform: skew(0);
}

.site-menu :is(a,button):focus-visible {
  outline: 2px solid #ff467a;
  outline-offset: 3px;
}

.menu-open .site-menu-overlay {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
  pointer-events: auto;
}

.menu-open .site-menu {
  opacity: 1;
  visibility: visible;
  transform: translateZ(0);
  transition-delay: 0s;
  pointer-events: auto;
}

.menu-open .menu-button {
  z-index: 220;
  opacity: 1;
  translate: 0 0;
  pointer-events: auto;
}

.menu-open .header-left {
  z-index: 220;
}

.menu-open .menu-button span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 2px;
  margin: 0;
}

.menu-open .menu-button span:nth-child(1) {
  opacity: 1;
  transform: translate(-50%,-50%) skew(-9deg) rotate(45deg);
}

.menu-open .menu-button span:nth-child(2) {
  opacity: 0;
}

.menu-open .menu-button span:nth-child(3) {
  opacity: 1;
  transform: translate(-50%,-50%) skew(-9deg) rotate(-45deg);
}

.menu-open .corner-cta {
  opacity: 0;
  pointer-events: none;
}

.corner-cta:hover {
  transform: skew(0);
}

.corner-cta:hover>span {
  transform: skew(0);
}

.menu-button:focus-visible,
.corner-cta:focus-visible {
  outline: 3px solid #222;
  outline-offset: 4px;
}

@media (max-width:1024px) {
  .header-left {
    top: 51px;
    left: 36px;
  }

  .menu-button {
    width: 158px;
    height: 42px;
    padding: 12px 44px;
  }

  .menu-button span {
    width: 29px;
    height: 2px;
  }

  .menu-button span+span {
    margin-top: 5px;
  }

  .corner-cta {
    position: fixed;
    top: 51px;
    right: 36px;
    left: auto;
    width: 158px;
    height: 43px;
    font-size: 16px;
  }

  .hero-brand {
    top: 52px;
  }

  .site-brand {
    height: 43px;
    padding-inline: 12px;
  }

  .hero-brand .brand-full,
  .hero-brand .brand-mark,
  .site-brand .brand-full {
    height: 17px;
  }
}

@media (min-width:768px) and (max-width:1439.98px) {
  .hero-brand {
    top: calc(52px * var(--site-scale));
  }

  .hero-brand .brand-full {
    display: none;
  }

  .hero-brand .brand-wordmark {
    display: block;
    height: 13px;
  }
}

@media (min-width:768px) and (max-width:1024px) {
  .hero-brand {
    top: 52px;
  }

  .hero-brand .brand-wordmark {
    height: 14px;
  }
}

@media (max-width:767.98px) {
  .hero-brand {
    top: 24px;
  }

  .hero-brand .brand-full {
    display: none;
  }

  .hero-brand .brand-mark {
    display: block;
    width: auto;
    height: 24px;
  }
}

@media (max-width:599px) {
  .header-left {
    top: 38px;
    left: 43px;
  }

  .menu-button {
    width: 65px;
    height: 32px;
    padding: 8px 20px;
  }

  .menu-button span {
    width: 24px;
    height: 2px;
  }

  .menu-button span+span {
    margin-top: 4px;
  }

  .corner-cta {
    top: 38px;
    right: 43px;
    width: 105px;
    height: 32px;
    font-size: 14px;
  }

  .site-brand {
    height: 32px;
    padding-inline: 12px;
  }

  .site-brand .brand-full {
    width: 104px;
    height: auto;
  }

  :root {
    --menu-width: 100vw;
    --menu-padding: 20px;
  }

  .site-menu {
    padding: 20px var(--menu-padding);
  }

  .site-menu__nav a {
    min-height: 40px;
    padding: 7px 8px;
    font-size: clamp(25px,7.2vw,30px);
    white-space: nowrap;
  }

  .site-menu__play {
    flex-basis: 48px;
    height: 48px;
    font-size: 28px;
  }
}

@media (min-width:600px) and (max-width:1024px) {
  :root {
    --menu-width: min(70vw, 615px);
    --menu-padding: 32px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .site-menu-overlay,
  .site-menu,
  .site-menu__nav a,
  .site-menu__play,
  .site-menu__play span {
    transition-duration: 1ms;
  }
}

.site-brand.is-after-hero-logo {
  pointer-events: auto;
}

.site-brand:focus-visible {
  outline: 3px solid #222;
  outline-offset: 4px;
}

.legal-page {
  zoom: var(--site-scale);
  padding: 32px 32px 0;
}

.legal-panel {
  --panel-pt: 150px;
  --panel-px: 40px;
  --bar-h: calc((clamp(16px, 3.28125vw, 84px) + clamp(36px, 2.24vw, 57px) + 32px) / var(--site-scale));
  position: relative;
  padding: var(--panel-pt) var(--panel-px) 190px;
  color: #222;
}

.legal-panel__bar {
  position: sticky;
  z-index: 2;
  top: 0;
  height: var(--bar-h);
  margin: calc(-1 * var(--panel-pt)) calc(-1 * var(--panel-px)) calc(var(--panel-pt) - var(--bar-h));
  background: linear-gradient(#e4e4e4 calc(100% - 28px), rgb(228 228 228 / 0));
  opacity: 0;
  translate: 0 0;
  transition: opacity 0.26s ease, translate 0.42s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

.hero-logo-handed-off .legal-panel__bar {
  opacity: 1;
}

.header-controls-hidden .legal-panel__bar {
  opacity: 0;
  translate: 0 -100%;
}

.legal-panel__shape,
.site-footer__panel {
  position: absolute;
  display: flex;
  flex-direction: column;
  pointer-events: none;
}

.legal-panel__shape {
  inset: 0;
}

.legal-panel__shape::before,
.legal-panel__shape::after,
.site-footer__panel::before,
.site-footer__panel::after {
  display: block;
  flex: none;
  background: #e4e4e4;
  content: "";
}

.legal-panel__shape::before {
  aspect-ratio: 1850 / 50.5676;
  mask: var(--hero-mask-desktop) top center / 100% auto no-repeat;
  -webkit-mask: var(--hero-mask-desktop) top center / 100% auto no-repeat;
}

.legal-panel__shape::after {
  aspect-ratio: 1850 / 126.398;
  mask: var(--hero-mask-desktop) bottom center / 100% auto no-repeat;
  -webkit-mask: var(--hero-mask-desktop) bottom center / 100% auto no-repeat;
}

.site-footer__panel::before {
  aspect-ratio: 1850 / 76.41;
  mask: var(--footer-mask-desktop) top center / 100% auto no-repeat;
  -webkit-mask: var(--footer-mask-desktop) top center / 100% auto no-repeat;
}

.site-footer__panel::after {
  aspect-ratio: 1850 / 50.58;
  mask: var(--footer-mask-desktop) bottom center / 100% auto no-repeat;
  -webkit-mask: var(--footer-mask-desktop) bottom center / 100% auto no-repeat;
}

.legal-panel__shape span,
.site-footer__panel span {
  flex: 1;
  margin-top: -1px;
  background: #e4e4e4;
}

.legal-panel__header {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  text-align: center;
}

.legal-panel__header > p:first-child {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 19px;
  text-transform: uppercase;
}

.legal-panel__header h1 {
  margin: 12px 0 0;
  font-family: "Milford Condensed", sans-serif;
  font-size: 80px;
  font-style: italic;
  font-weight: 600;
  line-height: 0.96;
  text-transform: uppercase;
}

.legal-panel__updated {
  margin: 12px 0 0;
  font-size: 24px;
  font-weight: 400;
  line-height: 28px;
}

.legal-layout {
  position: relative;
  margin: 96px auto 0;
}

.legal-document {
  position: relative;
  width: 100%;
  padding: 0;
  color: #222;
  font-size: max(18px, calc(15px / var(--site-scale)));
  line-height: 1.6;
}

.legal-document > * {
  max-width: 1000px;
  margin-inline: auto;
}

.legal-intro {
  font-size: max(20px, calc(16px / var(--site-scale)));
  line-height: 1.5;
}

.legal-intro p {
  margin: 0 0 16px;
}

.legal-intro p:last-child {
  margin-bottom: 0;
}

.legal-section {
  margin-top: 48px;
  padding-top: 48px;
  border-top: 1px solid #0000001a;
  scroll-margin-top: 120px;
}

.legal-section h2 {
  display: flex;
  gap: 14px;
  margin: 0 0 20px;
  font-family: "Milford Condensed", sans-serif;
  font-size: 40px;
  font-style: italic;
  font-weight: 600;
  line-height: 0.96;
  text-transform: uppercase;
}

.legal-number {
  flex: none;
  color: #0000004d;
  font-variant-numeric: tabular-nums;
}

.legal-section h3 {
  margin: 28px 0 8px;
  font-size: max(16px, calc(13px / var(--site-scale)));
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
}

.legal-section h3 .legal-number {
  margin-right: 2px;
  color: #0000008c;
}

.legal-section p {
  margin: 0 0 14px;
}

.legal-section ul {
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
}

.legal-section .legal-list {
  padding-left: 20px;
  border-left: 2px solid #0000001a;
}

.legal-list li {
  margin: 0 0 10px;
}

.legal-list li:last-child {
  margin-bottom: 0;
}

.legal-details {
  margin: 14px 0;
  padding: 0;
  border-top: 1px solid #0000001a;
}

.legal-details div {
  padding: 10px 0;
  border-bottom: 1px solid #0000001a;
}

.legal-section strong {
  font-weight: 500;
}

.legal-details div {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 16px;
}

.legal-details dt {
  font-weight: 500;
}

.legal-details dd {
  margin: 0;
}

.legal-list--compact li {
  margin-bottom: 4px;
}

.legal-document__owner {
  margin-top: 56px;
  padding-top: 24px;
  border-top: 1px solid #0000001a;
  color: #0000008c;
  font-size: max(14px, calc(13px / var(--site-scale)));
  line-height: 1.5;
}

.legal-section > :last-child {
  margin-bottom: 0;
}

.legal-document a {
  font-weight: 500;
  overflow-wrap: anywhere;
}

.legal-document a:hover,
.legal-support a:hover {
  text-decoration: underline;
}

.legal-document a:focus-visible,
.legal-support a:focus-visible {
  outline: 2px solid #222;
  outline-offset: 2px;
}

.legal-support {
  margin-top: 56px;
  text-align: center;
}

.legal-support p {
  margin: 0;
  font-size: 24px;
  font-weight: 500;
  line-height: 29px;
}

.legal-support a {
  display: inline-block;
  margin-top: 19px;
  font-size: 16px;
  font-weight: 500;
  line-height: 19px;
}

.site-footer {
  zoom: var(--site-scale);
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  grid-template-areas: "nav cta legal";
  align-items: end;
  column-gap: 40px;
  min-height: 539px;
  margin-top: 0;
  padding: 86px 75px 75px;
  color: #000;
}

.site-footer__panel {
  top: 36px;
  right: 35px;
  bottom: 35px;
  left: 35px;
}

.site-footer__cta {
  position: relative;
  grid-area: cta;
  align-self: start;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.site-footer__cta h2 {
  margin: 0 -0.24em;
  padding: 0.08em 0.24em 0.14em;
  color: #222;
  font-family: "Milford Condensed", sans-serif;
  font-size: 80px;
  font-style: italic;
  font-weight: 600;
  line-height: 0.96;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-footer__cta p {
  width: min(720px, 100%);
  margin: 24px auto 0;
  color: #222;
  font-size: 20px;
  font-weight: 400;
  line-height: 24px;
}

.site-footer__cta a {
  display: grid;
  width: 206px;
  height: 64px;
  margin-top: 30px;
  overflow: hidden;
  background: #ff467a;
  border-radius: 8px;
  color: #fff;
  font-size: 28px;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  transform: skew(-9deg);
  transform-origin: center;
  transition: transform 0.46s cubic-bezier(0.22, 1, 0.36, 1);
}

.site-footer__cta a span {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  transform: skew(9deg);
  transition: transform 0.46s cubic-bezier(0.22, 1, 0.36, 1);
}

.site-footer__cta a:hover,
.site-footer__cta a:hover span {
  transform: skew(0);
}

.site-footer__nav {
  position: relative;
  grid-area: nav;
  justify-self: start;
  display: flex;
  flex-direction: column;
}

.site-footer__nav a {
  display: block;
  width: max-content;
  padding: 10px;
  font-size: 16px;
  font-weight: 500;
  line-height: 19px;
}

.site-footer__nav a:hover {
  text-decoration: underline;
}

.site-footer__legal {
  position: absolute;
  right: 75px;
  bottom: 75px;
  width: 471px;
  height: 148px;
  text-align: right;
}

.site-footer__legal p {
  margin: 0 0 7px;
  font-size: 10px;
  font-weight: 400;
  line-height: 12px;
}

.site-footer__legal img {
  position: absolute;
  right: 0;
  bottom: 26px;
  display: block;
  width: 502px;
  height: 40px;
}

.site-footer a:focus-visible {
  outline: 2px solid #222;
  outline-offset: 2px;
}

@media (max-width: 1024px) {
  .site-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 86px 75px 106px;
  }

  .site-footer__cta {
    width: min(520px, 100%);
  }

  .site-footer__cta h2 {
    font-size: 48px;
    line-height: 50px;
  }

  .site-footer__cta p {
    width: min(440px, 100%);
    margin: 20px auto 0;
    font-size: 16px;
    line-height: 20px;
  }

  .site-footer__cta a {
    width: 129px;
    height: 40px;
    margin-top: 20px;
    font-size: 17px;
  }

  .site-footer__nav {
    flex-flow: row wrap;
    justify-content: center;
    width: min(559px, 100%);
    margin-top: 32px;
  }

  .site-footer__nav a {
    min-height: 30px;
    padding: 6px 8px;
    font-size: 14px;
    line-height: 17px;
  }

  .site-footer__legal {
    position: relative;
    right: auto;
    bottom: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: min(760px, 100%);
    height: auto;
    margin: 32px 0 0;
    text-align: center;
  }

  .site-footer__legal p {
    margin-bottom: 4px;
    font-size: 9px;
    line-height: 11px;
  }

  .site-footer__legal img {
    position: relative;
    right: auto;
    bottom: auto;
    margin-top: 10px;
  }

  .site-footer__cta h2 {
    white-space: normal;
  }
}

@media (max-width: 1024px) {
  .legal-page {
    padding: 35px 20px 0;
  }

  .legal-panel {
    --panel-pt: 140px;
    --panel-px: 32px;
    --bar-h: 126px;
    padding: var(--panel-pt) var(--panel-px) calc((100vw - 40px) * 86.398 / 728 + 48px);
  }

  .legal-panel__shape::before {
    aspect-ratio: 728 / 50.5676;
    mask-image: var(--hero-mask-tablet);
    -webkit-mask-image: var(--hero-mask-tablet);
  }

  .legal-panel__shape::after {
    aspect-ratio: 728 / 86.398;
    mask-image: var(--hero-mask-tablet);
    -webkit-mask-image: var(--hero-mask-tablet);
  }

  .site-footer__panel::before {
    aspect-ratio: 728 / 44.55;
    mask-image: var(--footer-mask-tablet);
    -webkit-mask-image: var(--footer-mask-tablet);
  }

  .site-footer__panel::after {
    aspect-ratio: 728 / 27.2;
    mask-image: var(--footer-mask-tablet);
    -webkit-mask-image: var(--footer-mask-tablet);
  }

  .legal-panel__header h1 {
    font-size: 64px;
    line-height: 64px;
  }

  .site-footer {
    --footer-bottom-cap: clamp(27.2px, calc(3.737vw - 1.495px), 36.77px);
    min-height: 640px;
    margin-top: 0;
    padding: 56px 40px calc(var(--footer-bottom-cap) + 40px);
  }

  .site-footer__panel {
    inset: 20px;
  }

  .site-footer__legal {
    margin-top: auto;
  }
}

@media (max-width: 767.98px) {
  .legal-page {
    padding-inline: 16px;
  }

  .site-footer {
    --footer-bottom-cap: calc(7.931vw - 2.538px);
    padding: 52px 32px calc(var(--footer-bottom-cap) + 36px);
  }

  .site-footer__panel {
    top: 20px;
    right: 16px;
    left: 16px;
  }

  .site-footer__cta {
    width: 100%;
  }

  .site-footer__cta h2 {
    font-size: 32px;
    line-height: 35px;
  }

  .site-footer__cta p {
    width: min(360px, 100%);
    margin-top: 16px;
    font-size: 15px;
    line-height: 18px;
  }

  .site-footer__cta a {
    width: 134px;
    height: 41px;
    margin-top: 16px;
    font-size: 16px;
  }

  .site-footer__nav {
    align-content: flex-start;
    gap: 8px 6px;
    width: 100%;
  }

  .site-footer__nav a {
    min-height: 22px;
    padding: 4px 6px;
    color: #222;
    font-size: 12px;
    line-height: 14px;
  }

  .site-footer__legal {
    width: min(520px, 100%);
  }

  .site-footer__legal p {
    margin-bottom: 3px;
  }

  .site-footer__legal img {
    width: min(502px, 100%);
    height: auto;
  }
}

@media (min-width: 600px) and (max-width: 767.98px) {
  .site-footer {
    --footer-bottom-cap: calc(3.737vw - 1.196px);
  }
}

@media (max-width: 599.98px) {
  .legal-page {
    padding-top: 20px;
  }

  .legal-panel {
    --panel-pt: 104px;
    --panel-px: 16px;
    --bar-h: 98px;
    padding: var(--panel-pt) var(--panel-px) calc((100vw - 32px) * 53.684 / 343 + 40px);
  }

  .legal-panel__shape::before {
    aspect-ratio: 343 / 41.2618;
    mask-image: var(--hero-mask-mobile);
    -webkit-mask-image: var(--hero-mask-mobile);
  }

  .legal-panel__shape::after {
    aspect-ratio: 343 / 53.684;
    mask-image: var(--hero-mask-mobile);
    -webkit-mask-image: var(--hero-mask-mobile);
  }

  .site-footer__panel::before {
    aspect-ratio: 343 / 40.03;
    mask-image: var(--footer-mask-mobile);
    -webkit-mask-image: var(--footer-mask-mobile);
  }

  .site-footer__panel::after {
    aspect-ratio: 343 / 27.2;
    mask-image: var(--footer-mask-mobile);
    -webkit-mask-image: var(--footer-mask-mobile);
  }

  .legal-panel__header > p:first-child {
    font-size: 14px;
    line-height: 17px;
  }

  .legal-panel__header h1 {
    font-size: 44px;
    line-height: 48px;
  }

  .legal-panel__updated {
    font-size: 16px;
    line-height: 19px;
  }
}

@media (max-width: 479.98px) {
  .site-footer {
    min-height: 720px;
    padding: 48px 24px calc(var(--footer-bottom-cap) + 36px);
  }

  .site-footer__cta p {
    width: min(300px, 100%);
    font-size: 14px;
    line-height: 17px;
  }

  .site-footer__nav {
    gap: 6px 4px;
    margin-top: 28px;
  }

  .site-footer__legal {
    width: 100%;
  }
}

@media (max-width: 1024px) {
  .legal-layout {
    margin-top: 64px;
  }

  .legal-document {
    font-size: 16px;
    line-height: 26px;
  }

  .legal-intro {
    font-size: 18px;
    line-height: 28px;
  }

  .legal-section {
    scroll-margin-top: 110px;
  }
}

@media (max-width: 767.98px) {
  .legal-details div {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }
}

@media (max-width: 599.98px) {
  .legal-layout {
    margin-top: 40px;
  }

  .legal-document {
    font-size: 15px;
    line-height: 24px;
  }

  .legal-intro {
    font-size: 17px;
    line-height: 26px;
  }

  .legal-section {
    margin-top: 32px;
    padding-top: 32px;
    scroll-margin-top: 90px;
  }

  .legal-section h2 {
    gap: 10px;
    font-size: 30px;
  }

  .legal-section h3 {
    font-size: 14px;
    line-height: 17px;
  }

  .legal-details div {
    padding: 8px 0;
  }

  .legal-section .legal-list {
    padding-left: 14px;
  }

  .legal-support {
    margin-top: 40px;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    scroll-behavior: auto;
  }
}
