/* ==========================================================================
   SEYE — R&D page  (Lanhu artboard 1920 x 8704)
   Design reference 1920px · 1rem = 16px @ 1920
   ========================================================================== */

/* ---------- HERO (design y 95 .. 1028) ---------- */
.r-hero{position:relative;height:58.3125rem;margin-top:var(--nav-h);overflow:hidden;background:#eef1f3}
.r-hero-bg{position:absolute;inset:0}
.r-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center bottom}
.r-hero-copy{position:relative;padding:5.525rem 9.0625rem 0;max-width:62rem}  /* copy left edge = 145px */

.r-eyebrow{
  display:flex;align-items:center;gap:1.625rem;
  font-size:1.4375rem;line-height:1;letter-spacing:.17em;text-transform:uppercase;
  font-weight:500;color:var(--olive);
}
.r-eyebrow::after{content:"";width:5.8125rem;height:1px;background:currentColor;opacity:.6}

.r-hero-title{font-family:var(--serif);font-weight:600;margin-top:2.6875rem;line-height:1.21}
.r-hero-title>span{display:block;font-size:4.65rem;color:#223a38}
.r-hero-title em{font-style:italic;font-size:4.65rem;color:var(--sage)}
.r-hero-text{margin-top:1.175rem;font-size:1.5125rem;line-height:2.40625rem;color:#2b3a33;max-width:43.5rem}

.r-stats{display:flex;margin-top:2.456rem;margin-left:-1.95rem}
.r-stat{width:11.72rem;text-align:center;position:relative}
.r-stat+.r-stat::before{content:"";position:absolute;left:0;top:1rem;bottom:1rem;width:1px;background:rgba(36,74,54,.16)}
.r-stat-ico{
  width:5.3125rem;height:5.3125rem;margin:0 auto;color:#b4a078;
  border:1px solid rgba(180,160,120,.9);border-radius:50%;
  display:grid;place-items:center;
}
.r-stat-ico svg{width:2.3125rem;height:2.3125rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.r-stat-num{font-family:var(--serif);font-size:1.945rem;font-weight:600;line-height:1;color:#223a38;margin-top:.5875rem}
.r-stat-lab{font-size:.845rem;line-height:1.3;color:#4b5f50;margin-top:.794rem}
.r-hero-btn{margin-top:3.875rem;--h:4.8125rem;width:24.75rem;font-size:1.375rem}

/* ---------- 01 / RESEARCH INSTITUTES (1029 .. 2927) ---------- */
.s-inst{padding:5.9rem 0 8.5625rem}

/* the design mixes two label treatments on this page: these keep sentence
   case with dashes, while .innov / .qual stay uppercase with wide tracking */
.inst-head .eyebrow,
.talent-head .eyebrow,
.meas-left .eyebrow{text-transform:none;letter-spacing:.16em;font-size:1.2375rem}
.inst-head{text-align:center}
.inst-head .h2{margin-top:1.594rem;font-size:4.25rem;line-height:1.2;letter-spacing:.005em}
.inst-head .body-text{margin-top:1.2375rem;width:72.5rem;margin-inline:auto;font-size:1.3125rem;line-height:2.5rem}

/* rows: content box 135 .. 1815   ·   image column 886 */
.inst-rows{width:105rem;margin-left:8.4375rem;margin-top:4.12rem;display:flex;flex-direction:column;gap:4.75rem}
.inst-row{display:grid;grid-template-columns:minmax(0,1fr) 55.375rem;column-gap:6.2rem;align-items:center}
.inst-row:nth-child(even){grid-template-columns:55.375rem minmax(0,1fr)}
.inst-row:nth-child(even) .inst-media{order:-1}
.inst-media{width:55.375rem;height:25.5rem;border-radius:.5rem;overflow:hidden}
.inst-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.25,1)}
.inst-row:hover .inst-media img{transform:scale(1.04)}
.inst-badge{
  width:2.6875rem;height:2.6875rem;border-radius:50%;background:var(--green);color:#fff;
  display:grid;place-items:center;font-family:var(--serif);font-size:1.25rem;font-weight:600;
  transition:transform .5s cubic-bezier(.2,.8,.25,1),background-color .4s ease;
}
.inst-row:hover .inst-badge{transform:translateY(-4px);background:#2f6144}
.inst-copy h3{font-family:var(--serif);font-size:2.46rem;font-weight:600;line-height:1.16;color:var(--green);margin-top:1.734rem}
.inst-copy p{font-size:1.36rem;line-height:2.34375rem;color:#3f5445;margin-top:.797rem;max-width:39.5rem}

/* ---------- 02 / MEASURABLE RESULTS (2928 .. 3847) ---------- */
.s-measure{background:var(--green);padding:4.9625rem 0 4.8125rem;position:relative;overflow:hidden}
.s-measure::before{
  content:"";position:absolute;left:-12.5rem;top:-12.5rem;width:47.5rem;height:47.5rem;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.05),transparent 68%);pointer-events:none;
}
.meas-wrap{width:106rem;margin-left:8rem;position:relative}      /* 128 .. 1824 */
/* the stat block starts on the centre line of the wide photo below (x 944) */
.meas-grid{display:grid;grid-template-columns:47.5625rem minmax(0,1fr);column-gap:0;align-items:start}
.meas-left .h2{margin-top:2.072rem;font-size:4.36rem;line-height:.94;letter-spacing:.008em}
.meas-left .body-text{margin-top:1.897rem;width:45.5rem;font-size:1.3125rem;line-height:2.28125rem}
/* column edges reproduce the design's dividers at x 1185 / 1531 */
.meas-nums{display:grid;grid-template-columns:18.625rem 21.625rem 17.25rem;gap:3.52rem 0;margin-top:2.3rem}
.meas-num{position:relative;text-align:center}
.meas-num:not(:nth-child(3n+1))::before{content:"";position:absolute;left:0;top:.75rem;bottom:.75rem;width:1px;background:rgba(255,255,255,.22)}
.meas-num b{font-family:var(--serif);font-size:3.9rem;font-weight:600;line-height:1.25;color:#fff;display:block}
.meas-num span{display:block;font-size:1rem;line-height:1.4;color:rgba(255,255,255,.72);margin-top:.27rem}
.meas-wide{margin-top:4.4375rem;width:103.4375rem;height:18.5rem;border-radius:.5rem;overflow:hidden}
.meas-wide img{width:100%;height:100%;object-fit:cover}

/* ---------- 03 / TOP TALENT TEAM (3848 .. 5590) ---------- */
.s-talent{padding:4.15rem 0 6.5rem}
.talent-head{text-align:center}
.talent-head .h2{margin-top:2.494rem;font-size:4.1875rem;line-height:1.1;letter-spacing:.005em}
.talent-head .body-text{margin-top:1.025rem;width:61rem;margin-inline:auto;font-size:1.25rem;line-height:2.3125rem}

.talent-list{margin-top:4.4rem;display:flex;flex-direction:column;gap:2.375rem}
.talent-row{display:grid;grid-template-columns:minmax(0,1fr) 25.4375rem;column-gap:0;align-items:center}
.talent-row.alt{grid-template-columns:25.625rem minmax(0,1fr)}
.talent-card{
  display:grid;grid-template-columns:30.125rem minmax(0,1fr);column-gap:4.6875rem;align-items:center;
  background:#fff;border-radius:1rem;padding:2.5625rem;
  box-shadow:0 2rem 4rem -2.5rem rgba(36,74,54,.28);
  transition:transform .55s cubic-bezier(.2,.8,.25,1),box-shadow .55s ease;
}
.talent-row.alt .talent-card{grid-template-columns:minmax(0,1fr) 30.125rem}
.talent-row.alt .talent-card .talent-photo{order:2}
.talent-card:hover{transform:translateY(-6px);box-shadow:0 2.5rem 5rem -2.5rem rgba(36,74,54,.36)}
.talent-photo{width:30.125rem;height:33.625rem;border-radius:.75rem;overflow:hidden;}
.talent-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.talent-name{font-family:var(--serif);font-size:3.16rem;font-weight:600;line-height:1.1;color:#223a38}
.talent-role{font-size:1.35rem;color:#54685a;margin-top:.875rem}
.talent-tags{display:flex;flex-wrap:wrap;gap:.625rem;margin-top:1.375rem}
/* 浅绿底丸标签：描边与底色同色，尺寸不变、边缘干净 */
.talent-tags li{font-size:.9375rem;color:#3f5445;background:#E6EFE9;border:1px solid #E6EFE9;border-radius:999px;padding:.375rem 1.125rem}
.talent-bio{font-size:1.0625rem;line-height:1.7;color:#3f5445;margin-top:1.5rem}
.talent-bullets{margin-top:1.375rem;display:flex;flex-direction:column;gap:.5rem}
.talent-bullets li{position:relative;padding-left:1.5rem;font-size:1.0625rem;line-height:1.6;color:#3f5445}
.talent-bullets li::before{content:"★";position:absolute;left:0;top:0;font-size:.875rem;color:var(--green)}
.talent-stats{display:flex;flex-direction:column;gap:3.5rem;align-items:center}
.talent-stat{text-align:center;color:var(--green)}
.talent-stat b{font-family:var(--serif);font-size:8.125rem;font-weight:600;line-height:1;display:block;opacity:.32}
.talent-stat span{
  display:block;font-family:var(--serif);font-size:2.375rem;font-weight:600;
  letter-spacing:.055em;text-transform:uppercase;margin-top:.5rem;opacity:.32;line-height:1.25;
}

/* ---------- 04 / PRODUCT INNOVATION (5591 .. 6309) ---------- */
.s-innov{background:var(--green);padding:4.9625rem 0 3.125rem;position:relative;overflow:hidden}
.innov-head{text-align:center}
.innov-head .h2{margin-top:2.444rem;font-size:4.1rem;line-height:1.1;color:#fff}
.innov-head .body-text{margin-top:1.21rem;width:62rem;margin-inline:auto;color:rgba(255,255,255,.8);font-size:1.325rem;line-height:2.3125rem}
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:0;margin-top:4.884rem;width:108.6875rem;margin-left:6.5rem}
.pillar{text-align:center;color:#fff;padding:0 4.2rem}
.pillar-ico{display:grid;place-items:center;width:4.875rem;height:4.875rem;margin:0 auto;color:#fff;transition:transform .5s cubic-bezier(.2,.8,.25,1)}
.pillar-ico svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.pillar:hover .pillar-ico{transform:translateY(-6px)}
.pillar h3{font-size:1.19rem;font-weight:700;line-height:1.625;margin-top:1.5rem;letter-spacing:.01em}
.pillar p{font-size:1.0625rem;line-height:1.4375rem;color:rgba(255,255,255,.72);margin-top:.6rem}

/* ---------- 05 / QUALITY & PRODUCTION (6310 .. 7504) ---------- */
/* equal-height headings make every card ~35px taller → trim the tail padding so
   the section keeps the design height (1195px) */
.s-qual{padding:4.4rem 0 4.8125rem}
.qual-head{text-align:center}
.qual-head .h2{margin-top:2.369rem;font-size:4.17rem;line-height:1.1}
/* one grid → photo + its text stay in the same column on every breakpoint */
.qual-grid{
  display:grid;grid-template-columns:repeat(3,30.5rem);column-gap:4.03125rem;
  justify-content:center;margin-top:4.8375rem;
}
.qual-item{display:flex;flex-direction:column}
.qual-photo{height:22.75rem;border-radius:.5rem;overflow:hidden}
.qual-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.25,1)}
.qual-item:hover .qual-photo img{transform:scale(1.05)}
.qual-card{
  flex:1;background:#fff;border-radius:.75rem;padding:2.1rem 1.625rem 3.0625rem 4rem;margin-top:.5rem;
  box-shadow:0 1.75rem 3.75rem -2rem rgba(36,74,54,.22);
  transition:transform .5s cubic-bezier(.2,.8,.25,1);
}
.qual-item:hover .qual-card{transform:translateY(-6px)}
/* all three headings reserve the same two-line box so the figures + copy line up */
.qual-card h3{font-size:1.65rem;font-weight:700;color:var(--green);line-height:1.35;min-height:2.7em}
.qual-card b{display:block;font-family:var(--serif);font-size:2.82rem;font-weight:600;line-height:1;color:var(--green);margin-top:1.9rem;letter-spacing:.01em}
.qual-card p{font-size:1.45rem;line-height:2.525rem;color:#4a6052;margin-top:2.27rem}

/* ==========================================================================
   Responsive  < 1024px
   ========================================================================== */
@media (max-width:1023.98px){
  html{font-size:16px}

  .r-hero{height:auto;min-height:30rem;padding-bottom:2.5rem;
    background:linear-gradient(180deg,rgba(238,241,243,.95),rgba(238,241,243,.85)),url('../img/rd/banner.jpg') center bottom/cover no-repeat}
  .r-hero-bg{display:none}
  .r-hero-copy{padding:2.5rem 1.25rem 0;max-width:none}
  .r-eyebrow{font-size:.8125rem;gap:.875rem}
  .r-eyebrow::after{width:3rem}
  .r-hero-title{margin-top:1rem;line-height:1.14}
  .r-hero-title>span,.r-hero-title em{font-size:clamp(1.75rem,7.6vw,2.75rem)}
  .r-hero-text{margin-top:1rem;font-size:1rem;line-height:1.7;max-width:none}
  .r-stats{margin-top:1.5rem;margin-left:0;flex-wrap:wrap}
  .r-stat{width:50%;margin-bottom:1.25rem}
  .r-stat+.r-stat::before{display:none}
  .r-stat-ico{width:2.5rem;height:2.5rem}
  .r-stat-ico svg{width:1.25rem;height:1.25rem}
  .r-stat-num{font-size:1.25rem}
  .r-stat-lab{font-size:.8125rem}
  .r-hero-btn{margin-top:1.25rem;--h:3.25rem;width:auto;min-width:11.5rem;max-width:100%;padding:0 1.75rem;font-size:.9375rem}

  .s-inst,.s-measure,.s-talent,.s-innov,.s-qual{padding:3rem 0}
  .inst-head,.talent-head,.innov-head,.qual-head{text-align:left;padding:0 1.25rem}
  .inst-head .h2,.talent-head .h2,.innov-head .h2,.qual-head .h2,.meas-left .h2{font-size:clamp(1.5rem,6vw,2.25rem);margin-top:1rem;line-height:1.15}
  .inst-head .body-text,.talent-head .body-text,.innov-head .body-text{width:auto;margin:1rem 0 0;font-size:1rem;line-height:1.75}
  .inst-rows{width:auto;margin:2.5rem 0 0;gap:2.5rem;padding:0 1.25rem}
  .inst-row,.inst-row:nth-child(even){display:block}
  .inst-row .inst-media{order:0;width:100%;height:14rem;margin-bottom:1.5rem}
  .inst-copy h3{font-size:1.5rem;margin-top:1rem}
  .inst-copy p{font-size:.9375rem;line-height:1.7;margin-top:.75rem;max-width:none}
  .inst-badge{width:2.5rem;height:2.5rem;font-size:1.125rem}

  .meas-wrap{width:auto;margin:0;padding:0 1.25rem}
  .meas-grid{display:block}
  .meas-left .body-text{width:auto;font-size:1rem;line-height:1.75;margin-top:1rem}
  .meas-nums{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.75rem 0;margin-top:2rem}
  .meas-num{padding:0 .5rem}
  .meas-num:not(:nth-child(3n+1))::before{display:none}
  .meas-num b{font-size:1.75rem;line-height:1.2}
  .meas-num span{font-size:.8125rem}
  .meas-wide{width:100%;height:10rem;margin-top:2.5rem}

  .talent-list{margin-top:2.5rem;gap:2rem;padding:0 1.25rem}
  .talent-row,.talent-row.alt{display:flex;flex-direction:column;gap:1.5rem}
  .talent-row.alt .talent-card{order:-1}
  .talent-card,.talent-row.alt .talent-card{display:block;padding:1.25rem}
  .talent-row.alt .talent-card .talent-photo{order:0}
  .talent-photo{width:100%;height:16rem}
  .talent-name{font-size:1.625rem;margin-top:1rem}
  .talent-role,.talent-bio,.talent-bullets li{font-size:.9375rem}
  .talent-stats{flex-direction:row;justify-content:space-around;gap:1rem}
  .talent-stat b{font-size:3.5rem}
  .talent-stat span{font-size:1rem;letter-spacing:.05em;margin-top:.35rem}

  .pillars{width:auto;margin:2.5rem 0 0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem 1rem;padding:0 1.25rem}
  .pillar{padding:0}
  .pillar-ico{width:2.75rem;height:2.75rem}
  .pillar h3{font-size:1rem;margin-top:1rem;line-height:1.4}
  .pillar p{font-size:.875rem;margin-top:.75rem;line-height:1.6}

  .qual-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem .875rem;margin-top:2rem;padding:0 1.25rem;justify-content:stretch}
  .qual-item{gap:0}
  .qual-photo{height:11rem}
  .qual-card{padding:1.0625rem 1.125rem 1.25rem;margin-top:.75rem}
  .qual-card h3{font-size:1.0625rem;min-height:0}
  .qual-card b{font-size:1.75rem;margin-top:.75rem}
  .qual-card p{font-size:.9375rem;line-height:1.7;margin-top:.75rem}
}
@media (min-width:640px) and (max-width:1023.98px){
  .qual-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .qual-photo{height:15rem}
}
@media (max-width:639.98px){  html{font-size:14px} }
