/* ============ banner 轮播 ============ */
.swiper-container{
    width: 100%;
    height: 380px;
    position: relative;
    overflow: hidden;
    margin-top: 120px;
}
.swiper-container .swiper-slide{
    background-size: cover !important;
    background-repeat: no-repeat;
}
.swiper-container .fullscreen{
    display: block;
    width: 100%;
    height: 100%;
}
.bannerSwitch .swiper-pagination-bullet{
    opacity: 0.5 !important;
    background: #fff !important;
}
.bannerSwitch .swiper-pagination-bullet-active{
    opacity: 1 !important;
}

/* ============ 指示卡 hintCard ============ */
.hintCardBox,.hintCardBoxMobile{
    width: 290px;
    padding-top:20px;
    background: rgba(255,255,255,0.6);
    position: absolute;
    left: 58%;
    top: 35%;
    margin-left:260px;
    margin-top:-160px;
    z-index: 2;
    box-sizing: border-box;
    box-shadow: 0 2px 10px rgba(0,0,0,.12);
}
.hintCardBox .buttonWrapper,.hintCardBoxMobile .buttonWrapper{width:100%;text-align: center;margin: 6px 0;display: flex;
    flex-direction: row;
    justify-content: space-evenly;}
.hintCardBox .buttonWrapper span,.hintCardBoxMobile .buttonWrapper span{display:inline-block;position:relative;cursor:pointer;width:144px;height:30px;line-height:30px;border-radius:2px;background: #019002;font-size: 14px;color: #fff;box-sizing: border-box;}
.hintCardBox .buttonWrapper span:nth-child(2),.hintCardBoxMobile .buttonWrapper span:nth-child(2){line-height:28px;margin-left:7px;background: transparent;border: 1px solid #019002;color: #174235;display: flex;
    flex-direction: row;
    justify-content: space-around;}
.hintCardBox .buttonWrapper span label,.hintCardBoxMobile .buttonWrapper span label{position: absolute;top: -1px;right: 10px;}
.hintCardBox .flexBlock,.hintCardBoxMobile .flexBlock{width: 100%;height: auto;display: flex;flex-wrap: wrap;justify-content: space-around;text-align: center;font-size: 13px;color: #333;}
.hintCardBox .flexBlock>div,.hintCardBoxMobile .flexBlock>div{width: 33.333%;box-sizing: border-box;padding:13px;
    /* border-top:1px solid #ECECEC;border-right: 1px solid #ECECEC; */
}
.hintCardBox .flexBlock>div:nth-child(3),.hintCardBox .flexBlock>div:nth-child(6),.hintCardBox .flexBlock>div:nth-child(9),.hintCardBoxMobile .flexBlock>div:nth-child(3),.hintCardBoxMobile .flexBlock>div:nth-child(6),.hintCardBoxMobile .flexBlock>div:nth-child(9),.hintCardBoxMobile .flexBlock>div:nth-child(12){border-right: none;}
.hintCardBox .flexBlock>div a,.hintCardBoxMobile .flexBlock>div a{display: flex;
    flex-direction: column;font-size: 12px;line-height: 12px;word-break: break-word;color: #5d5d5d;}
.hintCardBox .flexBlock>div a>div,.hintCardBoxMobile .flexBlock>div a>div{margin-bottom: 3px;}
.hintCardBox .flexBlock>div a>div img{width: 55%;}
.hintCardBoxMobile .flexBlock>div a>div img{width: 42%;max-width: 70px;display: block;margin: 0 auto;}
.hintCardBox .loginRegBox,.hintCardBoxMobile .loginRegBox{width: 100%;height:271px;margin-top:10px;display:none;flex-direction:column;justify-content: space-around;box-sizing: border-box;border-top: 1px solid #ECECEC;border: none;}
.hintCardBox .loginRegBox a,.hintCardBoxMobile .loginRegBox a{display:inline-block;width: 220px;height:30px;line-height:30px;margin:0 auto;background: transparent;border: 1px solid #174235;border-radius: 5px;text-align: center;color: #174235;font-size: 14px;}
.hintCardBox .loginRegBox a:first-child,.hintCardBoxMobile .loginRegBox a:first-child{color: ##174235;font-size: 13px;text-align: left;background: transparent;margin-bottom: -20px;margin-top: -8px;border: none;}
.hintCardBoxMobile{display: none;}


:root{
    --green-dark:#0f3d24;
    --green-text:#1a5c38;
    --green-hero1:#2aa411;
    --green-hero2:#0f7a06;
    --yellow:#f7b500;
    --yellow-deep:#efa900;
    --black:#0d0d0d;
    --card-bg:#f7f7f4;
    --body-text:#3c3c3c;
    --serif: sans-serif,Georgia,"Times New Roman","Noto Serif",serif;
    --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  }


  /* ================= Sections common ================= */
  section{padding:60px 0;width: 83%;margin: 0 auto;}
  .sec-title{font-family:var(--serif);font-size:clamp(18px, 3.4vw, 30px);color:#174235;font-weight:700;letter-spacing:0;word-spacing:.3em;text-transform: uppercase;}
  /* .divider{border:none;border-top:1px solid #e3e3e3;margin:8px 0 0;} */

  /* ================= Invitation ================= */
  .invitation .sec-title{font-size:clamp(30px,4vw,46px);}
  .invitation p{font-family:var(--serif);font-size:16.5px;color:#333;margin-top:26px;text-align:justify;}

  /* ================= Highlights ================= */
  
  .highlight-list{display:flex;flex-direction:column;gap:44px;margin-top:48px;}
  .hl-card{display:flex;align-items:stretch;background:#F7F5F4;border-radius:22px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.05);}
  .hl-card .hl-img{flex:0 0 46%;min-height:280px;}
  .hl-card .hl-img img{width:100%;height:100%;object-fit:cover;}
  .hl-card .hl-body{flex:1;display:flex;flex-direction:column;padding:38px 42px;position:relative;}
  .hl-card .hl-head{display:flex;align-items:flex-start;justify-content:flex-end;gap:16px;}
  .hl-card:nth-child(even) .hl-head {
        justify-content: flex-start;
    }
  .hl-card h3{font-family:var(--serif);font-size:clamp(22px,2.6vw,30px);color:var(--green-text);font-weight:600;line-height:1.35;max-width:75%;}
  .arrow-circle{width:60px;height:60px;transition:transform .25s;}
  .arrow-circle svg{width:20px;height:20px;stroke:#111;}
  .hl-card .arrow-circle img{width:100%;height:100%;display:block;object-fit:contain;}
  .hl-card .arrow-circle:hover{transform:translate(2px,-2px);}
  .hl-card .hl-desc{padding-top:40px;font-size:18px;color:#444;font-family:var(--serif);}
  .hl-card.hl-yellow{background:linear-gradient(135deg,#ffc21c,var(--yellow-deep));}
  .hl-card.hl-yellow h3{color:#123f28;}
  .hl-card.hl-yellow .hl-desc{color:#3a2e00;}
  /* .hl-card.hl-yellow .arrow-circle{transform: rotate(0deg);} */
  .hl-card.hl-yellow .arrow-circle svg{stroke:#fff;}
  .hl-card.reverse{flex-direction:row-reverse;}

  /* ================= Scope ================= */
  .scope-panel{background:#F7F5F4;border-radius:22px;padding:56px clamp(20px,5vw,64px);margin-top:40px;}
  .scope-head{text-align:center;}
  .scope-head .sec-title{font-size:clamp(26px,3.4vw,38px);}
  .scope-head p{font-family:var(--serif);font-size:clamp(18px,2.4vw,26px);color:#333;margin-top:6px;}
  .scope-pill{display:flex;justify-content:center;margin:38px 0 10px;}
  .scope-pill .pill{display:inline-flex;align-items:center;gap:0;}
  .scope-pill .pill .label{background:var(--yellow);color:#123f28;font-family:var(--serif);font-size:clamp(18px,2.4vw,26px);padding:10px 30px;border-radius:999px;}
  .scope-pill .pill .arrow-circle{width:50px;height:50px;}
  .scope-pill .pill .arrow-circle img{width:100%;height:100%;display:block;object-fit:contain;}
  .scope-group{display:flex;flex-direction: column;gap:34px;margin-top:30px;}
  .scope-item .item-head{display:flex;align-items:center;gap:16px;}
  .scope-item .num{width:34px;height:34px;border-radius:50%;background:var(--yellow);color:#123f28;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:13px;flex:0 0 34px;}
  .scope-item h4{font-family:var(--serif);font-size:clamp(19px,2.2vw,24px);color:var(--green-text);font-weight:600;}
  .scope-item p{margin-top:14px;font-size:16px;color:#444;padding-left:50px;font-family:var(--serif);}

  /* ================= Value ================= */
  .value-wrap{position:relative;}
  .value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:48px;}
  .value-card{background:#F7F5F4;border-radius:16px;padding:34px 30px 40px;position:relative;transition:transform .25s,box-shadow .25s;}
  .value-card:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(0,0,0,.08);}
  .value-card .icon{width:56px;height:56px;border-radius:12px;background:var(--yellow);display:flex;align-items:center;justify-content:center;}
  .value-card .icon svg{width:30px;height:30px;stroke:#123f28;fill:none;stroke-width:1.6;}
  .value-card h4{font-family:var(--serif);font-size:clamp(19px,2vw,23px);color:var(--green-text);font-weight:600;margin-top:22px;line-height:1.4;}
  .value-card p{margin-top:16px;font-size:16px;color:#444;font-family:var(--serif);}
  .value-side-arrow{display:flex;align-items:center;justify-content:center;}
  .value-side-arrow .arrow-circle{width:64px;height:64px;}
  .value-side-arrow .arrow-circle img{width:100%;height:100%;display:block;object-fit:contain;}

  /* ================= Organizers ================= */
  .org-block{margin-top:44px;}
  /* 统一的模块标题 / 行 / 条目写法 */
  .org-title{font-family:var(--serif);font-size:clamp(22px,2.6vw,30px);color:var(--green-text);font-weight:600;}
  .org-block > .org-title{margin-bottom:20px;}
  .org-row{display:flex;gap:32px;align-items:center;margin-top:28px;flex-wrap:wrap;}
  .org-item{flex:1;min-width:280px;}
  .org-item h5{font-family:var(--serif);font-size:22px;color:var(--green-text);font-weight: 500;display:flex;align-items:baseline;gap:10px;}
  .org-item h5::before{content:"";width:8px;height:8px;border-radius:50%;background:#1c9a2e;flex:0 0 8px;transform:translateY(-2px);}
  .org-item p{margin-top:12px;font-size:16px;color:#444;font-family:var(--serif);}
  /* 首席支持机构：旗帜居左、文字居右，整行垂直居中 */
  .org-row--principal{align-items:center;gap:40px;margin-top:0;}
  .org-row--principal .org-item{flex:0 1 auto;min-width:auto;}
  .org-row--principal .org-title{margin-bottom:0;}
  .org-row--principal .org-item h5{margin-top:18px;font-size:16.5px;}
  .org-flag{flex:0 0 320px;max-width:320px;border-radius:6px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.12);}
  .org-flag img{width:100%;height:100%;object-fit:cover;}
  /* logo 展示区固定尺寸，图片按等比缩放，避免被拉伸、溢出或压到文字 */
  .org-logo{display:flex;flex:0 0 auto;align-items:center;justify-content:center;
    /* width:clamp(130px,16vw,200px);height:clamp(56px,8vh,90px); */
}
  .org-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;}
  .org-logo span{width:44px;height:56px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:26px;color:#fff;}
  .org-logo .b1{background:#111;}
  .org-logo .b2{background:#1c9a2e;}
  .org-logo .b3{background:var(--yellow);color:#111;}
  .snec-logo{display:flex;align-items:center;gap:8px;justify-content:center;margin:34px 0 8px;font-weight:800;font-size:30px;}
  .snec-logo .swirl{width:34px;height:34px;}
  .snec-logo .snec{color:#ff6a00;}
  .snec-logo .smart{color:#1a3fa0;font-weight:700;}
  .snec-logo .e2{color:#1a3fa0;}

  /* ================= Registration ================= */
  .register .intro{font-family:var(--serif);font-size:clamp(17px,2.2vw,22px);color:#222;max-width:760px;margin-top:28px;}
  .register .wish{font-size:14px;color:#444;margin-top:22px;font-family:var(--serif);}
  .contact-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:44px;flex-wrap:wrap;}
  .contact-list{display:flex;flex-direction:column;gap:30px;}
  .contact-item{display:flex;align-items:center;gap:20px;}
  .contact-item .cicon{width:58px;height:58px;border-radius:50%;background:var(--yellow);display:flex;align-items:center;justify-content:center;flex:0 0 58px;}
  .contact-item .cicon img{width:64%;object-fit:contain;}
  .contact-item .cicon svg{width:26px;height:26px;stroke:#111;fill:none;stroke-width:1.8;}
  .contact-item .ctext .name{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--green-text);display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;}
  .contact-item .ctext .name small{font-size:14px;color:#555;font-weight:400;font-family:var(--sans);}
  .contact-item .ctext .line{font-size:16px;color:#222;margin-top:2px;}
  .contact-item .ctext .line small{font-size:12.5px;color:#555;margin-left:12px;}
  .btn-contact{display:inline-flex;align-items:center;gap:0;}
  .btn-contact .arrow-circle{width:64px;height:64px;flex:0 0 64px;}
  .btn-contact .arrow-circle img{width:100%;height:100%;display:block;object-fit:contain;}
  .btn-contact .txt{background:var(--yellow);color:#111;font-weight:800;font-size:18px;padding:14px 34px 14px 40px;border-radius:999px;letter-spacing:1px;transition:background .25s;}
  .btn-contact:hover .txt{background:#ffcf3d;}

 @media (max-width: 1024px){
    .swiper-container{margin-top: 60px;}
    .hintCardBox {display: none;}
    /* 卡片宽度与页面内容栏一致（section 也是 83%），左右边缘对齐、视觉比例统一；不限宽 */
    .hintCardBoxMobile{display: block;box-sizing:border-box;position: unset;margin: 20px auto;border: 1px solid #F5F5F5;width: 90%;}
    /* 网格内边距统一为 5px（原最后一项漏写内联 padding 会变成 13px，导致该图标偏小） */
    .hintCardBoxMobile .flexBlock>div{padding: 5px;}
  }
@media (min-width: 768px){
    .hintCardBox{padding-top:0;}
    /* .hintCardBox .flexBlock, .hintCardBoxMobile .flexBlock{height: 275px;} */
}

@media (max-width: 768px){
    .swiper-container{height: 240px;}
    .v-cards{gap:20px;}
    .v-cards .v-card{flex:1 1 100%;max-width:100%;}
}

/* ================= Responsive ================= */
  @media (max-width: 992px){
    .value-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    /* .value-side-arrow{display:none;} */
    .hl-card .hl-body{padding:30px;}
  }
  @media (max-width: 768px){
    section{padding:56px 0;}
    .logo{font-size:15px;}
    .logo .swirl{width:22px;height:22px;flex-basis:22px;}
    .footer-logos{gap:clamp(20px,5vw,36px);}
    .footer-logos img{margin:0;}
    .snec-logo img{width:170px;}
    .neec-logo img{width:118px;}
    .sec-title{word-spacing:.15em;}
    .menu-toggle{display:block;}
    .header-nav{display:none;}
    .header-nav.open{display:block;}
    .nav-inner{flex-direction:column;align-items:stretch;gap:2px;padding:12px 0 18px;}
    .nav-inner a.nav-link{text-align:center;padding:12px;}
    .nav-register,.nav-lang{justify-content:center;}
    .hero-inner{padding:64px 0 76px;}
    .hl-card,.hl-card.reverse{flex-direction:column;}
    .hl-card .hl-img{flex:0 0 auto;height:220px;width:100%;}
    .hl-card h3{max-width:100%;}
    .scope-item{flex:1 1 100%;}
    .value-grid{grid-template-columns:1fr;}
    .org-row--principal{flex-direction:column;align-items:flex-start;}
    .org-flag{flex:0 0 auto;width:100%;max-width:420px;}
    /* 机构条目：移动端图文纵向排列，logo 在上、左对齐，文字占满整行 */
    .org-row:not(.org-row--principal){flex-wrap:wrap;align-items:flex-start;gap:14px;margin-top:24px;}
    .org-item{flex:1 1 100%;min-width:0;}
    .org-logo{flex:0 0 100%;width:100%;justify-content:flex-start;}
    .org-logo img{max-width:83%;max-height:100%;}
    .contact-row{flex-direction:column;align-items:flex-start;}
    .scope-pill .pill .label{padding:8px 20px;font-size:18px;text-align:center;}
    .scope-item p{padding-left:0;}
    .btn-contact .txt{font-size:16px;padding:12px 26px 12px 34px;}
    .contact-item .ctext .name small{display:block;margin-top:2px;}
    .hero .waves{width:130%;right:0;opacity:.45;}
  }

/* ================= 指示卡 hintCard —— PC 端自适应 ================= */
/* banner 容器高度 380px 且 overflow:hidden，卡片必须完整落在容器内才不会被裁切 */
@media (min-width: 1025px){
  /* 位置：右侧间距按视口比例（=页面 83% 内容栏的右边距 8.5%），
     窄屏永不超出 banner 右边界，超大屏保持同一比例、不会贴到屏幕最右侧；竖直居中于 banner 内 */
  .hintCardBox{
    left: auto;
    right: 8.5%;
    top: 50%;
    margin-left: 0;
    margin-top: 0;
    transform: translateY(-50%);
    transform-origin: right center;
    width: 380px;
    height: 364px !important;
    padding-top: 0;
  }
  /* 图标网格压缩：固定图标行高，保证 3 行内容 + 按钮区不撑出卡片 */
  .hintCardBox .flexBlock>div{padding: 8px 6px;}
  .hintCardBox .flexBlock>div a>div{height: 54px;margin-bottom: 4px;display: flex;align-items: center;justify-content: center;}
  .hintCardBox .flexBlock>div a>div img{width: auto;height: auto;max-width: 100%;max-height: 100%;object-fit: contain;}
  /* 点击 Login/Registration 后展开的面板，同样收进卡片高度内 */
  .hintCardBox .loginRegBox{height: 304px !important;margin-top: 6px;}
}
/* 窄屏 PC：整体按比例缩小（以右边界为基准缩放，视觉宽度 380→340→320），
   比例缩放不改变内部排版，因此不会重新换行、也不会撑出卡片 */
@media (min-width: 1200px) and (max-width: 1439px){
  .hintCardBox{transform: translateY(-50%) scale(0.895);}
}
@media (min-width: 1025px) and (max-width: 1199px){
  .hintCardBox{transform: translateY(-50%) scale(0.84);}
}
/* 超大屏：卡片只横向加宽（高度 364px 不变，仅每列更宽、换行更少），
   图标行高 54→58px 补回加宽后少掉的换行高度，避免卡片底部留白；
   右边缘仍按 8.5% 对齐内容栏，不会超出 banner */
@media (min-width: 1920px){
  .hintCardBox{width: 440px;}
  .hintCardBox .flexBlock>div a>div{height: 58px;}
}