:root {
  --bg:     #0a0a0a;
  --surf:   #131313;
  --border: #2a2a2a;
  --text:   #f0f0f0;
  --body:   #c0c0c0;
  --muted:  #888888;
  --bam:    #c8a84b;
  --hd: 'Barlow Condensed','Arial Narrow',sans-serif;
  --bd: 'Barlow','Helvetica Neue',Helvetica,Arial,sans-serif;
}
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  background:var(--bg); color:var(--text);
  font-family:var(--bd); font-weight:300;
  overflow-x:hidden; -webkit-font-smoothing:antialiased; cursor:none;
}

/* CURSOR */
#cd { position:fixed; z-index:9999; pointer-events:none;
  width:6px; height:6px; background:var(--bam); border-radius:50%;
  transform:translate(-50%,-50%); transition:width .15s,height .15s; }
#cr { position:fixed; z-index:9998; pointer-events:none;
  width:30px; height:30px; border:1px solid rgba(200,168,75,.4);
  border-radius:50%; transform:translate(-50%,-50%);
  transition:width .22s,height .22s,border-color .22s; }
body.hl #cd { width:10px; height:10px; }
body.hl #cr { width:46px; height:46px; border-color:rgba(200,168,75,.8); }

/* NAV */
nav {
  position:fixed; top:0; left:0; right:0; z-index:800;
  height:60px; display:flex; align-items:center; justify-content:space-between;
  padding:0 48px;
}
nav.on {
  background:rgba(10,10,10,.96); backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
}
.nl { display:flex; align-items:center; text-decoration:none; }
.nl img { height:26px; width:auto; }
.nm { display:flex; gap:32px; list-style:none; }
.nm a {
  font-family:var(--hd); font-size:11px; font-weight:400; letter-spacing:.18em;
  text-transform:uppercase; color:var(--body); text-decoration:none; transition:color .18s;
}
.nm a:hover { color:var(--text); }
.nc {
  font-family:var(--hd); font-size:11px; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; background:var(--bam); color:#000;
  padding:9px 22px; text-decoration:none; transition:opacity .18s;
}
.nc:hover { opacity:.82; }

/* ══ HERO ══════════════════════════════════════════════════════════════════ */
#hero {
  position:relative; width:100%; height:100svh;
  display:flex; flex-direction:column; justify-content:flex-end;
  overflow:hidden;
}
.hbg {
  position:absolute; inset:0;
  background-image: url('../images/hero.jpg');
  background-size: cover;
  /* #15 visible left-center behind GOYU text, not dominating */
  background-position: 40% 25%;
}
/* Cinematic overlay — 18:33 atmosphere */
.hbg::after {
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(to top,
      rgba(8,8,8,1.00)  0%,
      rgba(8,8,8,.97)   12%,
      rgba(8,8,8,.75)   28%,
      rgba(8,8,8,.35)   44%,
      rgba(8,8,8,.08)   58%,
      transparent       68%),
    linear-gradient(to bottom,
      rgba(8,8,8,.80)   0%,
      rgba(8,8,8,.30)   18%,
      transparent       35%),
    linear-gradient(to right,
      rgba(8,8,8,.85)   0%,
      rgba(8,8,8,.50)   30%,
      rgba(8,8,8,.12)   52%,
      transparent       68%);
}
/* Speed texture */
.hbg::before {
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background-image: repeating-linear-gradient(
    -14deg, transparent, transparent 80px,
    rgba(255,255,255,.014) 80px, rgba(255,255,255,.014) 81px
  );
}
/* Watermark number */
.hnum {
  position:absolute; right:-1vw; bottom:48px; z-index:1;
  font-family:var(--hd); font-weight:700;
  font-size:clamp(180px,30vw,420px);
  color:rgba(255,255,255,.06); line-height:1; letter-spacing:-.02em;
  user-select:none; pointer-events:none;
}
.hcontent {
  position:relative; z-index:3;
  padding:0 52px 72px;
  display:flex; align-items:flex-end; justify-content:space-between; gap:40px;
}
.hleft { max-width:520px; }

.htag {
  font-family:var(--hd); font-size:10px; font-weight:600; letter-spacing:.30em;
  text-transform:uppercase; color:var(--bam);
  display:flex; align-items:center; gap:14px; margin-bottom:20px;
  opacity:0; animation:up .7s .1s ease both;
}
.htag::before { content:''; width:20px; height:1px; background:var(--bam); }

.hname {
  font-family:var(--hd);
  font-size:clamp(60px,11vw,148px);
  font-weight:700; line-height:.9; letter-spacing:-.01em; text-transform:uppercase;
  color:#ffffff;
  text-shadow: 0 2px 32px rgba(0,0,0,.95), 0 0 80px rgba(0,0,0,.7);
  opacity:0; animation:up .8s .22s ease both;
}
.hname .last {
  font-weight:300; color:#c8c8c8; display:block; letter-spacing:.02em;
}

.hbadge {
  display:flex; align-items:center; gap:10px; margin-top:18px;
  font-family:var(--hd); font-size:12px; font-weight:400; letter-spacing:.18em;
  text-transform:uppercase; color:#bebebe;
  opacity:0; animation:up .7s .36s ease both;
}
.hbadge-num { color:var(--bam); font-weight:700; font-size:14px; }
.hbadge-sep { width:1px; height:11px; background:#444; }

.hline {
  font-size:16px; font-weight:300; color:#c8c8c8;
  margin-top:26px; line-height:1.72;
  text-shadow: 0 1px 20px rgba(0,0,0,.9);
  opacity:0; animation:up .7s .5s ease both;
}

.hctx {
  display:flex; gap:12px; margin-top:40px;
  opacity:0; animation:up .7s .62s ease both;
}
.btn-p {
  font-family:var(--hd); font-size:11px; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; background:var(--bam); color:#000;
  padding:13px 28px; text-decoration:none; transition:opacity .18s;
}
.btn-p:hover { opacity:.82; }
.btn-g {
  font-family:var(--hd); font-size:11px; font-weight:500; letter-spacing:.18em;
  text-transform:uppercase;
  border:1px solid rgba(255,255,255,.60); color:#f0f0f0;
  padding:13px 28px; text-decoration:none;
  background:rgba(0,0,0,.40);
  transition:border-color .18s, color .18s;
}
.btn-g:hover { border-color:rgba(255,255,255,.85); color:#fff; }

.hstats {
  display:flex; flex-direction:column; flex-shrink:0;
  opacity:0; animation:fadeIn .8s 1s ease both;
}
.hstat {
  padding:15px 0 15px 24px;
  border-left:1px solid rgba(255,255,255,.28);
  transition:border-color .2s;
}
.hstat:hover { border-color:var(--bam); }
.hstat-v {
  font-family:var(--hd); font-size:clamp(18px,2.2vw,28px); font-weight:700;
  letter-spacing:.02em; text-transform:uppercase; color:#ffffff; line-height:1;
  text-shadow: 0 1px 12px rgba(0,0,0,.8);
}
.hstat-v.g { color:var(--bam); }
.hstat-k {
  font-family:var(--hd); font-size:9px; font-weight:400; letter-spacing:.20em;
  text-transform:uppercase; color:#aaaaaa; margin-top:4px;
}

.hscroll {
  position:absolute; right:52px; top:50%; transform:translateY(-50%);
  writing-mode:vertical-rl;
  font-family:var(--hd); font-size:9px; font-weight:400; letter-spacing:.22em;
  text-transform:uppercase; color:#666;
  display:flex; align-items:center; gap:10px;
  opacity:0; animation:fadeIn .8s 1.4s ease both;
}
.hscroll::after {
  content:''; width:1px; height:32px;
  background:linear-gradient(to bottom,#666,transparent);
  animation:drip 2s 2s infinite;
}
@keyframes drip {
  0%  { opacity:0; transform:scaleY(0); transform-origin:top }
  50% { opacity:1; transform:scaleY(1); transform-origin:top }
  51% { transform-origin:bottom }
  100%{ opacity:0; transform:scaleY(0); transform-origin:bottom }
}

/* ══ SECTIONS ══════════════════════════════════════════════════════════════ */
.sec { padding:112px 48px; border-top:1px solid var(--border); }
#contact { border-top-color: var(--bam); }
.sec-inner { max-width:1120px; }
.ey {
  font-family:var(--hd); font-size:9px; font-weight:600; letter-spacing:.32em;
  text-transform:uppercase; color:var(--bam);
  display:flex; align-items:center; gap:12px; margin-bottom:16px;
}
.ey::before { content:''; width:14px; height:1px; background:var(--bam); }
.sh {
  font-family:var(--hd); font-size:clamp(36px,5.5vw,76px);
  font-weight:700; letter-spacing:-.01em; text-transform:uppercase;
  line-height:.96; color:var(--text);
}
.sh .lt { font-weight:300; color:#888; }

/* PROFILE */
#profile .pg {
  display:grid; grid-template-columns:1fr 1fr;
  gap:64px; align-items:start; margin-top:64px;
}
.bio { display:flex; flex-direction:column; }
.brow {
  display:grid; grid-template-columns:60px 1fr;
  gap:20px; padding:20px 0;
  border-bottom:1px solid var(--border); align-items:baseline;
}
.brow:first-child { border-top:1px solid var(--border); }
.byr {
  font-family:var(--hd); font-size:11px; font-weight:600;
  letter-spacing:.16em; color:var(--bam); text-transform:uppercase;
}
.btxt { font-size:14px; font-weight:300; color:var(--body); line-height:1.8; }
.btxt strong { color:var(--text); font-weight:500; }
.bq {
  font-family:var(--hd); font-size:clamp(18px,2vw,24px); font-weight:600;
  letter-spacing:.06em; text-transform:uppercase; line-height:1.3;
  color:var(--text); border-left:2px solid var(--bam);
  padding-left:20px; margin-top:48px;
}
.pw { position:relative; overflow:hidden; aspect-ratio:3/4; }
.pw img {
  width:100%; height:100%; object-fit:cover; object-position:center top;
  display:block; filter:contrast(1.05) brightness(.97);
}
.pw::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(10,10,10,.82) 0%, transparent 45%);
}
.ptag {
  position:absolute; bottom:0; left:0; right:0; z-index:2;
  padding:20px 22px; display:flex; justify-content:space-between; align-items:flex-end;
}
.ptag-name {
  font-family:var(--hd); font-size:13px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:var(--text);
}
.ptag-num {
  font-family:var(--hd); font-size:42px; font-weight:700;
  color:var(--bam); letter-spacing:-.02em; line-height:1;
}
.specs { display:flex; gap:1px; margin-top:1px; }
.spec { flex:1; background:var(--surf); border:1px solid var(--border); padding:16px 18px; }
.spec-v {
  font-family:var(--hd); font-size:16px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; color:var(--text);
}
.spec-k {
  font-family:var(--hd); font-size:9px; font-weight:400;
  letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-top:4px;
}

/* RESULTS */
#results .rm { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:64px; }
.rb {
  background:var(--surf); border:1px solid var(--border);
  padding:40px 36px; position:relative; transition:border-color .2s;
}
.rb:hover { border-color:#3a3a3a; }
.rb.ch { border-color:rgba(200,168,75,.35); }
.rb.ch::before {
  content:'Champion';
  font-family:var(--hd); font-size:9px; font-weight:600;
  letter-spacing:.28em; text-transform:uppercase; color:var(--bam);
  display:block; margin-bottom:16px;
}
.rb-s {
  font-family:var(--hd); font-size:10px; font-weight:500; letter-spacing:.2em;
  text-transform:uppercase; color:var(--muted); margin-bottom:10px;
}
.rb-t {
  font-family: var(--hd); font-size: clamp(22px,3vw,40px); font-weight: 700;
  letter-spacing: -.01em; text-transform: uppercase; line-height: .96; color: var(--text);
}
.rb-t .jp { font-size: .78em; }
.rb-sub {
  font-family:var(--hd); font-size:10px; font-weight:400; color:var(--muted);
  letter-spacing:.1em; text-transform:uppercase; margin-top:10px;
}
.rb-img {
  background:var(--surf); border:1px solid var(--border);
  position:relative; overflow:hidden; min-height:200px;
}
.rb-img img {
  width:100%; height:100%; object-fit:cover; object-position:center;
  display:block; filter:contrast(1.04) brightness(.75) saturate(.7);
}
.rb-img::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(10,10,10,.9) 0%, rgba(10,10,10,.15) 50%, transparent 100%);
}
.rb-img-label {
  position:absolute; bottom:16px; left:20px; z-index:2;
  font-family:var(--hd); font-size:9px; font-weight:500; letter-spacing:.2em;
  text-transform:uppercase; color:#aaa;
}
.rr {
  margin-top:1px; grid-column:1/-1;
  background:var(--surf); border:1px solid var(--border); padding:28px 36px;
}
.rr-h {
  font-family:var(--hd); font-size:9px; font-weight:600; letter-spacing:.26em;
  text-transform:uppercase; color:var(--bam); margin-bottom:20px;
  display:flex; align-items:center; gap:10px;
}
.rr-h::before { content:''; width:12px; height:1px; background:var(--bam); }
.rr-row { display:flex; gap:1px; }
.rc {
  flex:1; background:var(--bg); border:1px solid var(--border);
  padding:16px 0; text-align:center; transition:border-color .18s;
}
.rc:hover { border-color:rgba(200,168,75,.3); }
.rc-p {
  font-family:var(--hd); font-size:clamp(20px,2.8vw,36px);
  font-weight:700; line-height:1; letter-spacing:-.01em; color:var(--text);
}
.rc-p.w { color:var(--bam); }
.rc-p.p2 { color:#888; }
.rc-l {
  font-family:var(--hd); font-size:9px; font-weight:400; letter-spacing:.18em;
  text-transform:uppercase; color:var(--muted); margin-top:5px;
}

/* MEDIA */
#media .mg { display:grid; grid-template-columns:1.2fr 1fr; gap:1px; margin-top:64px; }
.ig-blk {
  background:var(--surf); border:1px solid var(--border);
  padding:48px 44px; display:flex; flex-direction:column;
  justify-content:space-between; min-height:340px;
  position:relative; overflow:hidden;
}
.ig-blk::after {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(to right, transparent, var(--bam), transparent);
}
.ig-ey {
  font-family:var(--hd); font-size:9px; font-weight:600; letter-spacing:.28em;
  text-transform:uppercase; color:var(--bam); margin-bottom:16px;
}
.ig-h {
  font-family:var(--hd); font-size:clamp(18px,2.8vw,34px); font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; line-height:1.05; color:var(--text);
}
.ig-p { font-size:13px; font-weight:300; color:var(--body); line-height:1.85; margin-top:16px; max-width:320px; }
.ig-a {
  display:inline-flex; align-items:center; gap:8px; margin-top:32px;
  font-family:var(--hd); font-size:10px; font-weight:600; letter-spacing:.2em;
  text-transform:uppercase; color:var(--text); text-decoration:none;
  border-bottom:1px solid #3a3a3a; padding-bottom:4px;
  transition:border-color .18s, color .18s;
}
.ig-a:hover { border-color:var(--bam); color:var(--bam); }
.ig-a::after { content:'↗'; font-size:11px; }
.pit-img { position:relative; overflow:hidden; }
.pit-img img {
  width:100%; height:100%; object-fit:cover; object-position:center top;
  display:block; filter:contrast(1.04) brightness(.75) saturate(.72);
}
.pit-img::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(10,10,10,.85) 0%, rgba(10,10,10,.08) 50%, transparent 100%);
}
.pit-label {
  position:absolute; bottom:16px; left:20px; z-index:2;
  font-family:var(--hd); font-size:9px; font-weight:500; letter-spacing:.22em;
  text-transform:uppercase; color:#aaa;
}

/* VIDEO — ROUND 1 HIGHLIGHT */
.vg {
  display: grid; grid-template-columns: 1.2fr 1fr; gap: 1px;
  margin-top: 64px;
}
.vid-wrap {
  background: var(--surf); border: 1px solid var(--border);
  padding: 20px 20px 24px;
}
.vid-frame {
  position: relative; width: 100%; padding-top: 56.25%;
  background: #000; overflow: hidden; border: 1px solid var(--border);
}
.vid-frame iframe {
  position: absolute; inset: 0; width: 100%; height: 100%; border: 0;
}
.vid-cap {
  font-family: var(--hd); font-size: 9px; font-weight: 500; letter-spacing: .18em;
  text-transform: uppercase; color: var(--muted); margin-top: 16px; line-height: 1.7;
}
.vid-cap em { font-style: normal; color: rgba(255,255,255,.42); }
.vid-info {
  background: var(--surf); border: 1px solid var(--border);
  padding: 40px 36px; display: flex; flex-direction: column; justify-content: center;
  position: relative; overflow: hidden;
}
.vid-info::after {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(to right, transparent, var(--bam), transparent);
}
.vid-num {
  font-family: var(--hd); font-size: clamp(20px,2.6vw,30px); font-weight: 700;
  letter-spacing: -.01em; text-transform: uppercase; color: var(--text); line-height: 1;
}
.vid-result {
  font-family: var(--hd); font-size: 10px; font-weight: 600; letter-spacing: .18em;
  text-transform: uppercase; color: var(--bam); margin-top: 14px;
}
.vid-body { font-size: 13px; font-weight: 300; color: var(--body); line-height: 1.85; margin-top: 20px; }

@media (max-width: 768px) {
  .vg { grid-template-columns: 1fr; }
  .vid-info { padding: 32px 24px; }
}

/* SPONSOR */
#sponsor .sp-statement {
  max-width:680px; margin-top:64px;
  padding-bottom:56px; border-bottom:1px solid var(--border);
}
#sponsor .sp-lead {
  font-family:var(--hd); font-size:clamp(20px,2.6vw,34px); font-weight:600;
  letter-spacing:.03em; text-transform:uppercase;
  line-height:1.2; color:var(--text); margin-bottom:28px;
}
#sponsor .sp-body { font-size:15px; font-weight:300; color:var(--body); line-height:1.9; max-width:560px; }
.sp-what { margin-top:56px; display:flex; flex-direction:column; }
.sp-what-row {
  display:grid; grid-template-columns:156px 1fr;
  gap:36px; padding:24px 0;
  border-bottom:1px solid var(--border); align-items:baseline;
}
.sp-what-row:first-child { border-top:1px solid var(--border); }
.sp-what-k {
  font-family:var(--hd); font-size:10px; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase; color:var(--bam); flex-shrink:0;
}
.sp-what-v { font-size:14px; font-weight:300; color:var(--body); line-height:1.85; }
.sp-cta { margin-top:56px; }
.sp-cta-link {
  font-family:var(--hd); font-size:13px; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--text); text-decoration:none;
  border-bottom:1px solid #3a3a3a; padding-bottom:4px; display:inline-block;
  transition:border-color .2s, color .2s;
}
.sp-cta-link:hover { border-color:var(--bam); color:var(--bam); }

/* CONTACT */
#contact .cg { display:grid; grid-template-columns:1fr 1fr; gap:80px; margin-top:64px; }
.ci { display:flex; flex-direction:column; }
.crow {
  display:grid; grid-template-columns:80px 1fr;
  gap:20px; padding:18px 0;
  border-bottom:1px solid var(--border); align-items:baseline;
}
.crow:first-child { border-top:1px solid var(--border); }
.ck { font-family:var(--hd); font-size:9px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }
.cv { font-size:13px; font-weight:300; color:var(--body); line-height:1.75; }
.cv a { color:var(--body); text-decoration:none; transition:color .18s; }
.cv a:hover { color:var(--text); }
.cf { display:flex; flex-direction:column; gap:14px; }
.cfg { display:flex; flex-direction:column; gap:6px; }
.cfg label { font-family:var(--hd); font-size:9px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }
.cfg input,.cfg select,.cfg textarea {
  background:var(--surf); border:none; border-bottom:1px solid var(--border);
  color:var(--text); padding:11px 14px; font-size:13px;
  font-family:var(--bd); font-weight:300; outline:none;
  transition:border-bottom-color .18s; -webkit-appearance:none;
}
.cfg input:focus,.cfg select:focus,.cfg textarea:focus { border-bottom-color:var(--bam); }
.cfg textarea { resize:vertical; min-height:88px; border:1px solid var(--border); }
.cfg select option { background:var(--surf); }
.cf-sub {
  align-self:flex-start; margin-top:8px;
  background:var(--text); color:#000; border:none;
  padding:12px 34px; font-family:var(--hd); font-size:10px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase; cursor:pointer; transition:opacity .18s;
}
.cf-sub:hover { opacity:.82; }

/* FOOTER */
footer {
  border-top:1px solid var(--border); padding:36px 48px;
  display:flex; align-items:center; justify-content:space-between;
}
.fl { display:flex; align-items:center; gap:12px; }
.fl img { height:20px; width:auto; opacity:.75; }
.fl-sub { font-family:var(--hd); font-size:9px; font-weight:300; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); }
.fc { font-family:var(--hd); font-size:10px; letter-spacing:.08em; color:var(--muted); }
.fls { display:flex; gap:12px; }
.fls a {
  display:flex; align-items:center; gap:8px;
  font-family:var(--hd); font-size:10px; font-weight:500; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted); text-decoration:none;
  padding:10px 18px; border:1px solid var(--border); border-radius:1px;
  transition:color .18s, border-color .18s, background-color .18s;
}
.fls-ic { font-size:6px; color:var(--bam); transition:color .18s; }
.fls a:hover {
  color:var(--text); border-color:rgba(200,168,75,.55);
  background:rgba(200,168,75,.07);
}
.fls a:hover .fls-ic { color:var(--bam); }

/* REVEAL */
.rv { opacity:0; transform:translateY(14px); transition:opacity .6s ease,transform .6s ease; }
.rv.in { opacity:1; transform:none; }
.rv.d1 { transition-delay:.1s; } .rv.d2 { transition-delay:.2s; } .rv.d3 { transition-delay:.3s; }
@keyframes up     { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:none} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }

/* MOBILE */
@media(max-width:768px) {
  body { cursor:auto; }
  #cd,#cr { display:none; }
  nav { padding:0 20px; height:56px; }
  .nm { display:none; }
  .sec { padding:72px 20px; }
  #hero .hcontent { padding:0 20px 52px; flex-direction:column; gap:24px; align-items:flex-start; }
  .hnum { display:none; }
  .hscroll { display:none; }
  /* Mobile: #15 visible, not too close */
  .hbg { background-position:44% 20% !important; background-size:cover !important; }
  .hname { font-size:clamp(52px,14vw,80px) !important; }
  .hstats { flex-direction:row; flex-wrap:wrap; border-top:1px solid rgba(255,255,255,.15); padding-top:16px; width:100%; }
  .hstat { border-left:none; border-right:1px solid rgba(255,255,255,.15); padding:10px 14px 10px 0; flex:1 1 auto; }
  .hstat:last-child { border-right:none; }
  .hstat-v { font-size:18px !important; }
  #profile .pg { grid-template-columns:1fr; gap:40px; }
  .btxt { font-size:15px; line-height:1.85; }
  .specs { flex-wrap:wrap; } .spec { min-width:calc(50% - 1px); }
  #results .rm { grid-template-columns:1fr; } .rr { grid-column:1; }
  .rr-row { flex-wrap:wrap; } .rc { min-width:calc(20% - 1px); }
  .rb-t { font-size:26px !important; }
  #media .mg { grid-template-columns:1fr; }
  .sp-what-row { grid-template-columns:1fr; gap:8px; padding:20px 0; }
  .sp-what-k { margin-bottom:4px; }
  #contact .cg { grid-template-columns:1fr; gap:40px; }
  .crow { grid-template-columns:72px 1fr; }
  footer { flex-direction:column; gap:18px; text-align:center; padding:32px 20px; }
  .fls { justify-content:center; flex-wrap:wrap; } .fl { flex-direction:column; gap:6px; }
}


/* Hide non-active language content */



/* Japanese body font */


/* Thai signature line — always visible, both languages */
.thai-sig {
  font-family: 'Noto Sans Thai', sans-serif;
  font-size: 11px;
  font-weight: 300;
  color: rgba(255,255,255,.32);
  letter-spacing: .04em;
  line-height: 1;
  display: block;
  margin-top: 20px;
}

/* Language switcher */
.lang-sw {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-left: 20px;
  flex-shrink: 0;
}
.lang-sw button {
  font-family: var(--hd);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  background: none;
  border: none;
  color: rgba(255,255,255,.35);
  cursor: pointer;
  padding: 4px 7px;
  transition: color .18s;
  line-height: 1;
}
.lang-sw button:hover { color: rgba(255,255,255,.7); }
.lang-sw button.active { color: var(--bam); }
.lang-sw .lsep {
  color: rgba(255,255,255,.16);
  font-size: 9px;
  pointer-events: none;
  padding: 0 1px;
}

@media (max-width: 768px) {
  .lang-sw { margin-left: 12px; }
  .lang-sw button { font-size: 11px; padding: 6px 8px; }
  .thai-sig { font-size: 12px; margin-top: 16px; }
}


/* ── OVERFLOW-X MOBILE FIX ──────────────────────────────────────────── */
html { overflow-x: hidden; max-width: 100%; }
body { overflow-x: hidden; width: 100%; max-width: 100%; position: relative; }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
section, footer { max-width: 100%; overflow-x: hidden; }
@media (max-width: 768px) {
  html, body { overflow-x: hidden !important; max-width: 100vw !important; }
  .hnum { right: 0 !important; max-width: 85vw; overflow: hidden; }
  .pg { grid-template-columns: 1fr !important; gap: 40px !important; }
  .btn-p, .btn-g, .sp-cta-link, .cf-sub, .nc { max-width: 100%; }
  .cfg input, .cfg select, .cfg textarea { max-width: 100%; width: 100%; }
  nav { max-width: 100vw; overflow: hidden; }
}


/* Age tag in hero */
.h-age {
  display: inline-block;
  font-family: var(--hd);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255,255,255,.42);
  margin-top: 10px;
}
.h-age em {
  font-style: normal;
  color: var(--bam);
  font-weight: 600;
  margin-right: 4px;
}


/* ── 2026 BRIC SCHEDULE ─────────────────────────────────────────────── */
.sched {
  background: #050505;
  padding: 80px 48px;
  border-top: 1px solid var(--border);
}
.sched-inner { max-width: 1100px; margin: 0 auto; }
.sched-ey {
  font-family: var(--hd);
  font-size: 9px; font-weight: 500;
  letter-spacing: .28em; text-transform: uppercase;
  color: var(--bam); opacity: .85;
  margin-bottom: 10px;
}
.sched-h {
  font-family: var(--hd);
  font-size: clamp(26px, 4vw, 42px);
  font-weight: 700; letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--text);
  margin-bottom: 6px; line-height: 1.05;
}
.sched-sub {
  font-family: var(--hd);
  font-size: 10px; font-weight: 400;
  letter-spacing: .18em; text-transform: uppercase;
  color: rgba(255,255,255,.32);
  margin-bottom: 48px;
}
/* Grid of round cards */
.sched-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
}
.sched-card {
  background: #0d0d0d;
  border: 1px solid var(--border);
  padding: 28px 24px 26px;
  position: relative;
  overflow: hidden;
  transition: border-color .2s;
}
.sched-card:hover { border-color: rgba(200,168,75,.3); }
/* Active/next round accent line */
.sched-card.next {
  border-color: rgba(200,168,75,.45);
  background: #0f0e0b;
}
.sched-card.next::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--bam);
}
.sched-next-tag {
  display: none;
  font-family: var(--hd);
  font-size: 8px; font-weight: 600;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--bam);
  margin-bottom: 14px;
}
.sched-card.next .sched-next-tag { display: block; }
.sched-result-tag {
  display: none;
  font-family: var(--hd);
  font-size: 8px; font-weight: 600;
  letter-spacing: .2em; text-transform: uppercase;
  color: rgba(255,255,255,.4);
  margin-bottom: 14px;
}
.sched-card.done { border-color: rgba(200,168,75,.45); background: #0f0e0b; }
.sched-card.done::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0;
  height: 2px; background: var(--bam);
}
.sched-card.done .sched-result-tag { display: block; }
.sched-result {
  font-family: var(--hd);
  font-size: clamp(15px, 2vw, 19px);
  font-weight: 700; letter-spacing: .02em;
  color: var(--bam);
  line-height: 1.2;
  margin-bottom: 14px;
}
.sched-round-num {
  font-family: var(--hd);
  font-size: 9px; font-weight: 500;
  letter-spacing: .22em; text-transform: uppercase;
  color: rgba(255,255,255,.25);
  margin-bottom: 12px;
}
.sched-date {
  font-family: var(--hd);
  font-size: clamp(15px, 2vw, 19px);
  font-weight: 600; letter-spacing: .02em;
  color: var(--text);
  line-height: 1.2;
  margin-bottom: 14px;
}
.sched-card.next .sched-date { color: rgba(255,255,255,.95); }
.sched-venue {
  font-family: var(--hd);
  font-size: 8px; font-weight: 400;
  letter-spacing: .18em; text-transform: uppercase;
  color: rgba(255,255,255,.25);
  line-height: 1.6;
}
.sched-venue em {
  font-style: normal;
  color: rgba(255,255,255,.42);
}

@media (max-width: 768px) {
  .sched { padding: 56px 20px; }
  .sched-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2px;
  }
  .sched-h { margin-bottom: 4px; }
  .sched-sub { margin-bottom: 32px; }
  .sched-card { padding: 20px 16px 18px; }
  .sched-date { font-size: 14px; }
}
@media (max-width: 480px) {
  .sched-grid { grid-template-columns: 1fr; }
}


/* ── LANGUAGE SYSTEM ─────────────────────────────────────────────── */
.jp, .th { display: none; }
html[data-lang="jp"] .en { display: none !important; }
html[data-lang="jp"] .jp { display: inline !important; }
html[data-lang="jp"] .jp.bl { display: block !important; }
html[data-lang="th"] .en { display: none !important; }
html[data-lang="th"] .th { display: inline !important; }
html[data-lang="th"] .th.bl { display: block !important; }
html[data-lang="jp"] .btxt,
html[data-lang="jp"] .cv,
html[data-lang="jp"] .sp-body,
html[data-lang="jp"] .sp-what-v,
html[data-lang="jp"] .ig-p,
html[data-lang="jp"] .sp-lead,
html[data-lang="jp"] .hline,
html[data-lang="jp"] .bq { font-family:'Noto Sans JP',var(--bd); }
html[data-lang="th"] .btxt,
html[data-lang="th"] .cv,
html[data-lang="th"] .sp-body,
html[data-lang="th"] .sp-what-v,
html[data-lang="th"] .ig-p,
html[data-lang="th"] .sp-lead,
html[data-lang="th"] .hline,
html[data-lang="th"] .bq { font-family:'Noto Sans Thai',var(--bd); }
.thai-sig {
  font-family:'Noto Sans Thai',sans-serif;
  font-size:11px; font-weight:300;
  color:rgba(255,255,255,.30);
  letter-spacing:.04em; display:block;
  margin-top:18px; line-height:1.6;
}
.lang-sw {
  display:flex; align-items:center; gap:2px;
  margin-left:20px; flex-shrink:0;
}
.lang-sw button {
  font-family:var(--hd); font-size:10px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  background:none; border:none;
  color:rgba(255,255,255,.35); cursor:pointer;
  padding:4px 7px; transition:color .18s; line-height:1;
}
.lang-sw button:hover { color:rgba(255,255,255,.7); }
.lang-sw button.active { color:var(--bam); }
.lang-sw .lsep {
  color:rgba(255,255,255,.16); font-size:9px;
  pointer-events:none; padding:0 1px;
}
@media (max-width:768px) {
  .lang-sw { margin-left:10px; }
  .lang-sw button { font-size:11px; padding:5px 7px; }
}


.sp-support {
  margin-top: 48px; padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,.07);
}
.sp-support-label {
  font-family:var(--hd); font-size:9px; font-weight:400;
  letter-spacing:.24em; text-transform:uppercase;
  color:rgba(255,255,255,.25); margin-bottom:18px;
}
.sp-support-list {
  display:flex; flex-wrap:wrap; gap:10px 24px; align-items:center;
}
.sp-support-item {
  font-family:var(--hd); font-size:12px; font-weight:500;
  letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.55); white-space:nowrap;
}
.sp-support-item span {
  color:rgba(255,255,255,.2); font-size:9px; font-weight:400;
  letter-spacing:.2em; margin-left:6px; text-transform:uppercase;
}
.sp-support-sep { color:rgba(255,255,255,.12); font-size:10px; }
@media (max-width:768px) {
  .sp-support { margin-top:32px; }
  .sp-support-item { font-size:11px; }
}


/* ── GLOBAL DARK ENFORCEMENT ───────────────────────────────────────── */
html { background: #0a0a0a; color-scheme: dark; }
body { background: #0a0a0a; }
.sec { background: #0a0a0a; }
#profile, #results, #media, #sponsor, #contact, footer { background: #0a0a0a; }
.sched { background: #050505; }
@media (max-width: 768px) {
  html, body, .sec,
  #profile, #results, #media, #sponsor, #contact, footer {
    background: #0a0a0a !important;
  }
  .rb, .rr, .ig-blk, .specs, .spec, .sp-what,
  .sp-statement, .cf, .cfg, .vid-wrap, .vid-info { background: #0a0a0a !important; }
}