
    * { box-sizing: border-box; margin: 0; padding: 0; }

    body {
      font-family: Inter, Arial, Helvetica, sans-serif;
      background: #000;
      background-image: radial-gradient(#48484a 5%, transparent 50%);
      background-size: 5px 5px;
      background-attachment: scroll;
      color: #ccc;
      -webkit-font-smoothing: antialiased;
    }

    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; height: auto; }

.hero-gate {
  max-width: 520px;
  min-height: calc(100svh + 120px);
  margin: 0 auto;
  padding: 15px 15px 18px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

    .hero-gate header { text-align: center; }
    .hero-gate .logo { max-width: 250px; margin: 0 auto 10px; display: block; }

    .welcome { max-width: 420px; margin: 0 auto 8px; }

    .welcome h1 {
      font-size: 15px;
      color: #ffcc00;
      overflow: hidden;
      border-right: 0.15em solid #ff0000;
      white-space: nowrap;
      letter-spacing: 0.06em;
      animation: typing 3.5s steps(40, end), blink-caret 0.75s step-end infinite;
    }

    @keyframes typing { from { width: 0 } to { width: 100% } }
    @keyframes blink-caret { from, to { border-color: transparent } 50% { border-color: #fbf4a0 } }

    @media (max-width: 500px) {
      .welcome h1 {
        font-size: 10px;
        letter-spacing: 0.03em;
      }
    }

    .banner {
      border-radius: 10px;
      width: 100%;
      position: relative;
      display: block;
      border: 2px solid transparent;
      box-shadow: 0 0 15px rgba(255,187,0,.3), 0 0 40px rgba(255,187,0,.1);
      animation: bannerGlow 3s ease-in-out infinite alternate;
    }

    @keyframes bannerGlow {
      0% { box-shadow: 0 0 15px rgba(255,187,0,.2), 0 0 40px rgba(255,187,0,.05); }
      100% { box-shadow: 0 0 20px rgba(255,187,0,.5), 0 0 60px rgba(255,187,0,.15); }
    }

    .glow-on-hover {
      display: block;
      padding: 15px;
      font-size: 20px;
      font-weight: bold;
      text-align: center;
      margin-top: 20px;
      border: none;
      outline: none;
      color: #ffbb00;
      background: #111;
      cursor: pointer;
      position: relative;
      z-index: 0;
      border-radius: 10px;
      font-family: Inter, Arial, Helvetica, sans-serif;
    }

    .glow-on-hover:before {
      content: '';
      background: linear-gradient(88deg, #ffbb00, #0e0e0e, #ffbb00, #0e0e0e, #ffbb00, #0e0e0e, #ffbb00, #0e0e0e);
      position: absolute;
      top: -2px;
      left: -2px;
      background-size: 400%;
      z-index: -1;
      filter: blur(5px);
      width: calc(100% + 4px);
      height: calc(100% + 4px);
      animation: glowing 20s linear infinite;
      opacity: 1;
      border-radius: 10px;
    }

    .glow-on-hover:after {
      z-index: -1;
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: #111;
      left: 0;
      top: 0;
      border-radius: 10px;
    }

    @keyframes glowing {
      0% { background-position: 0 0 }
      50% { background-position: 400% 0 }
      100% { background-position: 0 0 }
    }

.hero-copyright {
  text-align: center;
  color: #fff;
  font-size: 13px;
  margin-top: 34px;
  line-height: 1.6;
}

.hero-copyright a {
  color: #ffbb00;
}

.scroll-hint {
  text-align: center;
  margin-top: clamp(95px, 14vh, 155px);
  padding-top: 0;
  padding-bottom: 8px;
  animation: bob 2s ease-in-out infinite;
}

    .scroll-hint span {
      font-size: 11px;
      color: #666;
      text-transform: uppercase;
      letter-spacing: 2px;
    }

    .scroll-hint .arrow {
      font-size: 20px;
      color: #ffbb00;
      opacity: .5;
      display: block;
      margin-top: 4px;
    }

    @keyframes bob {
      0%, 100% { transform: translateY(0) }
      50% { transform: translateY(6px) }
    }

    .seo-wrap {
      max-width: 780px;
      margin: 0 auto;
      padding: 0 20px 40px;
    }

    .sec {
      padding: 3rem 0;
      border-top: 1px solid rgba(255,187,0,.08);
    }

    .sec-eyebrow {
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: 3px;
      color: #ffbb00;
      font-weight: 700;
      margin-bottom: 8px;
    }

    .sec h2 {
      font-size: 20px;
      font-weight: 800;
      color: #fff;
      margin-bottom: 6px;
      line-height: 1.3;
    }

    .sec-badge {
      font-size: 13px;
      color: #555;
      margin-bottom: 18px;
    }

    .sec p {
      font-size: 14px;
      color: #999;
      line-height: 1.75;
      margin-bottom: 12px;
    }

    .sec p strong { color: #ddd; }

    .sec p a {
      color: #ffbb00;
      border-bottom: 1px solid rgba(255,187,0,.2);
    }

    .sec p a:hover { border-color: #ffbb00; }

    .bl {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin: 10px 0 16px;
    }

    .bl li {
      font-size: 14px;
      color: #999;
      padding-left: 16px;
      position: relative;
      line-height: 1.7;
    }

    .bl li::before {
      content: '';
      position: absolute;
      left: 0;
      top: .6em;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #ffbb00;
    }

    .bl li strong { color: #ddd; }
    .bl li a { color: #ffbb00; }

    .hbox {
      padding: 16px 18px;
      background: #111;
      border-left: 3px solid #ffbb00;
      border-radius: 0 8px 8px 0;
      font-size: 14px;
      color: #999;
      margin: 16px 0;
      line-height: 1.7;
    }

    .hbox strong { color: #ddd; }
    .hbox a { color: #ffbb00; }

    .grid2 {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 28px;
      margin-top: 16px;
    }

    .grid2 .col-title {
      font-size: 16px;
      font-weight: 700;
      color: #fff;
      margin-bottom: 4px;
    }

    .grid2 .col-badge {
      font-size: 12px;
      color: #555;
      margin-bottom: 14px;
    }

    .trust-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-top: 18px;
    }

    .trust-card {
      background: #0a0a0a;
      border: 1px solid rgba(255,255,255,.06);
      border-radius: 12px;
      padding: 18px;
    }

    .trust-card:hover { border-color: rgba(255,187,0,.15); }

    .trust-card h3 {
      font-size: 14px;
      color: #fff;
      margin-bottom: 8px;
      font-weight: 600;
    }

    .trust-card p {
      font-size: 13px;
      color: #777;
      line-height: 1.6;
      margin-bottom: 6px;
    }

    .trust-card .meta {
      font-size: 12px;
      color: #4caf50;
    }

    .art-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
      margin-top: 18px;
    }

    .art-card {
      background: #0a0a0a;
      border: 1px solid rgba(255,255,255,.06);
      border-radius: 12px;
      padding: 16px;
    }

    .art-card:hover { border-color: rgba(255,187,0,.15); }

    .art-card h3 {
      font-size: 14px;
      color: #fff;
      margin-bottom: 6px;
      font-weight: 600;
      line-height: 1.45;
    }

    .art-card p {
      font-size: 12px;
      color: #666;
      line-height: 1.55;
      margin-bottom: 8px;
    }

    .art-card a {
      font-size: 12px;
      color: #ffbb00;
      font-weight: 600;
    }

    .faq-list {
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-top: 16px;
    }

    .faq-item {
      background: #0a0a0a;
      border: 1px solid rgba(255,255,255,.06);
      border-radius: 10px;
      padding: 16px 18px;
    }

    .faq-item:hover { border-color: rgba(255,187,0,.12); }

    .faq-item h3 {
      font-size: 14px;
      font-weight: 600;
      color: #ddd;
      margin-bottom: 6px;
    }

    .faq-item p {
      font-size: 13px;
      color: #777;
      line-height: 1.65;
      margin: 0;
    }

    .faq-item a { color: #ffbb00; }

    .site-footer {
      border-top: 1px solid rgba(255,187,0,.08);
      padding: 30px 0 20px;
      margin-top: 20px;
    }

    .ft-inner {
      max-width: 780px;
      margin: 0 auto;
      padding: 0 20px;
    }

    .ft-brand {
      font-size: 18px;
      font-weight: 900;
      color: #ffbb00;
      margin-bottom: 4px;
    }

    .ft-brand a { color: #ffbb00; }

    .ft-tag {
      font-size: 13px;
      color: #555;
      margin-bottom: 16px;
    }

    .ft-tag a { color: #ffbb00; }

    .ft-links {
      display: flex;
      flex-wrap: wrap;
      gap: 4px 12px;
      margin-bottom: 18px;
    }

    .ft-links a {
      font-size: 12px;
      color: #555;
      transition: color .15s;
    }

    .ft-links a:hover { color: #fff; }

    .ft-warn {
      display: flex;
      gap: 8px;
      align-items: flex-start;
      padding: 12px 14px;
      background: rgba(255,50,50,.05);
      border: 1px solid rgba(255,50,50,.12);
      border-radius: 8px;
      margin-bottom: 16px;
      font-size: 12px;
      color: rgba(255,180,180,.7);
      line-height: 1.6;
    }

    .ft-warn strong { color: #ff5252; }

    .ft-warn .age {
      font-size: 10px;
      font-weight: 700;
      padding: 2px 6px;
      border-radius: 999px;
      border: 1px solid rgba(255,50,50,.3);
      color: #ff5252;
      flex-shrink: 0;
      margin-top: 2px;
    }

    .ft-copy {
      font-size: 11px;
      color: #444;
    }

    .ft-copy a { color: #ffbb00; }

    @media (max-width: 700px) {
      .grid2,
      .trust-grid {
        grid-template-columns: 1fr;
      }

      .art-grid {
        grid-template-columns: 1fr 1fr;
      }
    }

    @media (max-width: 500px) {
      .art-grid {
        grid-template-columns: 1fr;
      }
    }
    
    @media (min-width: 900px) {
  .hero-gate {
    max-width: 520px;
  }

  .welcome h1 {
    font-size: 16px;
    text-align: center;
  }
}

@media (max-width: 500px) {
  .hero-gate {
    min-height: calc(100svh + 85px);
    padding: 12px 14px 14px;
  }

  .hero-copyright {
    margin-top: 42px;
  }

  .scroll-hint {
    margin-top: 70px;
  }
}

@media (min-width: 900px) {
  body {
    background-attachment: fixed;
  }
}