
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#071524;--navy-mid:#0d2137;
  --red:#c0001a;--red-light:#e8182f;--red-pale:#fff0f2;
  --yellow:#e8a800;--yellow-light:#ffc72c;--yellow-pale:#fffbeb;
  --blue:#0042A6;--blue-light:#2266cc;--blue-pale:#e0eaf8;
  --white:#ffffff;--off-white:#f7f8fc;
  --text-dark:#0f1e2d;--text-mid:#42597a;--text-muted:#7a93b0;
  --border:#e4e9f0;
  --r-sm:8px;--r-md:14px;--r-lg:20px;
  --h:'Plus Jakarta Sans',system-ui,sans-serif;
  --b:'Inter',system-ui,sans-serif;
  --sidebar-w:260px;
}
html{scroll-behavior:smooth}
body{font-family:var(--b);color:var(--text-dark);background:var(--off-white);overflow-x:hidden}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 2.5rem;height:68px;
  background:rgba(0,42,140,0.97);backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,0.07);
}
.nav-brand{font-family:var(--h);font-size:.78rem;font-weight:800;color:var(--white);line-height:1.3}
.nav-brand span{color:var(--yellow-light);font-weight:500;font-size:.72rem;display:block}
.nav-back{
  display:inline-flex;align-items:center;gap:.45rem;
  font-family:var(--h);font-size:.78rem;font-weight:700;
  color:rgba(255,255,255,.65);text-decoration:none;transition:color .2s;
}
.nav-back:hover{color:var(--white)}
.nav-cta{
  font-family:var(--h);font-size:.78rem;font-weight:700;
  background:var(--yellow-light);color:var(--navy);
  padding:.5rem 1.2rem;border-radius:50px;
  text-decoration:none;transition:all .2s;
  display:inline-flex;align-items:center;gap:.4rem;
}
.nav-cta:hover{background:var(--yellow);transform:translateY(-1px)}

/* ── PAGE HERO ── */
.page-hero{
  background:#0042A6;padding:7rem 2.5rem 3.5rem;
  position:relative;overflow:hidden;
  background-image:url('../img/hero.jpg');
  background-size:cover;background-position:center;
  position:relative;overflow:hidden;
}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background:rgba(7,21,36,.8);
  z-index:1;
  pointer-events:none;
}
.page-hero-inner{position:relative;z-index:2;max-width:900px}
.page-hero-tag{
  display:inline-flex;align-items:center;gap:.45rem;
  font-family:var(--h);font-size:.68rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--yellow-light);margin-bottom:1rem;
}
.page-hero h1{
  font-family:var(--h);font-size:clamp(2rem,4vw,3rem);
  font-weight:800;color:var(--white);line-height:1.15;margin-bottom:.85rem;
}
.page-hero h1 span{color:var(--yellow-light)}
.page-hero p{font-size:.95rem;line-height:1.8;color:rgba(255,255,255,.55);max-width:620px}

/* ── BREADCRUMB ── */
.breadcrumb{
  background:var(--white);border-bottom:1px solid var(--border);
  padding:.75rem 2.5rem;display:flex;align-items:center;gap:.5rem;
  font-family:var(--h);font-size:.72rem;font-weight:600;color:var(--text-muted);
}
.breadcrumb a{color:var(--blue);text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb-sep{color:var(--border)}

/* ── BODY LAYOUT ── */
.page-body{display:flex;align-items:flex-start;max-width:1200px;margin:0 auto;padding:2.5rem 2.5rem 6rem;gap:2.5rem}

/* ── SIDEBAR ── */
.sidebar{
  width:var(--sidebar-w);flex-shrink:0;
  position:sticky;top:88px;
  background:var(--white);border-radius:var(--r-lg);
  border:1px solid var(--border);overflow:hidden;
  box-shadow:0 2px 12px rgba(0,0,0,.05);
}
.sidebar-header{
  background:#0042A6;padding:1rem 1.25rem;
  font-family:var(--h);font-size:.68rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--yellow-light);
}
.sidebar nav{
  position:static;background:none;border:none;
  padding:0.5rem 0;display:block;height:auto;backdrop-filter:none;
}
.sidebar-link{
  display:flex;align-items:center;gap:.65rem;
  font-family:var(--h);font-size:.78rem;font-weight:600;
  color:var(--text-mid);text-decoration:none;
  padding:.65rem 1.25rem;transition:all .2s;border-left:3px solid transparent;
}
.sidebar-link:hover{color:var(--blue);background:var(--blue-pale);border-left-color:var(--blue)}
.sidebar-link.active{color:var(--blue);background:var(--blue-pale);border-left-color:var(--blue)}
.sidebar-link svg{flex-shrink:0;opacity:.6}
.sidebar-link:hover svg,.sidebar-link.active svg{opacity:1}
.sidebar-divider{height:1px;background:var(--border);margin:.25rem 0}
.sidebar-download{
  margin:.75rem 1rem;padding:.75rem 1rem;
  background:linear-gradient(135deg,var(--red) 0%,#8b0014 100%);
  border-radius:var(--r-md);
}
.sidebar-download p{font-family:var(--h);font-size:.68rem;font-weight:700;color:rgba(255,255,255,.7);margin-bottom:.5rem}
.dl-btn{
  display:flex;align-items:center;gap:.4rem;
  font-family:var(--h);font-size:.72rem;font-weight:700;
  background:var(--yellow-light);color:var(--navy);
  padding:.4rem .85rem;border-radius:50px;text-decoration:none;
  margin-bottom:.4rem;transition:all .2s;
}
.dl-btn:hover{background:var(--yellow)}

/* ── MAIN CONTENT ── */
.main-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:1.5rem}

/* Section cards */
.rule-section{
  background:var(--white);border-radius:var(--r-lg);
  border:1px solid var(--border);overflow:hidden;
  scroll-margin-top:90px;
  box-shadow:0 2px 12px rgba(0,0,0,.04);
}
.rule-section-header{
  display:flex;align-items:center;gap:.85rem;
  padding:1.25rem 1.75rem;border-bottom:1px solid var(--border);
}
.rule-section-icon{
  width:38px;height:38px;border-radius:var(--r-sm);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.rsi-blue{background:var(--blue-pale)}
.rsi-red{background:var(--red-pale)}
.rsi-yellow{background:var(--yellow-pale)}
.rsi-navy{background:#eef1f5}
.rule-section-title{
  font-family:var(--h);font-size:1rem;font-weight:800;color:var(--text-dark);margin-bottom:.05rem;
}
.rule-section-sub{font-size:.72rem;color:var(--text-muted)}
.rule-section-body{padding:1.5rem 1.75rem}
.rule-section-body p{font-size:.88rem;line-height:1.85;color:var(--text-mid);margin-bottom:.85rem}
.rule-section-body p:last-child{margin-bottom:0}
.rule-section-body strong{color:var(--text-dark);font-weight:600}

/* Check list */
.check-list{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.check-list li{display:flex;align-items:flex-start;gap:.7rem;font-size:.86rem;line-height:1.65;color:var(--text-mid)}
.check-icon{width:20px;height:20px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}

/* Bullet list */
.bullet-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.bullet-list li{display:flex;align-items:flex-start;gap:.65rem;font-size:.86rem;line-height:1.65;color:var(--text-mid)}
.bullet-dot{width:6px;height:6px;border-radius:50%;background:var(--blue);flex-shrink:0;margin-top:.45rem}

/* Numbered steps */
.steps{display:flex;flex-direction:column;gap:1.1rem}
.step{display:flex;gap:1rem;align-items:flex-start}
.step-num{
  width:32px;height:32px;border-radius:50%;background:var(--red);
  color:white;font-family:var(--h);font-size:.8rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.step-body{}
.step-title{font-family:var(--h);font-size:.88rem;font-weight:700;color:var(--text-dark);margin-bottom:.3rem}
.step-desc{font-size:.83rem;line-height:1.7;color:var(--text-mid)}

/* Document cards */
.doc-cards{display:flex;flex-direction:column;gap:.85rem}
.doc-card{
  display:flex;gap:1rem;align-items:flex-start;
  background:var(--off-white);border-radius:var(--r-md);
  padding:1rem 1.25rem;border:1px solid var(--border);
}
.doc-num{
  width:30px;height:30px;border-radius:50%;background:var(--blue);
  color:white;font-family:var(--h);font-size:.75rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;
}
.doc-title{font-family:var(--h);font-size:.85rem;font-weight:700;color:var(--text-dark);margin-bottom:.25rem}
.doc-desc{font-size:.8rem;line-height:1.65;color:var(--text-mid)}
.doc-email{
  display:inline-flex;align-items:center;gap:.3rem;
  font-family:var(--h);font-size:.72rem;font-weight:700;
  color:var(--blue);background:var(--blue-pale);
  padding:.2rem .6rem;border-radius:50px;text-decoration:none;margin-top:.4rem;
}
.doc-email:hover{background:var(--blue);color:white}

/* Timeline */
.timeline{display:flex;flex-direction:column;gap:0}
.tl-item{display:flex;gap:1rem;align-items:flex-start;position:relative;padding-bottom:1.25rem}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{
  content:'';position:absolute;left:15px;top:32px;bottom:0;
  width:1px;background:var(--border);
}
.tl-item:last-child::before{display:none}
.tl-dot{
  width:32px;height:32px;border-radius:50%;border:2px solid var(--blue);
  background:var(--white);display:flex;align-items:center;justify-content:center;
  flex-shrink:0;z-index:1;
}
.tl-dot.done{background:var(--blue);border-color:#0042A6}
.tl-date{font-family:var(--h);font-size:.72rem;font-weight:700;color:var(--text-muted);margin-bottom:.15rem}
.tl-event{font-family:var(--h);font-size:.85rem;font-weight:700;color:var(--text-dark)}

/* Prize money box */
.prize-boxes{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.prize-box{
  border-radius:var(--r-md);padding:1.25rem;text-align:center;
}
.prize-box-winner{background:linear-gradient(135deg,#fffbeb 0%,#fff3cc 100%);border:2px solid var(--yellow)}
.prize-box-hm{background:var(--blue-pale);border:2px solid var(--blue-light)}
.prize-box-cat{font-family:var(--h);font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.25rem}
.prize-box-winner .prize-box-cat{color:var(--yellow)}
.prize-box-hm .prize-box-cat{color:var(--blue)}
.prize-box-amount{font-family:var(--h);font-size:1.6rem;font-weight:800;margin-bottom:.2rem}
.prize-box-winner .prize-box-amount{color:var(--text-dark)}
.prize-box-hm .prize-box-amount{color:var(--blue)}
.prize-box-note{font-size:.73rem;color:var(--text-muted);line-height:1.4}

/* Evaluation table */
.eval-table{width:100%;border-collapse:collapse;font-size:.83rem}
.eval-table th{
  font-family:var(--h);font-size:.7rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;
  background:var(--navy);color:rgba(255,255,255,.7);
  padding:.65rem 1rem;text-align:left;
}
.eval-table td{padding:.7rem 1rem;border-bottom:1px solid var(--border);vertical-align:top;color:var(--text-mid)}
.eval-table tr:last-child td{border-bottom:none}
.eval-table tr:nth-child(even) td{background:#fafbfc}
.eval-pts{font-family:var(--h);font-weight:800;color:var(--blue);white-space:nowrap}

/* Press release list */
.press-list{display:flex;flex-direction:column;gap:.75rem}
.press-item{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1rem 1.25rem;background:var(--off-white);
  border-radius:var(--r-md);border:1px solid var(--border);
  text-decoration:none;transition:all .2s;
}
.press-item:hover{border-color:#0042A6;background:var(--blue-pale)}
.press-item-title{font-family:var(--h);font-size:.85rem;font-weight:700;color:var(--text-dark)}
.press-item-meta{font-size:.72rem;color:var(--text-muted);margin-top:.15rem}
.press-arrow{color:var(--blue);flex-shrink:0}

/* Info callout */
.callout{
  display:flex;gap:.85rem;align-items:flex-start;
  background:var(--blue-pale);border-left:3px solid var(--blue);
  border-radius:var(--r-md);padding:1rem 1.25rem;margin-bottom:1rem;
}
.callout-icon{color:var(--blue);flex-shrink:0;margin-top:1px}
.callout p{font-size:.83rem;line-height:1.7;color:var(--text-mid);margin:0}

/* Warning callout */
.callout-warn{background:var(--red-pale);border-left-color:var(--red)}
.callout-warn .callout-icon{color:var(--red)}

/* Download button */
.download-btn{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--h);font-size:.8rem;font-weight:700;
  background:var(--blue);color:white;
  padding:.65rem 1.25rem;border-radius:50px;text-decoration:none;
  transition:all .2s;margin-top:.5rem;
}
.download-btn:hover{background:var(--blue-light);transform:translateY(-1px)}
.download-btn-yellow{background:var(--yellow);color:var(--navy)}
.download-btn-yellow:hover{background:var(--yellow-light)}

/* Responsive */
@media(max-width:900px){
  nav{padding:0 1.25rem}
  .page-hero{padding:5.5rem 1.25rem 2.5rem}
  .breadcrumb{padding:.75rem 1.25rem}

  /* Mobile rules layout: keep content full-width and convert the sidebar
     into a sticky horizontal section nav instead of a stacked sidebar. */
  .page-body{
    display:block;
    padding:1.25rem 1rem 4rem;
  }
  .sidebar{
    position:sticky;
    top:68px;
    z-index:90;
    width:calc(100% + 2rem);
    margin:-1.25rem -1rem 1.25rem;
    border-radius:0;
    border-left:0;
    border-right:0;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(14px);
    box-shadow:0 8px 22px rgba(7,21,36,.08);
    overflow:visible;
  }
  .sidebar-header{display:none}
  .sidebar nav{
    display:flex;
    gap:.5rem;
    height:auto;
    padding:.75rem 1rem;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .sidebar nav::-webkit-scrollbar{display:none}
  .sidebar-link{
    flex:0 0 auto;
    display:inline-flex;
    gap:0;
    white-space:nowrap;
    padding:.58rem .9rem;
    border:1px solid var(--border);
    border-left:1px solid var(--border);
    border-radius:999px;
    background:var(--white);
    color:var(--text-mid);
    font-size:.74rem;
    box-shadow:0 2px 8px rgba(7,21,36,.04);
  }
  .sidebar-link:hover,
  .sidebar-link.active{
    color:var(--white);
    background:var(--blue);
    border-color:var(--blue);
  }
  .sidebar-link svg{display:none}
  .sidebar-divider,
  .sidebar-download{display:none}
  .main-content{
    width:100%;
    max-width:100%;
    gap:1rem;
  }
  .rule-section{scroll-margin-top:128px}
  .prize-boxes{grid-template-columns:1fr}
}

/* Longer application button labels */
.dl-btn, .doc-email{line-height:1.35;white-space:normal;text-align:left;}
.doc-email{align-items:center;}
.doc-email svg,.dl-btn svg{flex:0 0 auto;align-self:center}
