/* Delin Cup route hero: event identity and prize information in one view. Mirrors DLX S1 left-column rhythm. */

/* 副标题字体：DFLiHei Std W5（华康俪黑，商业字体——商用需授权）latin 子集 woff2（2.48MB→33KB，仅英文副标题用）。font-display:block——加载完成前隐藏文本，就绪后直接以大号 DFLiHei 显示，避免 fallback→swap 的忽大忽小闪变；子集化后加载瞬时无卡顿 */
@font-face {
  font-family: 'DFLiHei';
  src: url('../assets/fonts/DFLiHeiStd-W5-latin.woff2') format('woff2');
  font-weight: 500;
  font-display: block;
}

.cup-page .cup-hero { width:min(calc(100% - 96px),1320px); max-width:none; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(40px,5.5vw,72px); margin:0 auto; padding:clamp(76px,10vh,120px) 0 clamp(57px,7.6vh,101px); align-items:start; }
.cup-page .cup-hero-copy { display:flex; min-width:0; flex-direction:column; align-items:flex-start; gap:clamp(28px,3.6vh,44px); }
/* 标题块：kicker + h1 两行 + tagline 副题 */
.cup-page .cup-title-block { order:1; }
.cup-page .cup-kicker { margin:0; color:var(--gold-deep); font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.cup-page .cup-hero h1 { max-width:none; margin:0; color:var(--ink); font-size:clamp(44px,5.6vw,78px); font-weight:500; letter-spacing:-.075em; line-height:1.35; }
.cup-page .cup-hero h1 .cup-year { font-size:0.5em; letter-spacing:0; }
.cup-page .cup-hero h1 .cup-sub { font-size:1em; }
.cup-page .cup-tagline { max-width:none; margin:clamp(18px,2.6vh,26px) 0 0; color:var(--gold-deep); font-family:'DFLiHei',"PingFang SC","Noto Sans SC",sans-serif; font-size:clamp(20px,2.8vw,42px); font-weight:500; letter-spacing:-.045em; line-height:1.2; white-space:nowrap; }
/* lede：金竖线包裹组织信息 */
.cup-page .cup-lede { order:2; position:relative; max-width:430px; padding-left:28px; border-left:2px solid var(--gold); }
.cup-page .cup-organizers { display:flex; flex-direction:column; gap:14px; width:100%; margin:0; padding:0; color:var(--muted); font-size:clamp(16px,1.4vw,19px); line-height:1.7; letter-spacing:-.005em; }
.cup-page .cup-organizers > span { display:block; }
.cup-page .cup-organizers > span.cup-org-partners { display:flex; flex-wrap:nowrap; column-gap:1.6em; white-space:nowrap; }
html[lang="en"] .cup-page .cup-lede { max-width:480px; }
html[lang="en"] .cup-page .cup-organizers > span.cup-org-partners { flex-direction:column; flex-wrap:wrap; row-gap:14px; column-gap:0; white-space:normal; }
.cup-page .cup-org-partners span { display:inline; white-space:nowrap; }
/* meta 置底 */
.cup-page .cup-event-meta { order:3; width:100%; margin-top:auto; padding-top:clamp(20px,2.6vh,32px); border-top:0; color:var(--muted); font-size:clamp(16px,1.4vw,19px); font-weight:500; letter-spacing:.06em; text-transform:uppercase; }
/* 奖金卡：数字主角 */
.cup-page .cup-award-card { align-self:stretch; min-height:0; display:flex; flex-direction:column; margin:0; padding:clamp(40px,3.6vw,56px) clamp(36px,3.4vw,56px); background:#E8DECD; color:var(--ink); border-radius:24px; box-shadow:0 28px 70px rgba(23,21,22,0.08); }
.cup-page .cup-award-label { margin:0; color:var(--gold-deep); font-size:clamp(16px,1.4vw,19px); font-weight:600; letter-spacing:-.01em; line-height:1.5; }
.cup-page .cup-award-value-wrap { margin:auto 0; display:flex; align-items:baseline; gap:10px; }
.cup-page .cup-award-symbol { color:var(--gold-deep); font-size:clamp(28px,2.6vw,40px); font-weight:500; line-height:1; }
.cup-page .cup-award-value { color:var(--gold); font-size:clamp(72px,7.2vw,110px); font-weight:500; letter-spacing:-.075em; line-height:0.95; white-space:nowrap; font-variant-numeric:tabular-nums; }
.cup-page .cup-award-detail { margin:0; padding-top:clamp(28px,3vw,40px); border-top:1px solid rgba(168,126,58,0.35); display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.cup-page .cup-award-detail .cup-apply-button { min-width:152px; margin:0; display:inline-flex; align-items:center; justify-content:center; padding:0 24px; border:1px solid var(--gold); font-size:16px; font-weight:650; }
.cup-page .cup-award-detail p { margin:0 0 30px; color:var(--muted); font-size:16px; }
.cup-page .cup-award-detail strong { display:block; margin:0; color:var(--gold-deep); font-size:17px; font-weight:600; letter-spacing:-.01em; line-height:1.5; }

@media (max-width:900px) {
  .cup-page .cup-hero { width:calc(100% - 64px); min-height:0; grid-template-columns:minmax(0,1fr); gap:48px; padding:clamp(84px,12vh,110px) 0 56px; }
  .cup-page .cup-award-card { min-height:440px; margin:0; }
  .cup-page .cup-award-value-wrap { margin:48px 0; }
}
@media (max-width:640px) {
  .cup-page .cup-hero { width:calc(100% - 40px); padding:clamp(42px,6vh,55px) 0 44px; }
  .cup-page .cup-kicker { font-size:12px; }
  .cup-page .cup-hero h1 { font-size:48px; }
  .cup-page .cup-tagline { margin-top:24px; font-size:clamp(16px,4.5vw,20px); white-space:nowrap; }
  .cup-page .cup-event-meta { max-width:100%; }
  .cup-page .cup-lede { padding-left:22px; }
  .cup-page .cup-organizers { gap:10px; font-size:15px; }
  .cup-page .cup-org-partners { flex-direction:column; row-gap:10px; column-gap:0; flex-wrap:wrap; white-space:normal; }
  .cup-page .cup-event-meta { font-size:15px; }
  .cup-page .cup-award-card { min-height:0; padding:44px 26px; }
  .cup-page .cup-award-label { font-size:15px; }
  .cup-page .cup-award-value-wrap { margin:44px 0; }
  .cup-page .cup-award-value { font-size:clamp(52px,17vw,64px); }
  .cup-page .cup-award-detail { flex-direction:column; align-items:flex-start; gap:18px; }
  .cup-page .cup-award-detail .cup-apply-button { margin:0; }
  .cup-page .cup-award-detail strong { margin-top:0; font-size:17px; }
  .cup-page .cup-award-detail p { margin-bottom:24px; font-size:15px; }
}

/* Delin Cup benefits: centered editorial introduction plus three equal rights. */
.cup-page .cup-benefits { padding:clamp(76px,10vh,120px) 0; background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.cup-page .cup-benefits-head { width:min(calc(100% - 96px),1320px); margin:0 auto 64px; text-align:center; }
.cup-page .cup-benefits-head .eyebrow { margin-bottom:22px; }
.cup-page .cup-benefits-head h2 { margin:0 0 22px; font-size:clamp(50px,5vw,70px); font-weight:500; letter-spacing:-.07em; line-height:1.12; }
html[lang="en"] .cup-page .cup-benefits-head h2 { letter-spacing:-.04em; }
.cup-page .cup-benefits-head .cup-benefits-subhead { margin:0 0 24px; color:var(--gold); font-size:clamp(21px,2.2vw,30px); font-weight:500; letter-spacing:.01em; line-height:1.45; }
.cup-page .cup-benefits-head .cup-benefits-intro { margin:0; color:var(--muted); font-size:clamp(16px,1.4vw,19px); line-height:1.8; }
.cup-page .cup-benefits-head .cup-benefits-intro strong { color:var(--gold); font-weight:700; }
.cup-page .cup-benefits-grid { width:min(calc(100% - 96px),1320px); display:grid; grid-template-columns:repeat(3,1fr); margin:0 auto; border:solid var(--line); border-width:1px 0; }
.cup-page .cup-benefit { min-height:220px; padding:40px clamp(22px,2.5vw,40px); border-right:1px solid var(--line); display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:left; }
.cup-page .cup-benefit:last-child { border-right:0; }
.cup-page .cup-benefit-title { display:flex; align-items:baseline; flex-wrap:wrap; gap:0.45em; width:340px; max-width:100%; margin:0 0 18px; text-align:left; }
html[lang="en"] .cup-page .cup-benefit-title { gap:0.55em; }
.cup-page .cup-benefit-title strong, .cup-page .cup-benefit-title p { display:inline; vertical-align:baseline; }
.cup-page .cup-benefit strong { display:inline; margin:0; color:var(--gold); font-size:clamp(48px,4.8vw,70px); font-weight:500; letter-spacing:-.08em; line-height:1; }
html[lang="en"] .cup-page .cup-benefit:nth-child(3) .cup-benefit-title { flex-wrap:nowrap; gap:0.4em; }
html[lang="en"] .cup-page .cup-benefit:nth-child(3) .cup-benefit-title strong { font-size:clamp(40px,3.8vw,58px); letter-spacing:-.11em; }
.cup-page .cup-benefit p { display:inline; margin:0; color:var(--ink); font-size:17px; font-weight:600; }
.cup-page .cup-benefit > span { display:block; width:22px; height:1px; margin:18px auto; background:var(--gold-deep); }
.cup-page .cup-benefit strong .unit { display:inline; font-size:17px; font-weight:600; letter-spacing:-.02em; background:none; width:auto; height:auto; margin:0; color:var(--ink); }
.cup-page .cup-benefit small { display:block; width:340px; max-width:100%; margin:0; text-align:left; color:var(--muted); font-size:14px; line-height:1.65; }

@media (max-width:900px) {
  .cup-page .cup-benefits-head, .cup-page .cup-benefits-grid { width:calc(100% - 64px); }
  .cup-page .cup-benefits-grid { grid-template-columns:repeat(2,1fr); }
  .cup-page .cup-benefit { min-height:210px; padding:30px 26px; border-bottom:1px solid var(--line); }
  .cup-page .cup-benefit:nth-child(even) { border-right:0; }
}
@media (max-width:640px) {
  .cup-page .cup-benefits { padding:80px 0; }
  .cup-page .cup-benefits-head, .cup-page .cup-benefits-grid { width:calc(100% - 40px); }
  .cup-page .cup-benefits-head { margin-bottom:48px; text-align:left; }
  .cup-page .cup-benefits-head h2 { font-size:36px; }
  .cup-page .cup-benefits-head .cup-benefits-subhead { font-size:18px; }
  .cup-page .cup-benefits-head .cup-benefits-intro { font-size:14px; }
  .cup-page .cup-benefits-head .cup-benefits-intro br { display:none; }
  .cup-page .cup-benefits-grid { grid-template-columns:1fr; }
  .cup-page .cup-benefit, .cup-page .cup-benefit:nth-child(even) { min-height:0; padding:28px 0; border-right:0; }
  .cup-page .cup-benefit:last-child { border-bottom:0; }
  .cup-page .cup-benefit strong { font-size:52px; }
}

/* Delin Cup criteria: centered statement with a single eligibility requirement. */
.cup-page .cup-criteria { padding:clamp(100px,11vw,160px) 0 0; background:var(--paper); border-top:1px solid var(--line); }
.cup-page .cup-criteria-intro { width:min(calc(100% - 96px),900px); margin:0 auto; padding-bottom:clamp(48px,5vw,80px); text-align:center; }
.cup-page .cup-criteria-intro .eyebrow { margin-bottom:26px; }
.cup-page .cup-criteria-intro h2 { margin:0 0 38px; font-size:clamp(52px,5.6vw,78px); font-weight:500; letter-spacing:-.075em; line-height:1.35; }
html[lang="en"] .cup-page .cup-criteria-intro h2 { letter-spacing:-.04em; }
.cup-page .cup-criteria-intro h2 span { display:block; }
.cup-page .cup-criteria-intro p { max-width:900px; margin:0 auto; color:var(--muted); font-size:18px; line-height:1.85; }
.cup-page .cup-stage-note { display:flex; align-items:center; justify-content:center; min-height:150px; padding:30px 64px; background:transparent; color:var(--ink); text-align:center; }
.cup-page .cup-stage-note p { max-width:1100px; margin:0; font-size:clamp(19px,2vw,28px); font-weight:500; letter-spacing:-.03em; line-height:1.55; }

@media (max-width:640px) {
  .cup-page .cup-criteria { padding-top:80px; }
  .cup-page .cup-criteria-intro { width:calc(100% - 40px); padding-bottom:72px; text-align:left; }
  .cup-page .cup-criteria-intro h2 { margin-bottom:28px; font-size:40px; }
  .cup-page .cup-criteria-intro p { font-size:14px; }
  .cup-page .cup-stage-note { justify-content:flex-start; min-height:0; padding:38px 20px; text-align:left; }
  .cup-page .cup-stage-note p { font-size:17px; }
}

/* Delin Cup process: editorial statement followed by a precise stage list. */
.cup-page .cup-process { padding:clamp(100px,11vw,160px) 0; background:var(--paper); border-top:1px solid var(--line); }
.cup-page .cup-process-wrap { width:min(calc(100% - 96px),1320px); margin:0 auto; }
.cup-page .cup-process-head { display:block; width:min(calc(100% - 96px),900px); margin:0 auto 76px; text-align:center; }
.cup-page .cup-process-head .eyebrow { margin-bottom:20px; }
.cup-page .cup-process-head h2 { margin:0; font-size:clamp(48px,5vw,70px); font-weight:500; letter-spacing:-.075em; line-height:1.35; }
html[lang="en"] .cup-page .cup-process-head h2 { letter-spacing:-.04em; }
.cup-page .cup-process-head h2 span { display:block; }
.cup-page .cup-process-head > p:not(.eyebrow) { max-width:720px; margin:22px auto 0; color:var(--muted); font-size:18px; line-height:1.75; }
.cup-page .cup-process-list { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:min(calc(100% - 96px),1200px); margin:70px auto 0; padding-left:calc((1200px - 900px)/2); box-sizing:border-box; }
.cup-page .cup-process-list::before { position:absolute; top:61px; right:calc((1200px - 150px) - 3 * ((1200px - 150px) / 4) - 38px); left:calc((1200px - 900px)/2 + 38px); height:1px; background:var(--line); content:""; }
.cup-page .cup-process-row { position:relative; z-index:1; min-height:268px; padding:0 20px 0 0; border:0; }
.cup-page .cup-process-row::before { position:absolute; top:42px; left:0; width:38px; height:38px; border-radius:50%; background:var(--gold); content:""; z-index:1; }
.cup-page .cup-process-index { display:block; color:var(--gold-deep); font-size:18px; font-weight:700; letter-spacing:-.04em; line-height:1; }
.cup-page .cup-process-stage { padding-top:89px; }
.cup-page .cup-process-stage h3 { margin:0 0 16px; font-size:24px; letter-spacing:-.045em; line-height:1.28; }
.cup-page .cup-process-stage time { display:block; color:var(--muted); font-size:16px; font-weight:400; letter-spacing:0; line-height:1.55; }
.cup-page .cup-process-row > p { max-width:210px; margin:2px 0 0; color:var(--muted); font-size:16px; line-height:1.6; }
.cup-page .cup-process-row:last-child > p { color:var(--gold-deep); font-weight:700; }
.cup-page .cup-process-note { margin:0 0 0 58px; width:min(calc(100% - 96px - 58px),1142px); padding:21px 26px; background:rgba(205,163,94,.12); color:var(--muted); font-size:16px; font-weight:600; line-height:1.75; box-sizing:border-box; border-left:5px solid var(--gold); }
.cup-page .cup-process-note::before { display:none; }

@media (max-width:900px) {
  .cup-page .cup-process-wrap { width:calc(100% - 64px); }
  .cup-page .cup-process-head { margin-bottom:52px; }
  .cup-page .cup-process-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 30px; margin-top:54px; width:100%; padding-left:0; }
  .cup-page .cup-process-list::before { display:none; }
  .cup-page .cup-process-row { min-height:240px; }
}
@media (max-width:640px) {
  .cup-page .cup-process { padding:80px 0; }
  .cup-page .cup-process-wrap { width:calc(100% - 40px); }
  .cup-page .cup-process-head h2 { font-size:36px; }
  .cup-page .cup-process-head > p:not(.eyebrow) { font-size:14px; }
  .cup-page .cup-process-list { grid-template-columns:1fr; margin-top:42px; width:100%; padding-left:0; }
  .cup-page .cup-process-list::after { position:absolute; top:49px; bottom:45px; left:14px; width:1px; background:var(--line); content:""; }
  .cup-page .cup-process-row { min-height:0; padding:0 0 30px; }
  .cup-page .cup-process-row::before { top:34px; width:30px; height:30px; }
  .cup-page .cup-process-index { font-size:16px; }
  .cup-page .cup-process-stage { display:contents; }
  .cup-page .cup-process-stage h3 { display:block; padding-top:68px; font-size:21px; }
  .cup-page .cup-process-stage time { display:inline; white-space:nowrap; }
  .cup-page .cup-process-row > p { display:inline; max-width:none; margin:0; font-size:15px; white-space:nowrap; }
  .cup-page .cup-process-note { margin:0; width:100%; padding:18px 18px 18px 20px; font-size:15px; }
  .cup-page .cup-process-note::before { left:0; }
}

/* Delin Cup closing CTA: editorial application information, with one clear action. */
.cup-page .cup-apply-cta { padding:clamp(100px,11vw,156px) 0; }
.cup-page .cup-apply-grid { display:grid; grid-template-columns:minmax(0, .98fr) minmax(420px, .82fr); gap:clamp(56px,9vw,144px); align-items:center; }
.cup-page .cup-apply-copy .eyebrow { margin-bottom:24px; }
.cup-page .cup-apply-copy h2 { max-width:680px; margin:0; font-size:clamp(52px,5.4vw,78px); font-weight:500; letter-spacing:-.075em; line-height:1.35; }
.cup-page .cup-apply-rule { display:block; width:54px; height:1px; margin:36px 0; background:var(--gold-deep); }
.cup-page .cup-apply-copy > p:not(.eyebrow) { max-width:510px; margin:0 0 38px; color:var(--muted); font-size:18px; line-height:1.8; }
.cup-page .cup-apply-copy .button { min-width:152px; margin:0; display:inline-flex; align-items:center; justify-content:center; padding:0 24px; border:1px solid var(--gold); font-size:16px; font-weight:650; }
.cup-page .cup-apply-details { margin:0; border-top:1px solid var(--gold-deep); }
.cup-page .cup-apply-details > div { display:grid; grid-template-columns:130px minmax(0, 1fr); gap:10px; align-items:center; min-height:clamp(96px,10vw,126px); padding:27px 0; box-sizing:border-box; border-bottom:1px solid var(--line); }
.cup-page .cup-apply-details dt, .cup-page .cup-apply-details dd { margin:0; }
.cup-page .cup-apply-details dt { color:var(--ink); font-size:19px; font-weight:600; letter-spacing:-.035em; }
.cup-page .cup-apply-details dd { padding-left:28px; border-left:1px solid var(--line); color:var(--ink); font-size:18px; line-height:1.55; }
.cup-page .cup-apply-details > div:last-child { border-bottom:1px solid var(--gold-deep); }

.cup-page .faq-head h2 { letter-spacing:-.075em; }
html[lang="en"] .cup-page .faq-head h2 { letter-spacing:-.04em; }

@media (max-width:900px) {
  .cup-page .cup-apply-grid { grid-template-columns:1fr; gap:56px; }
  .cup-page .cup-apply-details { max-width:680px; }
  .cup-page .cup-criteria-intro, .cup-page .faq > .wrap, .cup-page .cup-apply-grid { width:calc(100% - 64px); }
}
@media (max-width:640px) {
  .cup-page .cup-apply-cta { padding:80px 0; }
  .cup-page .faq > .wrap, .cup-page .cup-apply-grid, .cup-page .cup-criteria-intro { width:calc(100% - 40px); }
  .cup-page .cup-apply-grid { gap:48px; }
  .cup-page .cup-apply-copy h2 { font-size:36px; }
  .cup-page .cup-apply-rule { margin:28px 0; }
  .cup-page .cup-apply-copy > p:not(.eyebrow) { margin-bottom:30px; font-size:14px; }
  .cup-page .cup-apply-details > div { grid-template-columns:1fr; gap:8px; padding:22px 0; }
  .cup-page .cup-apply-details dt { font-size:17px; }
  .cup-page .cup-apply-details dd { padding:0; border:0; font-size:16px; }
  .cup-page .faq-head h2 { font-size:clamp(22px,6.6vw,28px); letter-spacing:-.04em; white-space:nowrap; }
  .cup-page .site-footer .site-footer-inner { gap:8px; }
  .cup-page .site-footer .site-footer-inner img { width:124px; height:34px; }
  .cup-page .site-footer .site-footer-inner p { font-size:10px; white-space:nowrap; }
}
