/* ============================================================
   RIVER RUN MARATHON — 인덱스(메인) 페이지 전용 스타일
   ============================================================ */

/* ===== HERO ===== */
.hero{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 65%,#243356 100%); /* 사진이 없거나 아직 안 실렸을 때만 보이는 대비용 배경 */
  color:#fff;padding:96px 24px 64px;
}
/* 사진 레이어 — 이 레이어에만 좌우반전(scaleX(-1))을 걸 수 있음. 파일: public_html/images/hero-bg.png */
.hero::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:url('../images/hero-bg.png') center/cover no-repeat;
  transform:scaleX(-1); /* 좌우반전. 원래 방향으로 되돌리려면 이 줄을 지우면 됨 */
}
/* 어두운 그라디언트 오버레이 — 사진 위, 글씨 아래. 흰 글씨가 계속 잘 보이게 함 */
.hero::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(16,25,46,.15) 0%, rgba(27,39,64,.27) 65%, rgba(36,51,86,.1) 100%);
}
.hero-inner{
  max-width:1180px;margin:0 auto;position:relative;z-index:2;
  display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;
}
.hero-copy .eyebrow{color:#31c6f3;font-size:26px;}
.hero-copy .eyebrow::before{background:#02536b;}
.hero-copy h1{font-size:clamp(18px,2.5vw,25px);line-height:1.55;margin:18px 0 20px;}
.hero-copy h1 em{font-style:normal;color:#ede909;}
.hero-copy p{color:#f0f1f5;font-size:16px;max-width:460px;margin-bottom:32px;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
.btn-outline-hero{border:1px solid rgba(255, 255, 255, 0.831);color:#fff;background:transparent;}
.btn-outline-hero:hover{border-color:#fff;}

/* bib badge / countdown — 시그니처 요소 */
.bib{
  background:var(--paper);color:var(--navy);
  border-radius:6px;padding:28px 26px;position:relative;
  box-shadow:0 24px 48px rgba(0,0,0,.35);
}
.bib::before,.bib::after{
  content:"";position:absolute;top:50%;width:22px;height:22px;
  background:var(--navy-2);border-radius:50%;transform:translateY(-50%);
}
.bib::before{left:-11px;}
.bib::after{right:-11px;}
.bib-perf{border-top:2px dashed var(--line);margin:18px 0;}
.bib-num{font-family:'JetBrains Mono',monospace;font-size:13px;color:#8A8577;display:flex;justify-content:space-between;}
.bib-title{font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--navy);letter-spacing:.03em;}
.countdown{display:flex;gap:14px;margin-top:16px;}
.countdown .cell{flex:1;text-align:center;}
.countdown .num{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:30px;color:var(--coral);}
.countdown .lbl{font-size:11px;color:#8A8577;letter-spacing:.08em;text-transform:uppercase;}

/* ===== QUICK ACTIONS ===== */
.quick{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--line);margin-top:-1px;border-top:1px solid var(--line);
}
.quick a{
  background:var(--paper);padding:26px 24px;display:flex;flex-direction:column;gap:6px;
  transition:background .2s ease;
}
.quick a:hover{background:#fff;}
.quick a .qicon{width:34px;height:34px;color:var(--coral);margin-bottom:4px;}
.quick a .qicon svg{width:100%;height:100%;}
.quick a .qtag{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--coral);letter-spacing:.1em;}
.quick a .qtitle{font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--navy);}
.quick a .qdesc{font-size:13px;color:#777;}

/* ===== INFO GRID ===== */
.info-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.info-card{
  background:var(--paper);border:1px solid var(--line);border-radius:4px;
  padding:22px 18px;position:relative;
}
.info-card .ic-icon{width:28px;height:28px;color:var(--coral);margin-bottom:12px;display:block;}
.info-card .ic-icon svg{width:100%;height:100%;}
.info-card .ic-no{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--coral);margin-bottom:14px;display:block;}
.info-card h3{font-size:14px;color:#777;font-weight:700;margin-bottom:8px;}
.info-card p{font-size:15px;color:var(--navy);font-weight:700;line-height:1.5;}

/* ===== VIDEO ===== */
.video-section{background:var(--navy);color:#fff;}
.video-section .section-head h2{color:#fff;}
.video-frame{
  aspect-ratio:16/9;border-radius:6px;overflow:hidden;
  background:linear-gradient(135deg,#1B2740,#0B1220);
  position:relative;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.1);
}
.video-frame .play-btn{
  width:78px;height:78px;border-radius:50%;background:var(--coral);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 0 0 14px rgba(255,90,54,.15);
}
.video-frame .play-btn::after{
  content:"";border-left:20px solid #fff;border-top:12px solid transparent;
  border-bottom:12px solid transparent;margin-left:6px;
}

/* ===== NOTICE / FAQ (index 요약 섹션) ===== */
.notice-wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:48px;}
.notice-list li{
  border-bottom:1px solid var(--line);padding:18px 0;
  display:flex;justify-content:space-between;gap:16px;align-items:baseline;
}
.notice-list li:first-child{border-top:2px solid var(--navy);}
.notice-list a{font-size:15px;font-weight:500;}
.notice-list a:hover{color:var(--coral);}
.notice-list .date{font-family:'JetBrains Mono',monospace;font-size:12px;color:#999;white-space:nowrap;}
.notice-badge{
  font-family:'JetBrains Mono',monospace;font-size:10px;background:var(--coral);color:#fff;
  padding:2px 6px;border-radius:2px;margin-right:8px;
}
.faq-box{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:28px;}
.faq-box h3{font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--navy);margin-bottom:14px;}
.faq-box p{font-size:14px;color:#777;margin-bottom:20px;}

/* ===== PARTNERS ===== */
.partners{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.partners-row{display:flex;gap:60px;align-items:center;justify-content:center;flex-wrap:wrap;}
.partner-item{text-align:center;color:#999;}
.partner-item .plabel{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;margin-bottom:8px;}
.partner-item .pname{font-family:'Bebas Neue',sans-serif;font-size:24px;color:var(--navy);}

/* ===== MOBILE ===== */
@media (max-width:900px){
  .hero-inner{grid-template-columns:1fr;}
  .info-grid{grid-template-columns:repeat(2,1fr);}
  .quick{grid-template-columns:1fr;}
  .notice-wrap{grid-template-columns:1fr;}
}
