html {
  box-sizing: border-box
}

*,
*::before,
*::after {
  box-sizing: inherit
}

html,
body {
  margin: 0
}

body {
  color: #294d81;
  background: #e7eef6;
}
body {
  font: .875rem/1.5 "Source Han Sans HC", "Noto Sans SC", "PingFang HK", "Microsoft JhengHei", sans-serif；
}

h2,
h3,
p {
  margin: 0
}

img {
  max-width: 100%;
  display: block
}

a {
  color: inherit
}

.page {
  width: min(1440px, 100%);
  margin: 0 auto;
  background: #e8f1f8 url("./assets/images/bg.jpg") top center/100% auto repeat-y;
}

.sec {
  width: min(1238px, calc(100% - 32px));
  margin-right: auto;
  margin-left: auto
}
  .glass-awards .prize {
    flex: 1 1 0
  }
  .glass-awards {
    display: flex;
    flex-direction:column;
  }
.sec-hero {
  width: min(1440px, 100%)
}

.sec-hero .date-kicker,
.sec-hero .kicker,
.sec-hero .banner {
  width: min(1238px, calc(100% - 32px));
  margin-left: auto;
  margin-right: auto
}

.asset {
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

.logo {
  height: 76px
}
 .entry-lead {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 10px;
     align-items: center;
  }
 .entry-lead .icon {
    width: 26px;
    height: 26px
  }
.organizer-card {
  width: min(1280px, calc(100% - 16px));
  margin: 0 auto;
  padding: 6.963% 3.778% 6% .963%;
  background-image: url("./assets/images/glass-33.png")
}
.hero-banner {
  display: block;
  width: min(1311px, calc(100% - 16px));
  height: auto
}

.glass {
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  border: 0;
  border-radius: 36px;
  box-shadow: none
}

.glass-line {
  display: none
}

.glass-org {
  background-image: none;
  border-radius: 0
}

.glass-banner {
  background-image: url("./assets/images/glass-01.png");
  min-height: 420px
}

.glass-intro {
  background-image: url("./assets/images/glass-02.png")
}

.glass-awards {
  background-image: url("./assets/images/glass-03.png")
}

.glass-support {
  background-image: url("./assets/images/glass-04.png")
}

.glass-tracks {
  background-image: url("./assets/images/glass-05.png")
}

.glass-open {
  background-image: url("./assets/images/glass-06.png");
  min-height: 160px
}

.glass-handbook {
  background-image: url("./assets/images/glass-08.png")
}

.glass-entry {
  background-image: url("./assets/images/glass-09.png")
}

.glass-stat {
  background-image: url("./assets/images/glass-10.png")
}

.glass-step {
  background-image: url("./assets/images/glass-11.png")
}

/* .steps .glass-step:nth-child(3) {
 
} */

.glass-mail {
  background-image: url("./assets/images/glass-14.png");
  display: block !important;
  
}

.glass-time {
  background-image: url("./assets/images/glass-16.png")
}

.glass-brief {
  background-image: none;
  border-radius: 0
}

.glass-req {
  background-image: url("./assets/images/glass-21.png")
}

.glass-item {
  background-image: url("./assets/images/glass-23.png")
}

.glass-demo {
  background-image: url("./assets/images/glass-22.png")
}

.item-1 {
  background-image: url("./assets/images/glass-23.png")
}

.item-2 {
  background-image: url("./assets/images/glass-24.png")
}

.item-3 {
  background-image: url("./assets/images/glass-25.png")
}

.item-4 {
  background-image: url("./assets/images/glass-26.png")
}

.item-5 {
  background-image: url("./assets/images/glass-27.png")
}

.item-6 {
  background-image: url("./assets/images/glass-28.png")
}

.item-7 {
  background-image: url("./assets/images/glass-29.png")
}

.item-8 {
  background-image: url("./assets/images/glass-30.png")
}

.glass-judge {
  background-image: url("./assets/images/glass-31.png")
}

.glass-website {
  background-image: url("./assets/images/glass-32.png")
}

.heading {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 30px
}

.num {
  margin-top: 8px;
  color: #8176ae;
  font-size: 27px;
  font-weight: 500;
  line-height: 1;
  flex: none;
  white-space: nowrap
}

.heading h2 {
  color: #294d81;
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 700;
  line-height: 1.05
}

.kicker {
  margin-top: 6px;
  color: #61779a;
  font-size: clamp(15px, 1.8vw, 26px);
  letter-spacing: .04em;
  text-transform: uppercase
}

.rule {
  width: 152px;
  height: 4px;
  margin-top: 12px;
  border-radius: 99px;
  background: #c86457
}

.date-kicker {
  color: #294d81;
  font-size: 21px;
  font-weight: 500
}

.banner .date-kicker {
  width: auto;
  margin-left: 0;
  margin-right: 0;
  font-size: clamp(22px, 2.4vw, 36px);
  font-weight: 700
}

.date-en {
  margin-top: 4px;
  color: #61779a;
  font-size: 16px
}

.date {
  margin-top: 8px;
  color: #c86457;
  font-size: clamp(26px, 3.6vw, 48px);
  font-weight: 900;
  line-height: 1.1
}

.zh {
  color: #294d81;
  font-size: clamp(16px, 2vw, 30px);
  line-height: 1.6
}

.en {
  margin-top: 8px;
  color: #61779a;
  font-size: clamp(15px, 1.6vw, 24px);
  line-height: 1.55
}

.glass-intro .zh {
  color: #c86457;
  font-size: clamp(18px, 2.6vw, 36px);
  font-weight: 500
}

.banner {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 24px;
  align-items: center
}

.qr {
  width: min(260px, 100%);
  height: 260px;
  margin: 0 auto
}

.qr-label {
  margin-top: 8px;
  text-align: center
}

.qr-label strong {
  display: block;
  color: #29589f;
  font-size: 26px;
  font-weight: 500
}

.qr-label span {
  color: #61779a;
  font-size: 13px;
  letter-spacing: .06em
}

.prize-head {
  margin: 0 8px 8px;
  text-align: right;
  color: #61779a
}

.prize-head strong {
  display: block;
  font-size: 22px;
  font-weight: 500
}

.prize-head span {
  font-size: 13px;
  letter-spacing: .04em
}

.prize {
  position: relative;
  display: grid;
  grid-template-columns: 48px 1fr auto 150px;
  gap: 10px 16px;
  align-items: center;
  /* border-top: 1px solid rgba(41, 77, 129, .12) */
}
.prize::before {
  content: "";
  position: absolute;
  height: 1px;
  width: calc(100% - 40px);
  background-color: rgba(41, 77, 129, .12);
  top: 0;
  left: 40px;

}

.prize:first-of-type:before {
  display: none;
}

.icon {
  width: 40px;
  height: 40px
}
.glass-tracks .track-label,.glass-tracks .track-en {
  padding-left: 25px;
}
.glass-support .icon {
  width: 60px;
  height: 60px
}
.mini .icon {
  width: 40px;
  height: 40px
}
.prize h3 {
  font-size: clamp(22px, 2.2vw, 36px);
  font-weight: 700
}

.prize p {
  color: #61779a;
  font-size: 14px;
  letter-spacing: .04em
}

.amount {
  font-size: clamp(26px, 2.8vw, 44px);
  font-weight: 900
}

.count {
  min-width: 88px;
  text-align: right;
  font-size: 22px;
  font-weight: 500
}

.note .zh:first-child {
  color: #c86457;
  font-weight: 700
}

.cols {
  display: grid;
  gap: 12px
}

.cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr))
}

.cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr))
}

.cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px
}

.mini {
  text-align: center
}

.mini .icon {
  margin: 0 auto 10px
}

.mini h3 {
  font-size: clamp(18px, 1.8vw, 28px);
  font-weight: 500
}

.mini p {
  margin-top: 6px;
  color: #61779a;
  font-size: 13px;
  letter-spacing: .03em
}

.split {
  display: grid;
  grid-template-columns: 1.8fr .9fr;
  gap: 22px
}

.stat {
  text-align: center
}

.stat b {
  display: block;
  margin: 8px 0;
  color: #c86457;
  font-size: 84px;
  line-height: .9
}

.steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px
}

.step {
  min-height: 280px
}

.idx {
  color: #c86457;
  font-size: 34px;
  font-weight: 900
}

.step h3 {
  margin-top: 12px;
  font-size: clamp(20px, 2vw, 30px)
}

.mail-bar {
  display: flex;
  align-items: center;
  gap: 16px

}
.mail-copy {
  display: flex;
  gap: 12px;
  align-items: center;
}
.icon-mail {
  width: 42px;
  height: 36px
}

.mail {
  color: #294d81;
  font-size: clamp(18px, 2vw, 32px);
  font-weight: 900;
  text-decoration: none
}

.timeline {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 22px
}

.time {
  min-height: 429px;
  text-align: center
}

.when {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.35
}

.time h3 {
  margin-top: 16px;
  font-size: 20px
}

.brief {
  text-align: center
}

.req-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 82px
}

.item {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 10px;
  margin-top: 14px
}

.item .idx {
  font-size: 28px
}

.item h3 {
  color: #c86457;
  font-size: clamp(20px, 2vw, 32px)
}

.scores {
  display: flex;
  min-height: 64px;
  margin: 8px 0 16px;
  overflow: hidden
}

.score {
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 20px;
  font-weight: 700
}

.s1 {
  flex: 347 1 0;
  background: #294d81
}

.s2 {
  flex: 290 1 0;
  background: #8176ae
}

.s3 {
  flex: 290 1 0;
  background: #337a91
}

.s4 {
  flex: 232 1 0;
  background: #c86457
}

.criteria {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 20px
}

.icon-trophy {
  background-image: url("./assets/images/icon-trophy.png")
}

.icon-medal {
  background-image: url("./assets/images/icon-medal.png")
}

.icon-internship {
  background-image: url("./assets/images/icon-internship.png")
}

.icon-career {
  background-image: url("./assets/images/icon-career.png")
}

.icon-workflow {
  background-image: url("./assets/images/icon-workflow.png")
}

.icon-rocket {
  background-image: url("./assets/images/icon-rocket.png")
}

.icon-megaphone {
  background-image: url("./assets/images/icon-megaphone.png")
}

.icon-finance {
  background-image: url("./assets/images/icon-finance.png")
}

.icon-hospital {
  background-image: url("./assets/images/icon-hospital.png")
}

.icon-book {
  background-image: url("./assets/images/icon-book.png")
}

.icon-users {
  background-image: url("./assets/images/icon-users.png")
}

.icon-mail {
  background-image: url("./assets/images/icon-mail.png")
}

.icon-proposal {
  background-image: url("./assets/images/icon-proposal.png")
}

.qr-register {
  background-image: url("./assets/images/qr-register.png")
}

.qr-handbook {
  background-image: url("./assets/images/qr-handbook.png")
}

.qr-website {
  background-image: url("./assets/images/qr-website.png")
}

@media (max-width:1100px) {


  .zh,
  .en,
  .kicker,
  .date-en {
    font-size: 16px
  }

  .glass-intro .zh {
    font-size: 18px
  }

  .banner,
  .split,
  .req-grid,
  .criteria,
  .steps,
  .timeline,
  .cols-5,
  .cols-3,
  .cols-2,
  .scores {
    display: grid;
    grid-template-columns: 1fr 1fr 
  }

  .prize {
    grid-template-columns: 40px 1fr
  }

  .amount,
  .count {
    grid-column: 2;
    text-align: left
  }

  .banner,
  .panel,
  .step,
  .time,
  .req,
  .item,
  .glass-judge,
  .glass-awards {
    min-height: 0
  }

  .qr {
    width: 180px;
    height: 180px
  }

  .stat b {
    font-size: 64px
  }
}

.sec-orgs {
  width: min(1440px, 100%)
}

.org-block {
  display: block;
  width: min(1374px, calc(100% - 16px));
  height: auto
}

p,
h2,
h3,
a,
.mail {
  overflow-wrap: anywhere
}

@media (max-width:1100px) {


  .sec,
  .sec-orgs {
    width: calc(100% - 24px)
  }

  .sec-hero {
    width: 100%
  }

  .sec-hero .date-kicker,
  .sec-hero .kicker,
  .sec-hero .banner {
    width: calc(100% - 24px)
  }

  .hero-banner,
  .org-block {
    width: calc(100% - 12px);
    margin-left: auto;
    margin-right: auto
  }

  .banner,
  .split,
  .req-grid,
  .criteria,
  .steps,
  .timeline,
  .cols-5,
  .cols-3,
  .cols-2,
  .mail-bar {
    display: grid;
    grid-template-columns: 1fr  1fr;
    min-width: 0
  }
  .glass-support,.glass-tracks {
    gap: 20px 12px;
  }
.glass-support .icon,.glass-tracks .icon{
  width: 36px;
  height: 36px;
}
  .scores {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px
  }

  .prize {
    display: block
  }

  .amount,
  .count {
    display: block;
    min-width: 0;
    margin-top: 4px;
    text-align: left;
    font-size: 22px
  }

  .glass-banner,
  .step,
  .time,
  .glass-open,
  .panel,
  .banner,
  .req,
  .item,
  .glass-judge,
  .glass-awards,
  .mail-bar,
  .glass-support,
  .glass-tracks {
    min-height: 0
  }

  .heading {
    position: relative;
    gap: 8px
  }

  .heading h2 {
    font-size: 28px
  }

  .num {
    font-size: 18px
  }

  .zh,
  .en,
  .kicker,
  .mail,
  .date-en,
  .mini p,
  .prize p,
  .qr-label span {
    font-size: 16px
  }

  .glass-intro .zh {
    font-size: 17px
  }

  .date {
    font-size: 22px
  }

  .qr {
    width: 160px;
    height: 160px
  }

  .logo {
    height: 48px
  }

  .score {
    min-height: 56px;
    border-radius: 10px;
    font-size: 16px
  }

  .score span {
    display: block;
    margin-top: 4px;
    font-size: 14px;
    font-weight: 500
  }

  .stat b {
    font-size: 52px
  }

  .rule {
    width: 88px
  }

  .icon {
    width: 40px;
    height: 40px
  }
}

.organizer-logos {
  display: block;
  width: min(1238px, calc(100% - 32px));
  height: auto
}
.top-rule {
  width: min(1248px, calc(100% - 48px));
  height: 2px;
  background: #b9d1e5
}
@media (max-width:1100px) {
  .organizer-logos {
    width: calc(100% - 24px)
  }
  .top-rule {
    height: 1px;
  }
}



.rule {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 298px;
  height: 4px;
  margin-top: 12px;
  background: none
}

.rule::before {
  position: absolute;
  left: 0;
 bottom: -5px;
  content: "";
  width: 122px;
  height: 2px;
  border-radius: 99px;
  background: #c86457;
  z-index: 2;
  
}

.rule::after {
  content: "";
  width: 120px;
  height: 2px;
  background: #c3d3e4;
   position: absolute;
  left: 135px;
  bottom: -5px;
   z-index: 2;
}

.item {
  grid-template-columns: 42px 10px 1fr
}

.item::before {
  content: "";
  width: 6px;
  height: 72px;
  margin-top: 6px;
  background: #c86457;
  grid-column: 2;
  grid-row: 1
}

.item>div {
  grid-column: 3
}

.criteria>div {
  display: grid;
  grid-template-columns: 14px 1fr;
  gap: 12px;
  align-items: start
}

.criteria>div::before {
  content: "";
  width: 14px;
  height: 28px;
  margin-top: 4px;
  background: #294d81;
  border-radius: 5px;
  
}
.criteria>div:nth-child(2)::before {
  background-color: #8176ae;
}
.criteria>div:nth-child(3)::before {
  background-color: #337a91;
}
.criteria>div:nth-child(4)::before {
  background-color: #c86457;
}

@media (max-width:1100px) {
  .top-rule {
    width: calc(100% - 32px)
  }
}

/* .top-rule {
  margin-top: 72px
} */

@media (max-width:1100px) {
  .glass {
    position: relative;
    background-color: rgba(245, 248, 253, .96);
    background-image: linear-gradient(135deg, rgba(232, 243, 252, .98) 0%, rgba(246, 248, 253, .96) 48%, rgba(245, 232, 244, .96) 100%);
    /* border: 1px solid rgba(255, 255, 255, .9); */
    padding: 10px !important;
    box-shadow: inset 1px 1px 0 rgba(255, 255, 255, .9), inset -1px -1px 0 rgba(210, 166, 178, .35), 0 8px 18px rgba(83, 112, 151, .08);
    border-radius: 10px;
  }
  .glass .glass-line {
    display: block;
  content: "";
  position: absolute;
  left: 15px;
  top: 6px;
  height: 1px;
  width: calc(100% - 30px);
  background-color: #fff;
  }
    .glass::after {
  content: "";
  position: absolute;
  top: 15px;
  left: 6px;
  width: 1px;
  height: calc(100% - 30px);
  background-color: #fff;
  }
  .prize {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    column-gap: 10px;
    row-gap: 2px;
    align-items: center
  }

  .prize .icon {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 20px;
    height: 20px
  }

  .prize>div:nth-child(2) {
    grid-column: 2;
    grid-row: 1 / span 2;
    min-width: 0
  }

  .prize h3 {
    font-size: 18px
  }

  .prize p {
    margin: 0;
    font-size: 12px;
    letter-spacing: 0
  }

  .prize .amount {
    grid-column: 3;
    grid-row: 1;
    display: block;
    margin: 0;
    font-size: 20px;
    text-align: right;
    white-space: nowrap
  }

  .prize .count {
    grid-column: 3;
    grid-row: 2;
    display: block;
    margin: 0;
    font-size: 14px;
    text-align: right;
    white-space: nowrap
  }

  .prize-head {
    font-size: 14px
  }

}

.track-label {
  grid-column: 1 / -1;
  margin: 0;
  color: #c86457;
  font-size: clamp(22px, 2.4vw, 40px);
  font-weight: 700;
  text-align: left
}

.track-en {
  grid-column: 1 / -1;
  margin: 4px 0 8px;
  color: #61779a;
  font-size: clamp(15px, 1.6vw, 24px);
  text-align: left
}

.open-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px
}

.open-side {
  text-align: right
}

.open-side .zh {
  font-size: clamp(16px, 2vw, 28px);
  font-weight: 500
}

.open-side .en {
  margin-top: 2px
}

@media (max-width:1100px) {
  .open-head {
    align-items: flex-start;
    gap: 12px
  }

  .open-side .zh {
    font-size: 16px
  }
}

.title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px
}

.title-row .heading {
  margin-bottom: 0
}

.prize-head,
.score-label {
  margin: 0 0 10px;
  text-align: right
}

.score-label {
  color: #c86457;
  font-size: clamp(18px, 2vw, 32px);
  font-weight: 500
}

.time-col {
  display: flex;
  flex-direction: column;
  min-width: 0
}

.time-col>.time {
  flex: 1 1 auto
}

.time-col>.idx {
  display: block;
  margin: 0 0 47px;
  font-size: 30px;
  line-height: 30px;
  text-align: center;
  color: #294d81;
}

.rail {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  margin: 0 0 47px
}

.dot {
  width: 24px;
  height: 24px;
  flex: none;
  border-radius: 50%;
  background: #c86457

}
.time-col:nth-child(2) .dot,.time-col:nth-child(3) .dot,.time-col:nth-child(4) .dot{
  background: #8176ae;
}

.timeline {
  background-image: linear-gradient(#bad1e5, #bad1e5);
  background-repeat: no-repeat;
  background-position: center 94px;
  background-size: calc(80% + 17.6px) 4px
}

.time::before {
  content: none
}

@media (max-width:1100px) {
  .timeline {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 8px;
    background-image: none
  }

  .time-col>.idx {
    margin: 0 0 8px;
    font-size: 20px;
    line-height: 22px;
    letter-spacing: 0
  }

  .rail {
    height: 16px;
    margin: 0 0 8px;
    background: linear-gradient(#bad1e5, #bad1e5) center/100% 3px no-repeat
  }

  .dot {
    width: 14px;
    height: 14px
  }

  .time-col:nth-child(1) .rail,
  .time-col:nth-child(4) .rail {
    width: calc(50% + 5px);
    margin-left: auto;
    margin-right: -5px;
    justify-content: flex-start
  }

  .time-col:nth-child(2) .rail {
    width: calc(100% + 10px);
    margin-left: -5px;
    margin-right: -5px
  }

  .time-col:nth-child(3) .rail,
  .time-col:nth-child(5) .rail {
    width: calc(50% + 5px);
    margin-left: -5px;
    margin-right: auto;
    justify-content: flex-end
  }

  .time-col:nth-child(1) .dot,
  .time-col:nth-child(4) .dot {
    margin-left: -7px
  }

  .time-col:nth-child(3) .dot,
  .time-col:nth-child(5) .dot {
    margin-right: -7px
  }

  .time {
    min-height: 128px;
    border-radius: 14px
  }

  .time .when,
  .time h3,
  .time .en {
    margin-top: 4px;
    letter-spacing: -0.03em;
    line-height: 1.25;
    overflow-wrap: normal;
    word-break: keep-all
  }

  .time .when,
  .time h3 {
    white-space: nowrap
  }

  .time .when {
    font-size: 13px
  }

  .time h3 {
    font-size: 16px;
    margin: 25px 0;
    font-weight: 500；
    
  }

  .time .en {
    font-size: 12px;
    letter-spacing: 0;
    line-height: 1.3
  }
}

@media (max-width:1100px) {
  .title-row {
    align-items: center
  }

  .score-label {
    font-size: 18px
  }
}

@media (max-width:1100px) {
  .glass-brief {
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none
  }
}

.req {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  column-gap: 27px;
  align-items: start;
  min-height: 289px;
  padding: 39px 36px 32px 29px
}

.req .icon {
  grid-column: 1;
  grid-row: 1;
  width: 52px;
  height: 48px;
  margin: 0
}

.icon-video {
  background-image: url("./assets/images/layer-790-11775.png")
}

.req .icon-video {
  height: 34px;
  margin-top: 7px
}

.req-copy {
  grid-column: 2;
  grid-row: 1;
  min-width: 0
}




.sec-requirements .heading .num {
  font-size: 23px
}

.req h3 {
  display: flex;
  align-items: center;
  min-height: 48px;
  margin: 0;
  color: #c86457;
  font-size: 36px;
  font-weight: 700;
  line-height: 42px
}

.req-copy h3+.en {
  margin-top: 12px;
  font-size: 21px;
  line-height: 26px
}

.req-copy .zh {
  margin-top: 29px;
  font-size: 25px;
  line-height: 32px
}

.req-copy .zh+.en {
  margin-top: 17px;
  font-size: 20px;
  line-height: 26px
}

.req-title {
  margin: 72px 0 0;
  color: #c86457;
  font-size: 35px;
  font-weight: 700;
  line-height: 1.1
}

.req-title+.en {
  margin-top: 18px;
  font-size: 24px;
  line-height: 30px
}

.item {
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin-top: 41px;
  padding: 23px 36px 28px 42px
}

.item .idx {
  width: 50px;
  margin: 22px 34px 0 0;
  color: #c86457;
  font-size: 42px;
  font-weight: 700;
  line-height: 1;
  text-align: left;
  flex: none
}

.mark {
  width: 6px;
  height: 88px;
  margin-right: 24px;
  background: #c86457;
  flex: none
}

.item>div {
  min-width: 0;
  flex: 1
}

.item h3 {
  margin: 0;
  color: #c86457;
  font-size: 36px;
  font-weight: 700;
  line-height: 42px
}

.item h3+.en {
  margin-top: 10px;
  font-size: 24px;
  line-height: 30px
}

.item .zh {
  margin-top: 16px;
  font-size: 27px;
  line-height: 40px
}

.item .zh+.en {
  margin-top: 14px;
  font-size: 22px;
  line-height: 32px
}

.item::before {
  content: none
}

@media (min-width:1101px) {
  .item-1 {
    min-height: 309px
  }

  .item-2,
  .item-3,
  .item-8 {
    min-height: 357px
  }

  .item-4,
  .item-7 {
    min-height: 396px
  }

  .item-5 {
    min-height: 289px
  }

  .item-6 {
    min-height: 483px
  }
}

@media (max-width:1100px) {
  .req-grid {
    grid-auto-rows: 1fr;
    gap: 16px
  }

  .req {
    grid-template-columns: 36px minmax(0, 1fr);
    column-gap: 12px;
    height: 100%;
    min-height: 0
  }



  .sec-requirements .heading .num {
    font-size: 19px
  }
.req {
  column-gap: 6px;
  grid-template-columns:26px minmax(0, 1fr);
}
  .req h3,
  .item h3 {
    min-height: 26px;
    font-size: 18px;
    line-height: 26px
  }
 .req .icon, .icon-video{
    margin-top: 5px;
  }

  .req-copy h3+.en,
  .item h3+.en {
    font-size: 14px;
    line-height: 20px
  }

  .req-copy .zh,
  .item .zh {
    font-size: 16px;
    line-height: 1.5
  }

  .req-copy .zh+.en,
  .item .zh+.en {
    font-size: 14px;
    line-height: 1.45
  }

  .req-title {
    font-size: 20px;
    line-height: 1.2
  }

  .req-title+.en {
    font-size: 14px;
    line-height: 1.4
  }

  .item .idx {
    width: 24px;
    font-size: 20px;
    line-height: 36px;
  }

  .mark {
    height: 52px;
    width: 2px;
  }

  .req .icon,
  .icon-video {
    width: 24px;
    height: 24px
  }
  .criteria>div::before {
    width: 4px;
    height:20px ;
  }
  .criteria>div {
    gap: 12px 4px;
  }
}

/* PSD typography calibration */
@media (min-width:1101px) {
  .heading h2 {
    font-size: 50px;
    line-height: 60px
  }

  .heading .kicker {
    margin-top: 3px;
    font-size: 24px;
    line-height: 29px;
    letter-spacing: 0
  }

  .heading .num {
    margin-top: 23px;
    font-size: 23px;
    line-height: 28px
  }

  .sec-hero>.date-kicker {
    font-size: 22px;
    line-height: 32px
  }

  .sec-hero>.kicker {
    margin-top: 2px;
    font-size: 16px;
    line-height: 22px;
    font-weight: bold;
    letter-spacing: 0
  }

  .banner .date-kicker {
    font-size: 40px;
    line-height: 41px
  }

  .banner .date-en {
    font-size: 26px;
    line-height: 27px
  }

  .banner .date {
    font-size:54px;
    line-height: 64px
  }

  .banner .zh {
    font-size: 36px;
    line-height: 38px
  }

  .banner .en {
    font-size: 28px;
    line-height: 29px
  }

  .qr-label strong {
    font-size: 39px;
    line-height: 56px
  }

  .qr-label span {
    font-size: 28px;
    line-height: 36px;
    letter-spacing: 0
  }

  .sec-intro .glass-intro .zh {
    font-size: 34px;
    line-height: 50px
  }

  .sec-intro .glass-intro .en {
    font-size: 24px;
    line-height: 34px
  }

  .sec-awards .prize-head strong {
    font-size: 24px;
    line-height: 29px
  }

  .sec-awards .prize-head span {
    font-size: 19px;
    line-height: 23px;
    letter-spacing: 0
  }

  .sec-awards .prize h3 {
    font-size: 36px;
    line-height: 44px
  }

  .sec-awards .prize p {
    font-size: 22px;
    line-height: 27px;
    letter-spacing: 0
  }

  .sec-awards .amount {
    font-size: 43px;
    line-height: 52px
  }

  .sec-awards .count {
    font-size: 30px;
    line-height: 36px
  }

  .sec-awards .prize:first-child .count {
    font-size: 27px;
    line-height: 32px
  }

  .sec-awards .prize:last-child .count {
    font-size: 28px;
    line-height: 34px
  }

  .sec-awards .note .zh {
    font-size: 27px;
    line-height: 32px
  }

  .sec-awards .note .zh:first-child {
    font-size: 30px;
    line-height: 36px
  }

  .sec-awards .note .en {
    font-size: 20px;
    line-height: 25px
  }

  .sec-awards .note .zh:first-child+.en {
    font-size: 23px;
    line-height: 27px
  }

  .sec-support .mini h3 {
    font-size: 34px;
    line-height: 41px
  }

  .sec-support .mini p {
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0
  }

  .sec-tracks .track-label {
    font-size: 36px;
    line-height: 44px
  }

  .sec-tracks .track-en {
    font-size: 24px;
    line-height: 28px
  }

  .sec-tracks .glass-tracks .mini h3 {
    font-size: 33px;
    line-height: 40px
  }

  .sec-tracks .glass-tracks .mini p {
    font-size: 21px;
    line-height: 26px;
    letter-spacing: 0
  }

  .sec-tracks .open-side .zh {
    font-size: 27px;
    line-height: 32px
  }

  .sec-tracks .open-side .en {
    font-size: 21px;
    line-height: 25px
  }

  .sec-tracks .glass-open h3 {
    font-size: 37px;
    line-height: 45px
  }

  .sec-tracks .glass-open p {
    font-size: 23px;
    line-height: 28px;
    letter-spacing: 0
  }

  .sec-tracks>.zh {
    font-size: 30px;
    line-height: 36px
  }

  .sec-tracks>.en {
    font-size: 21px;
    line-height: 25px
  }

  .sec-tracks .glass-handbook .zh {
    font-size: 32px;
    line-height: 39px;
    margin-bottom: 15%;
    
  }

  .sec-tracks .glass-handbook .en {
    font-size: 24px;
    line-height: 29px
  }

  .sec-entry .glass-entry h3.zh {
    font-size: 44px;
    line-height: 53px
  }

  .sec-entry .glass-entry h3+.en {
    font-size: 25px;
    line-height: 31px
  }

  .sec-entry .glass-entry h3~.zh {
    font-size: 33px;
    line-height: 40px
  }

  .sec-entry .glass-entry .zh+.en {
    font-size: 23px;
    line-height: 27px
  }

  .sec-entry .stat .kicker {
    font-size: 31px;
    line-height: 37px
  }

  .sec-entry .stat b {
    font-size: 110px;
    line-height: 132px
  }

  .sec-entry .stat b+.en {
    font-size: 24px;
    line-height: 28px
  }

  .sec-entry .stat .zh {
    font-size: 29px;
    line-height: 35px
  }

  .sec-entry .stat .zh+.en {
    font-size: 21px;
    line-height: 25px
  }

  .sec-submission .step .idx {
    font-size: 42px;
    line-height: 50px
  }

  .sec-submission .step h3 {
    font-size: 33px;
    line-height: 40px
  }

  .sec-submission .step h3+.en {
    font-size: 20px;
    line-height: 25px
  }

  .sec-submission .step .zh {
    font-size: 25px;
    line-height: 30px
  }

  .sec-submission .step .zh+.en {
    font-size: 20px;
    line-height: 23px
  }

  .sec-submission .mail {
    font-size: 36px;
    line-height: 44px
  }

  .sec-submission .mail-bar .zh {
    font-size: 30px;
    line-height: 37px
  }

  .sec-submission .mail-bar .en {
    font-size: 22px;
    line-height: 27px
  }

  .sec-timeline .time-col>.idx {
    font-size: 32px;
    line-height: 38px
  }

  .sec-timeline .when {
    font-size: 23px;
    line-height: 36px
  }

  .sec-timeline .time h3 {
    font-size: 28px;
    line-height: 30px;
    padding: 20% 0;
  }

  .sec-timeline .time .en {
    font-size: 19px;
    line-height: 23px
  }

  .sec-timeline .brief .zh {
    font-size: 33px;
    line-height: 40px
  }

  .sec-timeline .brief .en {
    font-size: 23px;
    line-height: 27px
  }

  .sec-timeline .brief {
    padding-bottom: min(.2778vw, 4px)
  }

  .sec-judge .score-label {
    font-size: 28px;
    line-height: 34px
  }

  .sec-judge .score {
    font-size: 20px;
    line-height: 23px
  }

  .sec-judge .criteria h3 {
    font-size: 29px;
    line-height: 35px
  }

  .sec-judge .criteria h3,
  .sec-judge .criteria .en {
    grid-column: 2
  }

  .sec-judge .criteria .en {
    font-size: 20px;
    line-height: 25px
  }

  .sec-website .glass-website .zh {
    font-size: 36px;
    line-height: 43px
  }

  .sec-website .glass-website .en {
    font-size: 24px;
    line-height: 29px
  }

  .sec-website .glass-website .mail {
    font-size: 28px;
    line-height: 34px
  }
}

/* PSD spacing and card proportion calibration */
@media (min-width:1101px) {

  .glass-banner,
  .glass-handbook,
  .glass-website {
    min-height: 0;
    aspect-ratio: 1238 / 479
  }

  .glass-intro {
    min-height: 0;
    aspect-ratio: 1238 / 519
  }

  .glass-awards {
    min-height: 0;
    aspect-ratio: 1238 / 754
  }

  .glass-support {
    min-height: 0;
    aspect-ratio: 1238 / 359
  }

  .glass-tracks {
    min-height: 0;
    aspect-ratio: 1238 / 429
  }

  .glass-open {
    min-height: 0;
    aspect-ratio: 578 / 209
  }

  .glass-entry {
    min-height: 0;
    aspect-ratio: 828 / 569
  }

  .glass-stat {
    min-height: 0;
    aspect-ratio: 382 / 569
  }

  .glass-step {
    min-height: 0;
    aspect-ratio: 390 / 459
  }

  .glass-mail {
    min-height: 0;
    aspect-ratio: 1238 / 284
  }

  .glass-time {
    min-height: 0;
    aspect-ratio: 230 / 429
  }

  .glass-req,
  .glass-demo {
    min-height: 0;
    aspect-ratio: 578 / 289
  }

  .item-1 {
    min-height: 0;
    aspect-ratio: 1238 / 309
  }

  .item-2,
  .item-3,
  .item-8 {
    min-height: 0;
    aspect-ratio: 1238 / 357
  }

  .item-4,
  .item-7 {
    min-height: 0;
    aspect-ratio: 1238 / 396
  }

  .item-5 {
    min-height: 0;
    aspect-ratio: 1238 / 289
  }

  .item-6 {
    min-height: 0;
    aspect-ratio: 1238 / 483
  }

  .glass-judge {
    min-height: 0;
    aspect-ratio: 1238 / 394
  }

  .split {
    grid-template-columns: 828fr 382fr;
    gap: 28px
  }

  .steps {
    gap: 34px
  }

  .cols-2 {
    gap: 82px
  }

  .req-grid {
    gap: 82px
  }
    .entry-lead {
    display: grid;
    grid-template-columns: 66px minmax(0, 1fr);
    gap: 40px;
    align-items: start
  }
   .entry-lead .icon {
    width: 66px;
    height: 60px
  }

 
 
}

@media (min-width:1101px) and (max-width:1299px) {

  .glass-req,
  .glass-demo,
  .glass-judge {
    aspect-ratio: auto
  }

  .req {
    min-height: 289px
  }

  .glass-judge {
    min-height: 394px
  }
}
@media (min-width:1201px) {
    .sec-intro .glass-intro .zh {
    font-size: 40px;
    line-height: 52px
  }

  .sec-intro .glass-intro .en {
    font-size: 28px;
    line-height: 34px
  }

}
@media (min-width:1300px) {
  .banner {
    grid-template-columns: 305px minmax(0, 1fr);
    gap: 76px;
    align-items: start
  }

  .qr {
    width: 305px;
    height: 305px
  }



  .sec-intro .glass-intro .zh {
    line-height: 60px
  }

  .sec-intro .glass-intro .en {
    line-height: 36px
  }

  .glass-awards {
    display: flex;
    flex-direction: column
  }



  .glass-tracks {
    align-items: start
  }

  .glass-tracks .track-label,
  .glass-tracks .track-en {
    align-self: start
  }

  .sec-submission .mail-bar {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    column-gap: 39px;
    align-items: start
  }

  .sec-submission .mail-bar .icon-mail {
    grid-column: 1;
    grid-row: 1;
    width: 46px;
    height: 38px
  }

  .sec-submission .mail-copy {
    grid-column: 2;
    grid-row: 1
  }

  .sec-submission .mail-bar>.zh,
  .sec-submission .mail-bar>.en {
    grid-column: 1 / -1
  }

  .brief {
    height: 85px
  }

  .glass-judge {
    height: auto
  }

}

@media (max-width:1100px) {
  .title-row .heading {
    flex: 1;
    min-width: 0
  }

  .sec-awards .prize-head,
  .sec-judge .score-label {
    flex: none;
    white-space: nowrap
  }

  .sec-awards .prize-head strong {
    font-size: 15px;
    line-height: 20px
  }

  .sec-awards .prize-head span {
    font-size: 12px;
    line-height: 16px
  }

  .sec-judge .score-label {
    font-size: 18px;
    line-height: 24px
  }

  .heading h2 {
    font-size: 24px;
    line-height: 36px
  }

  .heading .kicker {
    font-size: 14px;
    margin-top: 3px;
    line-height: 21px;
    letter-spacing: 0
  }

  .heading .num {
    margin-top: 9px;
    font-size: 19px;
    line-height: 23px
  }

  .sec-hero>.date-kicker {
    font-size: 18px;
    line-height: 22px
  }

  .sec-hero>.kicker {
    font-size: 15px;
    line-height: 18px
  }

  .banner .date-kicker {
    font-size: 26px;
    line-height: 32px
  }

  .banner .date-en {
    font-size: 17px;
    line-height: 21px
  }

  .banner .date {
    font-size: 30px;
    line-height: 38px
  }

  .banner .zh {
    font-size: 20px;
    line-height: 30px
  }

  .banner .en {
    font-size: 16px;
    line-height: 23px
  }

  .qr-label strong {
    font-size: 20px;
    line-height: 31px
  }

  .qr-label span {
    font-size: 14px;
    line-height: 22px
  }

  .sec-intro .glass-intro .zh {
    font-size: 18px;
    line-height: 28px
  }

  .sec-intro .glass-intro .en {
    font-size: 14px;
    line-height: 20px
  }

  .sec-awards .prize h3 {
    font-size: 18px;
    line-height: 26px
  }

  .sec-awards .prize p {
    font-size: 12px;
    line-height: 18px
  }
  

  .sec-awards .amount {
    font-size: 20px;
    line-height: 28px
  }

  .sec-awards .note .zh,
  .sec-awards .note .zh:first-child {
    font-size: 16px;
    line-height: 24px
  }

  .sec-awards .note .en,
  .sec-awards .note .zh:first-child+.en {
    font-size: 14px;
    line-height: 20px
  }

  .sec-support .mini h3 {
    font-size: 18px;
    line-height: 28px
  }

  .sec-support .mini p {
    font-size: 14px;
    line-height: 20px
  }

  .sec-tracks .track-label {
    font-size: 20px;
    line-height: 30px
  }

  .sec-tracks .track-en {
    font-size: 14px;
    line-height: 22px;
    
  }
  .glass-tracks   .track-en{
    margin-top: -15px !important;
    
  }

  .sec-tracks .glass-tracks .mini h3,
  .sec-tracks .glass-open h3 {
    font-size: 18px;
    line-height: 28px
  }

  .sec-tracks .glass-tracks .mini p,
  .sec-tracks .glass-open p {
    font-size: 14px;
    line-height: 20px
  }

  .sec-tracks .open-side .zh {
    font-size: 18px;
    line-height: 24px
  }

  .sec-tracks .open-side .en {
    font-size: 15px;
    line-height: 20px
  }

  .sec-tracks>.zh,
  .sec-tracks .glass-handbook .zh {
    font-size: 16px;
    line-height: 28px
  }

  .sec-tracks>.en,
  .sec-tracks .glass-handbook .en {
    font-size: 14px;
    line-height: 20px
  }

  .sec-entry .glass-entry h3.zh {
    font-size: 20px;
    line-height: 36px
  }

  .sec-entry .glass-entry h3+.en {
    font-size: 14px;
    line-height: 23px
  }

  .sec-entry .glass-entry h3~.zh {
    font-size: 20px;
    line-height: 30px
  }

  .sec-entry .glass-entry .zh+.en {
    font-size: 14px;
    line-height: 22px;
    margin: 0 !important;
  }

  .sec-entry .stat .kicker {
    font-size:14px;
    line-height: 24px
  }

  .sec-entry .stat b {
    font-size: 32px;
    line-height: 42px
  }

  .sec-entry .stat b+.en {
    font-size: 14px;
    line-height: 22px
  }

  .sec-entry .stat .zh {
    font-size: 16px;
    line-height: 22px
  }

  .sec-entry .stat .zh+.en {
    font-size: 14px;
    line-height: 20px
  }

  .sec-submission .step .idx {
    font-size: 22px;
    line-height: 34px
  }

  .sec-submission .step h3 {
    font-size: 18px;
    line-height: 31px
  }

  .sec-submission .step h3+.en {
    font-size: 14px;
    line-height: 20px
  }

  .sec-submission .step .zh {
    font-size: 14px;
    line-height: 22px
  }

  .sec-submission .step .zh+.en {
    font-size: 14px;
    line-height: 20px
  }

  .sec-submission .mail {
    font-size: 16px;
    line-height: 28px
  }
   .sec-submission .icon-mail{
    width: 22px;
  }

  .sec-submission .mail-bar .zh {
    font-size: 16px;
    line-height: 27px
  }

  .sec-submission .mail-bar .en {
    font-size: 14px;
    line-height: 22px
  }

  .sec-timeline .brief .zh {
    font-size: 16px;
    line-height: 28px
  }

  .sec-timeline .brief .en {
    font-size: 14px;
    line-height: 22px
  }

  .sec-judge .score-label {
    font-size: 20px;
    line-height: 26px
  }

  .sec-judge .criteria h3 {
    font-size: 18px;
    line-height: 28px
  }

  .sec-judge .criteria h3,
  .sec-judge .criteria .en {
    grid-column: 2
  }

  .sec-judge .criteria .en {
    font-size: 14px;
    line-height: 20px
  }

  .sec-website .glass-website .zh {
    font-size: 18px;
    line-height: 30px
  }
.glass-website>div:nth-child(2) {
  padding-top: 0 !important;
}
  .sec-website .glass-website .en {
    font-size: 14px;
    line-height: 23px
  }

  .sec-website .glass-website .mail {
    font-size: 16px;
    line-height: 25px
  }
}

@media (max-width:1100px) {
  .sec-entry .entry-lead+.zh {
    margin-top: 10px !important;
  }
  .sec-entry .split {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: min(2.2222vw, 24px)
  }

  .glass-banner.banner {
    display: grid;
    grid-template-columns: minmax(120px, 220px) minmax(0, 1fr);
    gap: 18px;
    align-items: center
  }

  .glass-banner .qr {
    width: min(180px, 100%);
    height: auto;
    aspect-ratio: 1
  }

  .glass-banner .qr-label strong {
    font-size: 20px;
    line-height: 26px
  }

  .glass-banner .qr-label span {
    font-size: 14px;
    line-height: 19px
  }

  .glass-banner .date-kicker {
    font-size: 22px;
    line-height: 28px
  }

  .glass-banner .date-en {
    font-size: 15px;
    line-height: 20px
  }

  .glass-banner .date {
    font-size: 22px;
    line-height: 28px
  }

  .glass-banner .zh {
    font-size: 18px;
    line-height: 26px
  }

  .glass-banner .en {
    font-size: 15px;
    line-height: 21px
  }
}

@media (max-width:480px) {
  .glass-banner.banner {
    grid-template-columns: 105px minmax(0, 1fr);
    gap: 10px
  }
  .rule{
    margin-top: 5px;
  }
.rule::before,.rule::after {
  width: 60px;
  height: 1px;
  bottom: 0;

}
.rule::after {
  left: 70px;
}
  .glass-banner .qr {
    width: 100px
  }

  .glass-banner .qr-label strong {
    font-size: 17px;
    line-height: 22px
  }

  .glass-banner .qr-label span {
    font-size: 11px;
    line-height: 15px
  }

  .glass-banner .date-kicker {
    font-size: 18px;
    line-height: 23px
  }

  .glass-banner .date-en {
    font-size: 13px;
    line-height: 17px
  }

  .glass-banner .date {
    font-size: 15px;
    line-height: 20px;
    white-space: nowrap
  }

  .glass-banner .zh {
    font-size: 15px;
    line-height: 21px
  }

  .glass-banner .en {
    font-size: 12px;
    line-height: 17px
  }
}

/* Fluid spacing shared by every viewport */
.page {
  padding-top: min(.0694vw, 1px);
  padding-bottom: min(15.4167vw, 222px)
}

.sec-hero { margin-top: 2% }
.sec-intro { margin-top: min(8.4028vw, 121px) }
.sec-awards { margin-top: min(10.4861vw, 151px) }
.sec-support { margin-top: min(4.7917vw, 69px) }
.sec-tracks { margin-top: min(13.9583vw, 201px) }
.sec-entry { margin-top: min(7.7083vw, 111px) }
.sec-submission { margin-top: min(12.5694vw, 181px) }
.sec-timeline { margin-top: min(13.9583vw, 201px) }
.sec-requirements { margin-top: min(10.2778vw, 148px) }
.sec-judge { margin-top: min(7.6389vw, 110px) }
.sec-website { margin-top: min(6.6667vw, 96px) }
.sec-orgs { margin-top: min(8.8194vw, 127px) }

.top-rule { margin: min(9.2361vw, 133px) auto min(3.5417vw, 51px) }
.organizer-logos { margin: min(1.3889vw, 20px) auto min(.5556vw, 8px) }
.hero-banner { margin: min(2.0139vw, 29px) auto min(10.4167vw, 150px) }
.org-block { margin: 0 auto }

.heading { margin-bottom: min(1.25vw, 18px) }
.sec-intro .heading,
.sec-awards .title-row { margin-bottom: min(6.3889vw, 60px) }
.sec-support .heading,
.sec-entry .heading,
.sec-submission .heading,
.sec-judge .title-row,
.sec-website .heading { margin-bottom: min(7.0833vw, 102px) }
.sec-tracks .heading { margin-bottom: min(7.7778vw, 112px) }
.sec-timeline .heading { margin-bottom: min(8.2639vw, 119px) }
.sec-requirements .heading { margin-bottom: min(7.1528vw, 103px) }

.banner { padding: min(2.7083vw, 39px) }
.banner>div:nth-child(3) { padding-top: 5% }
.glass-website>div:nth-child(3) .zh { padding-bottom: 2%; }
.glass-website>div:nth-child(3) .en { padding: 1% 0 7%; }
.banner .date-en { margin-top: min(1.1806vw, 17px) }
.banner .date { margin-top: min(2.3611vw, 34px) }
.banner .date~.zh { margin-top: min(2.4306vw, 35px) }
.banner .date~.zh+.en { margin-top: min(1.5972vw, 23px) }
.glass-handbook .zh,
.glass-website .zh { margin-top: 0 }
.panel { padding: min(2.5vw, 36px) min(2.2222vw, 32px) }
.glass-intro { padding: min(3.1944vw, 46px) min(2.9167vw, 42px) }
.sec-intro .glass-intro .en { margin-top: min(2.7222vw, 46px) }
.glass-awards { padding: 0 min(1.9444vw, 28px) min(2.0139vw, 29px) }
.prize { padding: min(.9722vw, 15px) min(.5556vw, 8px) }
.glass-support { padding: min(2.9167vw, 42px) min(1.25vw, 18px) min(1.9444vw, 28px) }
.sec-support .glass-support { padding-right: min(.5556vw, 8px); padding-left: min(.5556vw, 8px) }
.glass-tracks { padding: min(2.9861vw, 43px) min(1.25vw, 18px) min(1.9444vw, 28px) }
.mini { padding: min(.8333vw, 12px) min(.5556vw, 8px) }
.sec-support .mini { padding-right: 0; padding-left: 0 }
.glass-open { padding: min(3.6806vw, 53px) min(.5556vw, 8px) min(.8333vw, 12px) }
.glass-entry { padding: min(4.5833vw, 66px) min(2.9167vw, 42px) min(1.9444vw, 28px) }
.stat { padding: min(3.75vw, 54px) min(1.3889vw, 20px) min(1.9444vw, 28px) }
.step { padding: min(2.7083vw, 39px) min(2.25vw, 30px) min(1.9444vw, 28px) }
.mail-bar { padding: min(3.125vw, 45px) min(2.8472vw, 41px) min(1.9444vw, 28px) }
.time { padding: min(3.8194vw, 55px) min(.8333vw, 12px) min(1.9444vw, 28px) }
.req { padding: min(2.9861vw, 43px) min(2.5vw, 36px) min(2.2222vw, 32px) min(2.0139vw, 29px) }
.item { padding: min(1.5972vw, 23px) min(2.5vw, 36px) min(1.9444vw, 28px) min(2.9167vw, 42px) }
.glass-judge { padding: min(1.6667vw, 24px) min(1.9444vw, 28px) }
.score { padding: min(.5556vw, 8px) }
.criteria>div { padding: min(1.5278vw, 22px) }
.scores { margin: min(.5556vw, 8px) 0 min(1.1111vw, 16px) }
.qr-label { margin-top: min(.5556vw, 8px) }

.sec-awards .note { margin-top: min(2.5vw, 36px) }
.sec-awards .note .en { margin-top: min(1vw, 15px) }
.sec-awards .note .en+.zh { margin-top: min(1.5vw, 20px) }
.sec-support .mini .icon { margin-bottom: min(4.9306vw, 50px) }
.sec-support .mini p { margin-top: min(3vw, 40px) }
.glass-tracks .track-en { margin: min(.2778vw, 4px) 0 min(2.0833vw, 30px) }
.glass-tracks .mini .icon { margin-bottom: min(2.6389vw, 38px) }
.glass-tracks .mini p { margin-top: min(1.5972vw, 23px) }
.open-head { margin-top: min(5.8333vw, 84px); margin-bottom: min(2.9861vw, 43px) }
.glass-open p { margin-top: min(1.4583vw, 21px) }
.sec-tracks>.zh { margin-top: min(2.1528vw, 31px) }
.sec-tracks>.en { margin-top: min(1.6667vw, 24px) }
.glass-handbook { margin-top: min(7.2917vw, 105px) }
.sec-entry .entry-lead h3+.en { margin-top: min(2.0139vw, 29px) }
.sec-entry .entry-lead+.zh { margin-top: min(5.7639vw, 83px) }
.sec-entry .glass-entry>.zh+.en { margin-top: min(4.7917vw, 69px) }
.sec-entry .stat b { margin: min(7.2917vw, 105px) 0 0 }
.sec-entry .stat b+.en { margin-top: min(.4167vw, 6px) }
.sec-entry .stat .zh { margin-top: min(4.4444vw, 64px) }
.sec-entry .stat .zh+.en { margin-top: min(2.4306vw, 35px) }
.step h3 { margin-top: min(.5556vw, 8px) }
.sec-submission .step h3+.en { margin-top: min(1.1806vw, 17px) }
.sec-submission .step .zh { margin-top: min(2.5694vw, 37px) }
.sec-submission .mail-bar { margin-top: min(3.5417vw, 51px) }
.sec-submission .mail-bar .icon-mail { margin-top: min(.3472vw, 5px) }
.sec-submission .mail-bar>.zh { margin-top: min(2.9861vw, 43px) }
.sec-submission .mail-bar>.en { margin-top: min(2.2917vw, 33px) }
.sec-submission .mail-bar+.banner { margin-top: min(5.9722vw, 86px) }
.brief { margin-top: min(4.0278vw, 58px) }
.sec-timeline .brief .en { margin-top: min(1.0417vw, 15px) }
.req-title { margin-top: min(5.2778vw, 76px) }
.item-4+.req-title { margin-top: min(3.1944vw, 46px) }
.req-title+.en { margin-top: min(1.6667vw, 24px) }
.req-title+.en+.item { margin-top: min(2.2917vw, 33px) }
.item { margin-top: min(2.8472vw, 41px) }
.req-copy h3+.en,
.item h3+.en { margin-top: clamp(5px, .8333vw, 12px) }
.req-copy .zh { margin-top: clamp(12px, 2.0139vw, 29px) }
.item .zh { margin-top: clamp(12px, 1.1111vw, 16px) }
.req-copy .zh+.en { margin-top: clamp(8px, 1.1806vw, 17px) }
.item .zh+.en { margin-top: clamp(8px, .9722vw, 14px) }
.item .idx { margin: clamp(5px, 1.5278vw, 22px) clamp(10px, 2.3611vw, 34px) 0 0 }
.mark { margin-right: clamp(12px, 1.6667vw, 24px) }
.req .icon-video { margin-top: min(.4861vw, 7px) }

/* Organisation titles stay in HTML; card artwork and logo lists remain separate assets. */
.org-separator {
  width: min(1248px, calc(100% - 48px));
  height: 2px;
  margin: 0 auto min(3.5417vw, 51px);
  background: #b9d1e5
}

.org-heading {
  width: min(1238px, calc(100% - 32px));
  margin-right: auto;
  margin-left: auto
}

.org-heading h2 {
  color: #294d81;
  font-size: clamp(24px, 4.0972vw, 59px);
  font-weight: 700;
  line-height: 1.2
}

.organizer-heading p,
.org-heading .kicker {
  margin-top: min(.6944vw, 10px);
  color: #61779a;
  font-size: clamp(14px, 1.9583vw, 28px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase
}

.organizer-heading {
  margin-bottom: min(5.4167vw, 78px)
}

.org-card {
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%
}



.organizer-card .organizer-logos,
.support-logos {
  display: block;
  width: 100%;
  height: auto;
  margin: 0
}

.support-heading {
  gap: min(3.9583vw, 57px);
  margin-top: min(8.75vw, 126px);
  margin-bottom: min(4.9306vw, 71px)
}

.support-heading .num {
  margin-top: min(1.6667vw, 24px)
}

.support-card {
  width: 100%;
  margin: 0 auto;
  background-image: url("./assets/images/glass-34.png")
}
