/* open-sans-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/open-sans-v44-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/open-sans-v44-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

body  {
    font-family: 'Open Sans', 'Arial';
    margin: 0;
}

body {
    position: relative;
    background-color: black;
}

body::before {
    content: "";
    position: fixed;
    inset: -15px;
    z-index: -1;
    pointer-events: none;
    background-image: url("../mediapool/halloween.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    filter: blur(5px);
}

.nfh {
    --bordeaux:#780D33;
    --orange:#ffad63;
    --muted:#c9bdd5;
    background:rgba(0,0,0,.25);
    color:#f8f1ff;
    isolation:isolate;
    position:relative;
    overflow:hidden;
    text-align:left;
    border-radius:14px;
    min-height: 100vh;
}

.nfh * {
box-sizing:border-box }

.nfh [hidden] {
display:none!important }

.nfh .wrap {
  max-width:1160px;
  margin:auto;
  padding:32px clamp(20px,5vw,60px);
}

.nfh header {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items: center;
  border-bottom:1px solid #ffffff25;
padding-bottom:22px }

.nfh a {
color:inherit }

.nfh .brand {
  font-size:23px;
  letter-spacing:.12em;
  font-weight:750;
  width: 100%;
}

.nfh .eyebrow {
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.16em;
color:var(--orange) }

.nfh h1 {
  color:#f8f1ff!important;
  letter-spacing:-.045em;
margin:18px 0 24px!important }

.nfh h1 em {
color:var(--orange) }

.nfh h2 {
  color:#f8f1ff!important;
margin:10px 0 16px!important }

.nfh h3 {
  color:#f8f1ff!important;
margin:14px 0!important }

.nfh p {
margin:0 0 18px }

.nfh .lead {
  color:var(--muted);
  max-width:570px;
font-size:18px }

.nfh button,.nfh .btn {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:48px;
  padding:11px 18px;
  border:1px solid #ffffff35;
  border-radius:8px;
  cursor:pointer;
  background:#30263e;
  color:#fff;
  text-decoration:none;
  white-space:normal;
}

.btn.primary {
  width: max-content;
}

.nfh button:hover,.nfh .btn:hover {
  background:#49355f;
color:white }

.nfh .primary {
  background:var(--orange)!important;
  color:#21140b!important;
border-color:var(--orange) }

.nfh :focus-visible {
  outline:3px solid #e4d8ff!important;
outline-offset:4px }

.nfh .intro {
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin:20px 0px 20px 0px;
}

.nfh .grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
gap:18px }

.nfh .card {
  min-width:0;
  padding:25px;
  background:linear-gradient(145deg,#282032,#18141f);
  border:1px solid #ffffff25;
border-radius:14px }

.nfh .card p {
color:var(--muted) }

.nfh label {
  display:block;
  margin-bottom:7px;
font-weight:600 }

.nfh input {
  width:100%;
  min-height:48px;
  background:#110e18;
  color:white;
  border:1px solid #93839e;
  border-radius:8px;
  padding:10px 12px;
  font:inherit;
margin-bottom:12px }

.nfh fieldset {
  border:0;
  padding:0;
margin:0 }

.nfh legend {
  padding:0;
  margin-bottom:12px;
font-weight:600 }

.nfh .formula {
  padding:16px;
  background:#120f19;
  border-radius:8px;
  font-size:18px;
  margin-bottom:18px;
color:white!important }

.nfh details {
  margin:18px 0;
  color:var(--muted);
font-size:14px }

.nfh summary {
  cursor:pointer;
min-height:36px }

.nfh .status {
  font-size:14px;
  min-height:26px;
  margin:12px 0 0!important;
color:#ffcf9f!important }

.nfh .reward {
  border-top:1px solid #b8a0ff55;
  margin-top:16px;
padding-top:18px }

.nfh .reward strong {
color:#d3ffcd }

.nfh .code {
  display:block;
  overflow-wrap:anywhere;
  padding:12px;
  background:#110e18;
  border:1px dashed #b8a0ff;
  border-radius:7px;
  margin:10px 0;
user-select:all }

.nfh .small {
font-size:13px }

.nfh .symbols {
  display:grid;
  grid-template-columns:repeat(3,1fr);
gap:7px }

.nfh .symbols button {
  font-size:23px;
padding:8px }

.nfh .sequence {
  min-height:52px;
  padding:10px 0;
  color:var(--orange);
font-size:15px }

.nfh .section {
  margin:32px 0 8px;
  padding:28px;
  border:1px solid #ffffff22;
  border-radius:12px;
  background:rgba(0,0,0,.5);
  display:flex;
  flex-direction: column;
  justify-content:space-between;
}

.column {
    flex: 1;
    min-width: 0;
}

.row {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 24px;
}

.row > div:last-child {
    margin-left: auto;
    flex-shrink: 0;
}

.nfh .bottom {
  margin:32px 0 8px;
  padding:28px;
  border:1px solid #ffffff22;
  border-radius:12px;
  background:#21192e;
  display:flex;
  align-items:center;
  justify-content:space-between;
gap:24px }

.nfh footer {
  font-size:13px;
  text-align: center;
  color:var(--muted);
  padding: 24px clamp(32px,5vw,60px);
}

.nfh .demo {
  padding:12px 16px;
  border:1px solid #ffad6344;
  border-radius:8px;
  color:#ffd9b7;
  font-size:13px;
margin-bottom:24px }

@media(max-width:950px) {

  .nfh .grid {
    grid-template-columns:1fr
  }

  .nfh .moon {
  right:-45px
}

}

@media(max-width:540px) {

  .nfh .brand {
      text-align: center;
  }

  .hide-mobile {
    display: none;
  }

  .nfh header a {
  font-size:13px }

  .nfh .intro,.nfh .bottom {
  display:block }

  .nfh .bottom a {
  margin-top:12px }

    .nfh .row {
        flex-direction: column;
        align-items: stretch;
    }

    .nfh .row > div {
        width: 100%;
        margin-left: 0;
    }

    .nfh .row .btn {
        width: 100%;
    }

}

@media(prefers-reduced-motion:no-preference) {
  .nfh button,.nfh a {
  transition:background .15s }

}