:root {
  --fo-bg: #141a2e;
  --fo-surf: #1e2640;
  --fo-surf-hi: #263056;
  --fo-txt: #eef2ff;
  --fo-txt-sub: #b4bfe6;
  --fo-bd: #34406b;
  --fo-pink: #e963b3;
  --fo-pink-h: #f27cc4;
  --fo-green: #3ddc97;
  --fo-gold: #f5b942;
  --fo-btn-txt: #141a2e;
  --fo-foot-bg: #0e1324;
  --fo-font: "Thasadith", sans-serif;
  --fo-display: "Kavoon", sans-serif;
  --fo-ease: cubic-bezier(0.3, 0.7, 0.2, 1);
  --fo-dur: 200ms;
}

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

img {
  max-width: 100%;
  height: auto;
}

html.fo-lock {
  overflow: hidden;
}

body.fo-root {
  background-color: var(--fo-bg);
  color: var(--fo-txt);
  margin: 0;
  font-family: var(--fo-font);
  font-size: 19px;
  line-height: 1.7;
  font-weight: 400;
  padding-bottom: 80px;
}

@media (min-width: 1024px) {
  body.fo-root {
    padding-bottom: 0;
  }
}

.fo-skip {
  position: absolute;
  top: -9999px;
  left: -9999px;
  z-index: 100;
  padding: 10px 16px;
  background-color: var(--fo-pink);
  color: var(--fo-btn-txt);
  font-weight: 700;
  font-size: 16px;
  border-radius: 6px;
  text-decoration: none;
}

.fo-skip:focus {
  top: 16px;
  left: 16px;
}

.fo-wrap {
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 16px;
}

@media (min-width: 768px) {
  .fo-wrap {
    padding: 0 24px;
  }
}

.fo-top {
  position: sticky;
  top: 0;
  z-index: 50;
  background-color: var(--fo-bg);
  border-bottom: 1px solid var(--fo-bd);
  height: 64px;
}

.fo-top-in {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 16px;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 16px;
}

@media (min-width: 768px) {
  .fo-top-in {
    padding: 0 24px;
  }
}

.fo-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--fo-txt);
  flex-shrink: 0;
}

.fo-logo-mark {
  width: 34px;
  height: 34px;
  flex-shrink: 0;
}

.fo-logo-txt {
  font-size: 20px;
  font-family: var(--fo-display);
  line-height: 1;
}

.fo-nav {
  display: none;
}

@media (min-width: 1024px) {
  .fo-nav {
    display: flex;
    gap: 2px;
    margin-left: auto;
    align-items: center;
  }
}

.fo-nav-a {
  font-size: 16px;
  font-weight: 700;
  padding: 10px 12px;
  border-radius: 6px;
  color: var(--fo-txt-sub);
  text-decoration: none;
  transition: background-color var(--fo-dur) var(--fo-ease), color var(--fo-dur) var(--fo-ease);
}

.fo-nav-a:hover {
  background-color: var(--fo-surf);
  color: var(--fo-txt);
}

.fo-top-act {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}

@media (min-width: 1024px) {
  .fo-top-act {
    margin-left: 12px;
  }
}

.fo-top-cta {
  font-size: 15px;
  min-height: 42px;
  padding: 0 16px;
  background-color: var(--fo-pink);
  color: var(--fo-btn-txt);
}

.fo-burger {
  width: 44px;
  height: 44px;
  background-color: var(--fo-surf);
  border: 1px solid var(--fo-bd);
  border-radius: 6px;
  color: var(--fo-txt);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
}

@media (min-width: 1024px) {
  .fo-burger {
    display: none;
  }
}

.fo-ico {
  width: 22px;
  height: 22px;
  display: block;
}

.fo-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 17px;
  text-decoration: none;
  border: 2px solid transparent;
  cursor: pointer;
  font-family: var(--fo-font);
  line-height: 1;
  transition: background-color var(--fo-dur) var(--fo-ease), border-color var(--fo-dur) var(--fo-ease), color var(--fo-dur) var(--fo-ease), transform var(--fo-dur) var(--fo-ease);
}

.fo-btn:focus-visible,
.fo-burger:focus-visible,
.fo-drawer-x:focus-visible,
.fo-bn-i:focus-visible,
.fo-bn-menu:focus-visible,
.fo-q-s:focus-visible {
  outline: 3px solid var(--fo-green);
  outline-offset: 3px;
}

.fo-btn-main {
  background-color: var(--fo-pink);
  color: var(--fo-btn-txt);
}

.fo-btn-main:hover {
  background-color: var(--fo-pink-h);
}

.fo-btn-lg {
  min-height: 54px;
  font-size: 19px;
  padding: 0 28px;
}

.fo-btn-ghost {
  background-color: transparent;
  border: 2px solid var(--fo-green);
  color: var(--fo-green);
}

.fo-btn-sub {
  background-color: var(--fo-green);
  color: var(--fo-btn-txt);
}

.fo-drawer {
  position: fixed;
  inset: 0;
  z-index: 80;
  pointer-events: none;
}

.fo-drawer[hidden] {
  display: none;
}

@media (min-width: 1024px) {
  .fo-drawer {
    display: none;
  }
}

.fo-drawer-bg {
  position: absolute;
  inset: 0;
  background-color: rgba(8, 12, 24, 0.6);
  opacity: 0;
  transition: opacity var(--fo-dur) var(--fo-ease);
}

.fo-drawer.fo-on {
  pointer-events: auto;
}

.fo-drawer.fo-on .fo-drawer-bg {
  opacity: 1;
}

.fo-drawer-panel {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: min(86vw, 360px);
  overflow-y: auto;
  background-color: var(--fo-surf);
  border-left: 1px solid var(--fo-bd);
  padding: 64px 20px 24px;
  transform: translateX(100%);
  transition: transform var(--fo-dur) var(--fo-ease);
}

.fo-drawer.fo-on .fo-drawer-panel {
  transform: translateX(0);
}

.fo-drawer-x {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 44px;
  height: 44px;
  background-color: var(--fo-surf-hi);
  border: 1px solid var(--fo-bd);
  border-radius: 6px;
  color: var(--fo-txt);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
}

.fo-drawer-g {
  margin-bottom: 18px;
}

.fo-drawer-ico {
  width: 20px;
  height: 20px;
  color: var(--fo-green);
  display: inline-block;
  vertical-align: middle;
}

.fo-drawer-gt {
  display: inline-block;
  vertical-align: middle;
  font-size: 15px;
  font-weight: 700;
  color: var(--fo-txt-sub);
  margin: 0 0 6px 4px;
}

.fo-drawer-ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.fo-drawer-a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 6px;
  font-size: 18px;
  text-decoration: none;
  color: var(--fo-txt);
  transition: background-color var(--fo-dur) var(--fo-ease);
}

.fo-drawer-a:hover {
  background-color: var(--fo-surf-hi);
}

.fo-drawer-act {
  margin-top: 8px;
}

.fo-drawer-cta {
  width: 100%;
}

.fo-bn {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 60;
  height: 64px;
  background-color: var(--fo-surf-hi);
  border-top: 1px solid var(--fo-bd);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: center;
}

@media (min-width: 1024px) {
  .fo-bn {
    display: none;
  }
}

.fo-bn-i {
  background: transparent;
  border: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  color: var(--fo-txt-sub);
  font-family: var(--fo-font);
  font-size: 12px;
  min-height: 48px;
  text-decoration: none;
  cursor: pointer;
  padding: 4px 2px;
  line-height: 1;
}

.fo-bn-t {
  font-size: 13px;
  font-weight: 700;
}

.fo-bn-go {
  background-color: var(--fo-pink);
  color: var(--fo-btn-txt);
  border-radius: 6px;
  margin: 6px 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  font-size: 12px;
  font-weight: 700;
  min-height: 48px;
  text-decoration: none;
  line-height: 1;
}

.fo-bn-menu {
  background: transparent;
  border: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  color: var(--fo-txt-sub);
  font-family: var(--fo-font);
  font-size: 12px;
  min-height: 48px;
  text-decoration: none;
  cursor: pointer;
  padding: 4px 2px;
  line-height: 1;
}

.fo-crumb {
  max-width: 1180px;
  margin: 0 auto;
  padding: 10px 16px;
  font-size: 15px;
  color: var(--fo-txt-sub);
}

@media (min-width: 768px) {
  .fo-crumb {
    padding: 10px 24px;
  }
}

.fo-crumb-ol {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
  align-items: center;
}

.fo-crumb-i {
  display: inline-flex;
  align-items: center;
}

.fo-crumb-i + .fo-crumb-i::before {
  content: "/";
  margin-right: 6px;
  color: var(--fo-txt-sub);
}

.fo-crumb-i a {
  color: var(--fo-green);
  text-decoration: none;
}

.fo-hero {
  position: relative;
  overflow: hidden;
  padding: 24px 0 28px;
  background: linear-gradient(180deg, var(--fo-bg), var(--fo-surf));
}

@media (min-width: 768px) {
  .fo-hero {
    padding: 40px 0 36px;
  }
}

.fo-pitch {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}

.fo-hero-in {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  align-items: center;
}

@media (min-width: 1024px) {
  .fo-hero-in {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 40px;
  }
}

.fo-hero-tx {
  display: block;
}

.fo-tag {
  display: inline-block;
  font-size: 15px;
  font-weight: 700;
  color: var(--fo-green);
  background-color: rgba(61, 220, 151, 0.12);
  border: 1px solid var(--fo-green);
  border-radius: 6px;
  padding: 4px 12px;
  margin: 0;
}

.fo-h1 {
  margin: 14px 0;
  font-size: clamp(32px, 6.4vw, 54px);
  line-height: 1.25;
  font-weight: 700;
  font-family: var(--fo-font);
}

.fo-disp {
  font-family: var(--fo-display);
  color: var(--fo-pink);
}

.fo-hero-lead {
  font-size: 20px;
  color: var(--fo-txt-sub);
  margin: 0 0 22px;
  line-height: 1.6;
}

.fo-hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.fo-note {
  font-size: 14px;
  color: var(--fo-txt-sub);
  margin-top: 12px;
  display: block;
}

.fo-hero-art {
  position: relative;
  height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 1024px) {
  .fo-hero-art {
    height: 380px;
  }
}

.fo-keycard {
  width: 200px;
  height: auto;
  display: block;
  z-index: 1;
}

@media (min-width: 1024px) {
  .fo-keycard {
    width: 270px;
  }
}

.fo-cv {
  position: absolute;
  z-index: 2;
  width: 96px;
  border: 2px solid var(--fo-bd);
  border-radius: 6px;
  overflow: hidden;
  background-color: var(--fo-surf);
  display: block;
}

@media (min-width: 1024px) {
  .fo-cv {
    width: 128px;
  }
}

.fo-cv-0 {
  left: 4px;
  bottom: 12px;
  transform: rotate(-6deg);
}

.fo-cv-1 {
  right: 4px;
  top: 24px;
  transform: rotate(5deg);
}

.fo-cv-img {
  width: 100%;
  height: auto;
  display: block;
}

.fo-doors {
  padding: 36px 0;
}

.fo-h2 {
  margin: 0 0 20px;
  font-size: clamp(25px, 4.6vw, 34px);
  line-height: 1.3;
  font-weight: 700;
  font-family: var(--fo-font);
}

.fo-door-l {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

@media (min-width: 768px) {
  .fo-door-l {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }
}

.fo-door {
  background-color: var(--fo-surf);
  border: 1px solid var(--fo-bd);
  border-radius: 6px;
  overflow: hidden;
}

.fo-door-a {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0 16px 18px;
  text-decoration: none;
  color: var(--fo-txt);
  border: 1px solid transparent;
  border-radius: 6px;
  transition: border-color var(--fo-dur) var(--fo-ease);
}

.fo-door-a:hover {
  border-color: var(--fo-pink);
}

.fo-door-band {
  display: block;
  height: 8px;
  margin: 0 -16px;
}

.fo-door-ball .fo-door-band {
  background-color: var(--fo-green);
}

.fo-door-casino .fo-door-band {
  background-color: var(--fo-pink);
}

.fo-door-slot .fo-door-band {
  background-color: var(--fo-gold);
}

.fo-door-pics {
  display: flex;
  gap: 10px;
  margin-top: 12px;
}

.fo-door-pic {
  flex: 0 0 auto;
  width: 84px;
  border-radius: 4px;
  overflow: hidden;
  background-color: var(--fo-surf-hi);
}

.fo-door-pic-art {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 126px;
  color: var(--fo-green);
}

.fo-door-img {
  width: 100%;
  height: auto;
  display: block;
}

.fo-door-svg {
  width: 56px;
  height: 56px;
  display: block;
}

.fo-door-t {
  font-family: var(--fo-display);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}

.fo-door-d {
  font-size: 17px;
  color: var(--fo-txt-sub);
  line-height: 1.6;
}

.fo-article,
.fo-long {
  padding: 16px 0 8px;
}

.fo-prose {
  max-width: 760px;
}

.fo-prose h2 {
  margin: 44px 0 14px;
  border-left: 6px solid var(--fo-pink);
  padding-left: 14px;
  font-size: clamp(25px, 4.6vw, 34px);
  line-height: 1.3;
  font-weight: 700;
}

.fo-prose h3 {
  font-size: 22px;
  margin: 26px 0 10px;
  color: var(--fo-green);
  font-weight: 700;
  line-height: 1.4;
}

.fo-prose p {
  margin: 0 0 1.05em;
}

.fo-prose ul,
.fo-prose ol {
  padding-left: 1.4em;
  margin: 0 0 1.05em;
}

.fo-prose li {
  margin: 0.4em 0;
}

.fo-prose li::marker {
  color: var(--fo-pink);
}

.fo-prose a {
  color: var(--fo-green);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

.fo-prose strong {
  font-weight: 700;
}

.fo-tbl-wrap {
  overflow-x: auto;
  border: 1px solid var(--fo-bd);
  border-radius: 6px;
  background-color: var(--fo-surf);
  margin: 20px 0;
}

.fo-tbl,
.fo-prose table {
  width: 100%;
  border-collapse: collapse;
}

.fo-tbl th,
.fo-tbl td,
.fo-prose th,
.fo-prose td {
  padding: 12px 14px;
  text-align: left;
  vertical-align: top;
  white-space: normal;
  overflow-wrap: anywhere;
  font-size: 17px;
  border-bottom: 1px solid var(--fo-bd);
}

.fo-tbl th,
.fo-prose th {
  background-color: var(--fo-surf-hi);
  font-weight: 700;
}

.fo-mid {
  background-color: var(--fo-surf-hi);
  border-left: 6px solid var(--fo-green);
  border-radius: 6px;
  padding: 16px 18px;
  margin: 30px 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

@media (min-width: 768px) {
  .fo-mid {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
  }
}

.fo-mid-t {
  margin: 0;
  font-weight: 700;
  font-size: 18px;
}

.fo-football {
  padding: 36px 0;
}

.fo-step-l {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

@media (min-width: 768px) {
  .fo-step-l {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.fo-step {
  background-color: var(--fo-surf);
  border: 1px solid var(--fo-bd);
  border-radius: 6px;
  padding: 18px;
  border-top: 4px solid var(--fo-green);
}

.fo-step-ico {
  color: var(--fo-green);
  display: block;
  margin-bottom: 8px;
  width: 28px;
  height: 28px;
}

.fo-step-h {
  display: block;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 4px;
}

.fo-step-p {
  margin: 0;
  color: var(--fo-txt-sub);
  font-size: 16px;
  line-height: 1.6;
}

.fo-casino {
  padding: 36px 0;
}

.fo-cr-l {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

@media (min-width: 768px) {
  .fo-cr-l {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.fo-cr {
  background-color: var(--fo-surf);
  border: 1px solid var(--fo-bd);
  border-radius: 6px;
  padding: 8px;
  border-top: 4px solid var(--fo-pink);
}

.fo-cr-f {
  margin: 0;
  border-radius: 4px;
  overflow: hidden;
}

.fo-cr-img {
  width: 100%;
  height: auto;
  display: block;
}

.fo-cr-t {
  margin: 8px 0 0;
  font-size: 16px;
  font-weight: 700;
}

.fo-pt-l {
  list-style: none;
  padding: 0;
  margin: 22px 0 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

@media (min-width: 768px) {
  .fo-pt-l {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.fo-pt {
  background-color: var(--fo-surf-hi);
  border-radius: 6px;
  padding: 14px 16px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.fo-pt-ico {
  color: var(--fo-pink);
  width: 32px;
  height: 32px;
  display: block;
}

.fo-pt-h {
  font-weight: 700;
  font-size: 18px;
  display: block;
}

.fo-pt-p {
  font-size: 16px;
  color: var(--fo-txt-sub);
  display: block;
}

.fo-head {
  position: relative;
  overflow: hidden;
  padding: 24px 0 14px;
}

.fo-head-in {
  max-width: 860px;
}

.fo-head-p {
  font-size: 20px;
  color: var(--fo-txt-sub);
  margin: 0 0 18px;
  line-height: 1.6;
}

.fo-head-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}

.fo-nf-l {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 18px 0;
}

.fo-nf-a {
  background-color: var(--fo-surf);
  border: 1px solid var(--fo-bd);
  border-radius: 6px;
  padding: 10px 16px;
  text-decoration: none;
  color: var(--fo-txt);
  font-weight: 700;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
}

.fo-strip {
  padding: 8px 0 20px;
}

.fo-tile-l {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

@media (min-width: 768px) {
  .fo-tile-l {
    grid-template-columns: repeat(auto-fill, minmax(150px, 190px));
  }
}

.fo-tile {
  background-color: var(--fo-surf);
  border: 1px solid var(--fo-bd);
  border-radius: 6px;
  overflow: hidden;
  position: relative;
  padding: 0 10px 10px;
}

.fo-tile-band {
  display: block;
  height: 6px;
  margin: 0 -10px 10px;
}

.fo-tile-ball .fo-tile-band {
  background-color: var(--fo-green);
}

.fo-tile-casino .fo-tile-band {
  background-color: var(--fo-pink);
}

.fo-tile-slot .fo-tile-band {
  background-color: var(--fo-gold);
}

.fo-tile-f {
  margin: 0;
  border-radius: 4px;
  overflow: hidden;
}

.fo-tile-img {
  width: 100%;
  height: auto;
  display: block;
}

.fo-tile-t {
  margin: 8px 0 2px;
  font-size: 16px;
  font-weight: 700;
}

.fo-tile-k {
  font-size: 14px;
  color: var(--fo-txt-sub);
  display: block;
}

.fo-strip-lg {
  display: block;
}

.fo-strip-t {
  font-size: 15px;
  font-weight: 700;
  color: var(--fo-txt-sub);
  margin: 0 0 14px;
}

.fo-lg-l {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
  gap: 12px;
}

.fo-lg-i {
  background-color: var(--fo-surf);
  border: 1px solid var(--fo-bd);
  border-radius: 6px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.fo-lg-fig {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 4px;
  overflow: hidden;
}

.fo-lg-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.fo-lg-cap {
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  color: var(--fo-txt);
}

.fo-faq {
  padding: 32px 0;
}

.fo-q-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 820px;
}

.fo-q {
  background-color: var(--fo-surf);
  border: 1px solid var(--fo-bd);
  border-radius: 6px;
}

details.fo-q[open] {
  background-color: var(--fo-surf-hi);
}

.fo-q-s {
  cursor: pointer;
  padding: 14px 48px 14px 16px;
  font-weight: 700;
  font-size: 18px;
  list-style: none;
  position: relative;
  color: var(--fo-txt);
}

.fo-q-s::-webkit-details-marker {
  display: none;
}

.fo-q-s::marker {
  display: none;
  content: "";
}

.fo-q-s::after {
  content: "+";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 24px;
  color: var(--fo-pink);
  line-height: 1;
}

details.fo-q[open] .fo-q-s::after {
  content: "\2212";
}

.fo-q-a {
  margin: 0;
  padding: 0 16px 16px;
  color: var(--fo-txt-sub);
  font-size: 17px;
  line-height: 1.6;
}

.fo-end {
  padding: 28px 0 56px;
}

.fo-end-in {
  background-color: var(--fo-surf-hi);
  border: 1px solid var(--fo-bd);
  border-left: 6px solid var(--fo-pink);
  border-radius: 6px;
  padding: 26px 22px;
  text-align: center;
  max-width: 920px;
  margin: 0 auto;
}

.fo-end-ico {
  color: var(--fo-pink);
  display: block;
  margin: 0 auto 8px;
  width: 36px;
  height: 36px;
}

.fo-end-t {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 16px;
  color: var(--fo-txt);
}

.fo-end-n {
  font-size: 14px;
  color: var(--fo-txt-sub);
  margin-top: 12px;
  margin-bottom: 0;
}

.fo-foot {
  background-color: var(--fo-foot-bg);
  color: var(--fo-txt-sub);
  border-top: 1px solid var(--fo-bd);
  margin-top: 24px;
  padding: 40px 0 114px;
}

@media (min-width: 1024px) {
  .fo-foot {
    padding: 40px 0 24px;
  }
}

.fo-foot-in {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
}

@media (min-width: 768px) {
  .fo-foot-in {
    padding: 0 24px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .fo-foot-in {
    grid-template-columns: minmax(0, 1.4fr) repeat(4, minmax(0, 1fr));
  }
}

.fo-foot-odds {
  grid-column: 1 / -1;
  border-left: 4px solid var(--fo-green);
  padding: 6px 16px;
  background-color: var(--fo-surf);
  border-radius: 6px;
}

.fo-foot-brand {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.fo-logo-ft {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.fo-foot-brand .fo-logo-txt {
  color: var(--fo-txt);
}

.fo-foot-about {
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
}

.fo-foot-col {
  display: flex;
  flex-direction: column;
}

.fo-foot-h {
  font-size: 16px;
  font-weight: 700;
  color: var(--fo-txt);
  margin: 0 0 8px;
}

.fo-foot-ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.fo-foot-a {
  color: var(--fo-txt-sub);
  text-decoration: none;
  font-size: 16px;
  padding: 4px 0;
  display: inline-block;
  transition: color var(--fo-dur) var(--fo-ease);
}

.fo-foot-a:hover {
  color: var(--fo-green);
}

.fo-foot-line {
  font-size: 15px;
  margin: 0 0 4px;
}

.fo-foot-copy {
  max-width: 1180px;
  margin: 22px auto 0;
  padding: 0 16px;
  font-size: 14px;
}

@media (min-width: 768px) {
  .fo-foot-copy {
    padding: 0 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.fo-prose .fo-btn { text-decoration: none; }
.fo-prose .fo-btn-sub { color: var(--fo-btn-txt); }
.fo-pitch { opacity: 0.55; }
.fo-h1, .fo-h2 { text-wrap: balance; }
.fo-head-p, .fo-hero-lead, .fo-prose p { text-wrap: pretty; }
.fo-skip { left: 0; top: 0; width: 1px; height: 1px; clip-path: inset(50%); white-space: nowrap; }
.fo-skip:focus { width: auto; height: auto; clip-path: none; left: 16px; top: 16px; z-index: 100; }
.fo-btn { white-space: nowrap; }
.fo-crumb-i a { display: inline-flex; align-items: center; min-height: 32px; padding: 0 4px; }
body.fo-root { padding-bottom: 0; }
.fo-cv-img { object-fit: cover; }
@media (min-width: 768px) { .fo-door-l { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 1024px) { .fo-door-l { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.fo-pt-ico { grid-row: 1 / 3; }
.fo-pt-h, .fo-pt-p { grid-column: 2; }
.fo-h1 a { color: var(--fo-pink); }
.fo-head .fo-pitch { opacity: 0.32; }
