/*
 * nhy-home.css — Xinhangyuan Homepage Styles
 */

/* =============================================
   1. HERO
   ============================================= */
.nhy-hero {
  position: relative;
  min-height: 0;
  background: var(--nhy-black);
  display: flex;
  align-items: center;
  overflow: hidden;
}
.nhy-hero-bg {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  background: linear-gradient(180deg, #04060e 0%, #080c1a 25%, #0a0e18 50%, #0c0c12 75%, var(--nhy-black) 100%);
}

/* Stars layer */
.nhy-hero-bg::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 50%;
  background-image:
    radial-gradient(1.5px 1.5px at  80px  35px, rgba(255,255,255,.55) 50%, transparent 100%),
    radial-gradient(1px   1px   at 220px  65px, rgba(255,255,255,.3)  50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 400px  25px, rgba(255,255,255,.5)  50%, transparent 100%),
    radial-gradient(1px   1px   at 550px  80px, rgba(255,255,255,.25) 50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 700px  45px, rgba(255,255,255,.4)  50%, transparent 100%),
    radial-gradient(1px   1px   at 900px  30px, rgba(255,255,255,.3)  50%, transparent 100%),
    radial-gradient(1px   1px   at 1100px 55px, rgba(255,255,255,.2)  50%, transparent 100%),
    radial-gradient(1px   1px   at 150px 110px, rgba(255,255,255,.2)  50%, transparent 100%),
    radial-gradient(1px   1px   at 350px  95px, rgba(255,255,255,.3)  50%, transparent 100%),
    radial-gradient(1px   1px   at 600px 120px, rgba(255,255,255,.15) 50%, transparent 100%),
    radial-gradient(1px   1px   at 850px 100px, rgba(255,255,255,.25) 50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 1250px 40px, rgba(255,255,255,.35) 50%, transparent 100%),
    radial-gradient(1px   1px   at 1050px 90px, rgba(255,255,255,.2)  50%, transparent 100%);
  -webkit-animation: nhyStarTwinkle 8s ease-in-out infinite alternate;
  animation: nhyStarTwinkle 8s ease-in-out infinite alternate;
}
@-webkit-keyframes nhyStarTwinkle { 0% { opacity: 1; } 100% { opacity: .55; } }
@keyframes nhyStarTwinkle { 0% { opacity: 1; } 100% { opacity: .55; } }

/* Horizon gold glow */
.nhy-hero-bg::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 55%;
  background:
    radial-gradient(ellipse 100% 50% at 50% 100%, rgba(201,168,76,.06) 0%, transparent 65%),
    radial-gradient(ellipse 60% 30% at 50% 100%, rgba(201,168,76,.04) 0%, transparent 50%),
    linear-gradient(0deg, rgba(20,18,12,.5) 0%, transparent 100%);
}

/* Skyline SVG layer */
.nhy-hero-skyline {
  position: absolute; bottom: -1px; left: 0; right: 0; height: 100%;
  z-index: 1; pointer-events: none;
}

/* Grid overlay */
.nhy-hero-grid {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1;
  background-image:
    linear-gradient(rgba(255,255,255,.01) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.01) 1px, transparent 1px);
  background-size: 60px 60px;
  -webkit-mask-image: linear-gradient(180deg, transparent, rgba(0,0,0,.15) 20%, rgba(0,0,0,.25) 50%, transparent 85%);
  mask-image: linear-gradient(180deg, transparent, rgba(0,0,0,.15) 20%, rgba(0,0,0,.25) 50%, transparent 85%);
  pointer-events: none;
}
.nhy-hero-inner {
  position: relative; z-index: 2;
  max-width: var(--nhy-max-w); margin: 0 auto; width: 100%;
  padding: 150px var(--nhy-pad) 80px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center;
}
.nhy-hero-eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 11px; letter-spacing: 4px; text-transform: uppercase;
  color: var(--nhy-gold); margin-bottom: 20px; font-weight: 500;
}
.nhy-hero h1 {
  font-family: 'Montserrat', sans-serif;
  font-size: 44px; font-weight: 900; line-height: 1.15;
  color: var(--nhy-white); margin-bottom: 20px; letter-spacing: -1px;
}
.nhy-hero h1 strong { font-weight: 900; }
.nhy-hero h1 em { font-style: normal; font-weight: 400; color: rgba(255,255,255,0.6); }
.nhy-hero-desc {
  font-family: 'Inter', sans-serif;
  font-size: var(--nhy-base-fs); line-height: 1.75; color: rgba(255,255,255,0.4);
  max-width: 420px; margin-bottom: 32px;
}
.nhy-hero-btns { display: flex; gap: 16px; align-items: center; }

.nhy-hero-img { position: relative; align-self: center; }
.nhy-hero-img-frame {
  position: relative; overflow: visible;
  min-height: 320px; max-height: 420px;
}
/* Seamless edge fade into black background — outer edges only */
.nhy-hero-img-frame::after {
  content: ''; position: absolute; top: -1px; right: -1px; bottom: -1px; left: -1px; z-index: 1;
  background:
    radial-gradient(ellipse 100% 100% at 50% 50%, transparent 55%, var(--nhy-black, #0A0A0A) 90%);
  pointer-events: none;
}
.nhy-hero-img-frame img {
  display: block; width: 100%; height: 100%; object-fit: contain;
  transition: transform 8s ease;
  -webkit-filter: drop-shadow(0 20px 60px rgba(0,0,0,0.6));
  filter: drop-shadow(0 20px 60px rgba(0,0,0,0.6));
}
.nhy-hero-img-frame:hover img { transform: scale(1.03); }
.nhy-hero-caption {
  position: absolute; bottom: 20px; left: 20px; right: 20px;
  z-index: 2;
  padding: 16px 20px;
  background: rgba(10,10,10,0.75);
  border: 1px solid rgba(255,255,255,0.08);
}
.nhy-hero-caption h3 { font-family: 'Montserrat', sans-serif; font-size: 15px; font-weight: 700; color: var(--nhy-white); margin-bottom: 2px; }
.nhy-hero-caption p { font-size: 11px; color: rgba(255,255,255,0.5); letter-spacing: 0.5px; }
.nhy-hero-specs { display: flex; gap: 16px; margin-top: 10px; }
.nhy-hero-specs span { font-size: 10px; color: var(--nhy-gold); letter-spacing: 1px; font-weight: 600; text-transform: uppercase; }

/* Hero placeholder */
.nhy-hero-ph {
  width: 100%; height: 100%; min-height: 400px;
  background: linear-gradient(145deg, #111, #1a1a1a);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  border: 1px solid rgba(201,168,76,0.1);
}
.nhy-hero-ph-title { font-family: 'Montserrat'; font-size: 14px; font-weight: 700; color: rgba(201,168,76,0.4); letter-spacing: 2px; text-transform: uppercase; text-align: center; line-height: 2; }
.nhy-hero-ph-sub { margin-top: 16px; font-size: 11px; color: rgba(255,255,255,0.15); letter-spacing: 2px; }

/* 2560 */
@media (min-width:1800px) {
  .nhy-hero h1 { font-size: 60px; }
  .nhy-hero-desc { font-size: 16px; max-width: 480px; }
  .nhy-hero-eyebrow { font-size: 12px; }
}

/* =============================================
   2. INTRO
   ============================================= */
.nhy-intro {
  padding: 80px var(--nhy-pad); max-width: var(--nhy-max-w); margin: 0 auto;
  display: flex; align-items: flex-start; justify-content: space-between; gap: 60px;
  border-bottom: 1px solid var(--nhy-gray-border);
}
.nhy-intro-left { max-width: 480px; }
.nhy-intro-left h2 {
  font-family: 'Montserrat', sans-serif; font-size: 32px; font-weight: 800;
  line-height: 1.35; color: var(--nhy-black); margin-bottom: 16px;
}
.nhy-intro-left p { font-family: 'Inter', sans-serif; font-size: 14px; color: var(--nhy-gray); line-height: 1.75; }
.nhy-intro-right { display: flex; gap: 48px; padding-top: 8px; }
.nhy-intro-stat { text-align: center; }
.nhy-intro-stat-val { font-family: 'Montserrat', sans-serif; font-size: 40px; font-weight: 900; color: var(--nhy-black); line-height: 1; }
.nhy-intro-stat-val span { color: var(--nhy-gold); }
.nhy-intro-stat-lab { font-family: 'Inter', sans-serif; font-size: 11px; color: var(--nhy-gray-light); margin-top: 6px; letter-spacing: 1px; }

@media (min-width:1800px) {
  .nhy-intro-left h2 { font-size: 36px; }
  .nhy-intro-left p { font-size: 15px; }
  .nhy-intro-stat-val { font-size: 48px; }
}

/* =============================================
   3. PRODUCTS
   ============================================= */
.nhy-products {  padding: 100px var(--nhy-pad) 120px;; max-width: var(--nhy-max-w); margin: 0 auto; }
.nhy-products-hdr { margin-bottom: 64px; }
.nhy-products-hdr-row { display: flex; align-items: flex-end; justify-content: space-between; }
.nhy-products-link {
  font-family: 'Inter', sans-serif; font-size: 12px; color: var(--nhy-gray);
  text-decoration: none; letter-spacing: 1px; display: flex; align-items: center; gap: 6px;
  transition: color 0.3s; font-weight: 500;
}
.nhy-products-link:hover { color: var(--nhy-black); }
.nhy-products-link svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; }

.nhy-pgrid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; overflow: hidden; }
.nhy-pitem { cursor: pointer; transition: all 0.3s; min-width: 0; }
a.nhy-pitem { text-decoration: none; color: inherit; display: block; overflow: hidden; }
a.nhy-pitem:hover { text-decoration: none; }
.nhy-pitem:hover .nhy-pitem-name { color: var(--nhy-gold); }

.nhy-pitem-img {
  aspect-ratio: 1/1; min-height: 200px; overflow: hidden;
  background: var(--nhy-gray-bg); margin-bottom: 16px; position: relative;
  width: 100%;
}
.nhy-pitem-img img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 24px; transition: transform 0.6s ease; max-width: 100%; }
.nhy-pitem:hover .nhy-pitem-img img { transform: scale(1.06); }
.nhy-pitem-img::after {
  content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0;
  background: rgba(10,10,10,0); transition: background 0.4s; pointer-events: none;
}
.nhy-pitem:hover .nhy-pitem-img::after { background: rgba(10,10,10,0.08); }

.nhy-pitem-name { font-family: 'Montserrat', sans-serif; font-size: 14px; font-weight: 600; color: var(--nhy-black); margin-bottom: 4px; transition: color 0.3s; }
.nhy-pitem-desc { font-family: 'Inter', sans-serif; font-size: 12px; color: var(--nhy-gray); line-height: 1.5; }
.nhy-pmore { text-align: center; margin-top: 48px; }

@media (min-width:1800px) {
  .nhy-pitem-name { font-size: 15px; }
  .nhy-pitem-desc { font-size: 13px; }
}

/* =============================================
   4. APPLICATIONS
   ============================================= */
.nhy-apps { background: var(--nhy-off-white); padding: 100px 0; }
.nhy-apps-inner { max-width: var(--nhy-max-w); margin: 0 auto; padding: 0 var(--nhy-pad); }
.nhy-apps-hdr { margin-bottom: 64px; }

.nhy-arow { display: grid; gap: 24px; margin-bottom: 24px; }
.nhy-arow--2 { grid-template-columns: 1fr 1fr; }
.nhy-arow--3 { grid-template-columns: 1fr 1fr 1fr; }
.nhy-arow--wide { grid-template-columns: 1.5fr 1fr; }

.nhy-acard { position: relative; overflow: hidden; cursor: pointer; min-height: 300px; background: var(--nhy-gray-bg); }
.nhy-acard--tall { min-height: 400px; }
.nhy-acard img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s ease; }
.nhy-acard:hover img { transform: scale(1.04); }

.nhy-acard-overlay {
  position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 3;
  background: linear-gradient(0deg, rgba(10,10,10,0.7) 0%, rgba(10,10,10,0.15) 60%, transparent 100%);
  display: flex; flex-direction: column; justify-content: flex-end; padding: 32px;
  transition: background 0.4s;
}
.nhy-acard:hover .nhy-acard-overlay { background: linear-gradient(0deg, rgba(10,10,10,0.8) 0%, rgba(10,10,10,0.25) 60%, transparent 100%); }
.nhy-acard-overlay h3 { font-family: 'Montserrat', sans-serif; font-size: 22px; font-weight: 700; color: var(--nhy-white); margin-bottom: 4px; }
.nhy-acard-overlay p { font-family: 'Inter', sans-serif; font-size: 12px; color: rgba(255,255,255,0.5); line-height: 1.6; }

.nhy-ascene {
  width: 100%; height: 100%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #1a1a1a, #2a2a2a);
  position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1;
}
.nhy-ascene svg { width: 48px; height: 48px; stroke: rgba(255,255,255,0.12); stroke-width: 1; fill: none; }
.nhy-ascene span { font-size: 9px; color: rgba(255,255,255,0.15); margin-top: 8px; letter-spacing: 2px; text-transform: uppercase; }

/* =============================================
   5. WHY US
   ============================================= */
.nhy-why { padding: 100px var(--nhy-pad); max-width: var(--nhy-max-w); margin: 0 auto; }
.nhy-why-layout { display: grid; grid-template-columns: 0.45fr 0.55fr; gap: 72px; align-items: center; }

.nhy-why-img { position: relative; }
.nhy-why-imgframe { overflow: hidden; aspect-ratio: 4/3; }
.nhy-why-imgframe img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 6s ease; }
.nhy-why-imgframe:hover img { transform: scale(1.03); }

.nhy-why-imgframe .nhy-ph-light { min-height: 400px; }
.nhy-trust-fimg .nhy-ph-dark { height: 300px; }

.nhy-why-stats {
  position: absolute; bottom: 0; left: 0; right: 0; z-index: 2;
  padding: 24px 28px;
  background: rgba(10,10,10,0.88);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  display: flex; justify-content: space-around;
}
.nhy-why-stat { text-align: center; }
.nhy-why-statval { font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: 700; color: var(--nhy-gold); }
.nhy-why-statlab { font-size: 10px; color: rgba(255,255,255,0.35); margin-top: 3px; letter-spacing: 0.5px; }

.nhy-why-text .nhy-sec-title { margin-bottom: 32px; }
.nhy-why-list { display: flex; flex-direction: column; }
.nhy-why-item {
  display: grid; grid-template-columns: 40px 1fr; gap: 16px;
  padding: 20px 0; border-bottom: 1px solid var(--nhy-gray-border); transition: all 0.3s;
}
.nhy-why-item:first-child { padding-top: 0; }
.nhy-why-item:last-child { border-bottom: none; }
.nhy-why-item:hover .nhy-why-num { color: var(--nhy-gold); }
.nhy-why-num { font-family: 'Space Mono', monospace; font-size: 14px; font-weight: 700; color: var(--nhy-gray-light); transition: color 0.3s; }
.nhy-why-item h3 { font-family: 'Montserrat', sans-serif; font-size: 15px; font-weight: 700; color: var(--nhy-black); margin-bottom: 4px; }
.nhy-why-item p { font-family: 'Inter', sans-serif; font-size: 13px; color: var(--nhy-gray); line-height: 1.65; }

/* =============================================
   6. TRUST (CERTIFICATES & FACTORY)
   ============================================= */
.nhy-trust { background: var(--nhy-black); padding: 100px 0; overflow: hidden; }
.nhy-trust-inner { max-width: var(--nhy-max-w); margin: 0 auto; padding: 0 var(--nhy-pad); }
.nhy-trust-hdr { margin-bottom: 56px; }
.nhy-trust-hdr .nhy-sec-tag { color: var(--nhy-gold); }
.nhy-trust-hdr .nhy-sec-title { color: var(--nhy-white); }

.nhy-trust-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }

.nhy-trust-label { font-family: 'Inter', sans-serif; font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: var(--nhy-gold); margin-bottom: 16px; font-weight: 600; }

.nhy-trust-fimg { overflow: hidden; margin-bottom: 20px; position: relative; }
.nhy-trust-fimg img { width: 100%; height: 300px; object-fit: cover; display: block; transition: transform 6s ease; }
.nhy-trust-fimg:hover img { transform: scale(1.03); }

.nhy-trust-finfo { display: flex; gap: 32px; }
.nhy-trust-fval { font-family: 'Montserrat', sans-serif; font-size: 28px; font-weight: 900; color: var(--nhy-white); }
.nhy-trust-fval span { color: var(--nhy-gold); }
.nhy-trust-flab { font-size: 11px; color: rgba(255,255,255,0.35); margin-top: 3px; }

.nhy-certs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.nhy-cert {
  padding: 24px 20px; background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06); transition: all 0.35s; text-align: center;
}
.nhy-cert:hover { border-color: rgba(201,168,76,0.2); background: rgba(255,255,255,0.05); }
.nhy-cert-ph {
  width: 100%; height: 80px; margin-bottom: 12px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.02); border: 1px dashed rgba(255,255,255,0.08);
}
.nhy-cert-ph span { font-size: 8px; color: rgba(255,255,255,0.15); letter-spacing: 1px; text-transform: uppercase; }
.nhy-cert h4 { font-family: 'Montserrat', sans-serif; font-size: 14px; font-weight: 700; color: var(--nhy-white); margin-bottom: 4px; }
.nhy-cert p { font-family: 'Inter', sans-serif; font-size: 11px; color: rgba(255,255,255,0.35); line-height: 1.5; }

/* =============================================
   7. PARTNERS
   ============================================= */
.nhy-partners { padding: 72px var(--nhy-pad); max-width: var(--nhy-max-w); margin: 0 auto; border-bottom: 1px solid var(--nhy-gray-border); }
.nhy-partners-hdr { display: flex; align-items: center; justify-content: space-between; margin-bottom: 40px; }
.nhy-partners-hdr h3 { font-family: 'Montserrat', sans-serif; font-size: 16px; font-weight: 700; color: var(--nhy-black); }
.nhy-partners-hdr p { font-family: 'Inter', sans-serif; font-size: 12px; color: var(--nhy-gray-light); letter-spacing: 0.5px; }

.nhy-partners-track { overflow: hidden; position: relative; }
.nhy-partners-track::before,
.nhy-partners-track::after {
  content: ''; position: absolute; top: 0; bottom: 0; width: 80px; z-index: 2; pointer-events: none;
}
.nhy-partners-track::before { left: 0; background: linear-gradient(90deg, var(--nhy-white), transparent); }
.nhy-partners-track::after { right: 0; background: linear-gradient(270deg, var(--nhy-white), transparent); }

.nhy-partners-scroll {
  display: flex; gap: 48px; align-items: center;
  animation: nhyLogoScroll 25s linear infinite;
  width: -webkit-max-content; width: max-content;
}
@keyframes nhyLogoScroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

.nhy-plogo {
  height: 56px; width: 160px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; opacity: 0.55; transition: opacity 0.3s;
  -webkit-filter: grayscale(1); filter: grayscale(1);
}
.nhy-plogo:hover { opacity: 1; -webkit-filter: grayscale(0); filter: grayscale(0); }
.nhy-plogo-ph {
  height: 40px; padding: 0 20px;
  display: flex; align-items: center; justify-content: center;
  border: 1px dashed var(--nhy-gray-border); border-radius: 4px;
}
.nhy-plogo-ph span { font-size: 10px; color: var(--nhy-gray-light); letter-spacing: 1px; text-transform: uppercase; white-space: nowrap; }

/* Real logo image styling - inherits grayscale + opacity from .nhy-plogo */
.nhy-plogo img {
  display: block;
  width: 100%; height: 100%;
  max-width: 100%; max-height: 100%;
  -o-object-fit: contain; object-fit: contain;
  -o-object-position: center; object-position: center;
}

/* Pause on hover - CSS only, no JS needed */
.nhy-partners-track:hover .nhy-partners-scroll { animation-play-state: paused; }

/* =============================================
   8. ABOUT
   ============================================= */
.nhy-about { padding: 100px var(--nhy-pad); max-width: var(--nhy-max-w); margin: 0 auto; border-top: 1px solid var(--nhy-gray-border); }
.nhy-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }

.nhy-about-text .nhy-sec-tag { color: var(--nhy-gold); }
.nhy-about-text h2 { font-family: 'Montserrat', sans-serif; font-size: 32px; font-weight: 800; color: var(--nhy-black); line-height: 1.35; margin-bottom: 20px; }
.nhy-about-text > p { font-family: 'Inter', sans-serif; font-size: 14px; color: var(--nhy-gray); line-height: 1.8; margin-bottom: 32px; }

.nhy-about-feats { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.nhy-about-feat { padding: 14px 0; border-bottom: 1px solid var(--nhy-gray-border); }
.nhy-about-feat h4 { font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 700; color: var(--nhy-black); margin-bottom: 3px; display: flex; align-items: center; gap: 6px; }
.nhy-about-feat h4::before { content: ''; width: 6px; height: 2px; background: var(--nhy-gold); }
.nhy-about-feat p { font-family: 'Inter', sans-serif; font-size: 11px; color: var(--nhy-gray-light); padding-left: 12px; }

.nhy-about-img { overflow: hidden; }
.nhy-about-img img { width: 100%; height: 420px; object-fit: cover; display: block; transition: transform 6s ease; }
.nhy-about-img:hover img { transform: scale(1.03); }

@media (min-width:1800px) {
  .nhy-about-text h2 { font-size: 36px; }
  .nhy-about-text > p { font-size: 15px; }
}

/* =============================================
   9. CTA
   ============================================= */
.nhy-cta { background: var(--nhy-black); padding: 100px var(--nhy-pad); text-align: center; }
.nhy-cta-inner { max-width: 560px; margin: 0 auto; }
.nhy-cta-inner .nhy-sec-tag { color: var(--nhy-gold); }
.nhy-cta-inner h2 { font-family: 'Montserrat', sans-serif; font-size: 32px; font-weight: 800; color: var(--nhy-white); margin-bottom: 16px; line-height: 1.35; }
.nhy-cta-inner p { font-family: 'Inter', sans-serif; font-size: 14px; color: rgba(255,255,255,0.55); line-height: 1.8; margin-bottom: 40px; }
.nhy-cta-btns { display: flex; justify-content: center; gap: 16px; }
.nhy-cta-trust { margin-top: 40px; display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.nhy-cta-trust span { font-size: 11px; color: rgba(255,255,255,0.4); letter-spacing: 1px; text-transform: uppercase; }

/* =============================================
   RESPONSIVE: TABLET (≤1080px)
   ============================================= */
@media (max-width:1080px) {
  .nhy-hero-inner { grid-template-columns: 1fr; gap: 48px; padding: 110px 32px 60px; }
  .nhy-hero h1 { font-size: 40px; }
  .nhy-hero-img { max-width: 500px; margin: 0 auto; }
  .nhy-intro { flex-direction: column; gap: 32px; padding-left: 32px; padding-right: 32px; }
  .nhy-products { padding-left: 32px; padding-right: 32px; overflow: hidden; }
  .nhy-pgrid { grid-template-columns: repeat(2,1fr); }
  .nhy-pitem-img { min-height: unset; }
  .nhy-pitem-img img { object-fit: contain; padding: 16px; }
  .nhy-apps-inner { padding: 0 32px; }
  .nhy-arow--2, .nhy-arow--3, .nhy-arow--wide { grid-template-columns: 1fr 1fr; }
  .nhy-why { padding-left: 32px; padding-right: 32px; }
  .nhy-why-layout { grid-template-columns: 1fr; gap: 40px; }
  .nhy-why-img { max-width: 400px; }
  .nhy-trust-inner { padding: 0 32px; }
  .nhy-trust-grid { grid-template-columns: 1fr; }
  .nhy-partners { padding: 48px 32px; }
  .nhy-about { padding-left: 32px; padding-right: 32px; }
  .nhy-about-grid { grid-template-columns: 1fr; gap: 40px; }
  .nhy-cta { padding-left: 32px; padding-right: 32px; }
  .nhy-sec-title { font-size: 30px; }
}

/* =============================================
   RESPONSIVE: MOBILE (≤640px)
   ============================================= */
@media (max-width:640px) {
  .nhy-hero { min-height: auto; }
  .nhy-hero-inner { padding: 90px 16px 40px; gap: 32px; }
  .nhy-hero h1 { font-size: 30px; letter-spacing: -0.5px; margin-bottom: 16px; }
  .nhy-hero h1 em { display: block; margin-top: 4px; }
  .nhy-hero-eyebrow { font-size: 9px; letter-spacing: 3px; margin-bottom: 20px; }
  .nhy-hero-desc { font-size: 13px; line-height: 1.8; margin-bottom: 28px; }
  .nhy-hero-btns { flex-direction: column; align-items: stretch; gap: 10px; }
  .nhy-hero-img-frame { max-height: 300px; min-height: 240px; }
  .nhy-hero-caption { padding: 14px 16px; bottom: 12px; left: 12px; right: 12px; }
  .nhy-hero-caption h3 { font-size: 14px; }
  .nhy-hero-specs span { font-size: 9px; }

  .nhy-intro { padding: 36px 16px; gap: 24px; }
  .nhy-intro-left h2 { font-size: 22px; }
  .nhy-intro-left p { font-size: 13px; }
  .nhy-intro-right { gap: 24px; justify-content: space-between; width: 100%; }
  .nhy-intro-stat-val { font-size: 28px; }
  .nhy-intro-stat-lab { font-size: 9px; }

  .nhy-products { padding: 48px 16px; overflow: hidden; }
  .nhy-products-hdr { margin-bottom: 36px; }
  .nhy-products-hdr-row { flex-direction: column; align-items: flex-start; gap: 12px; }
  .nhy-sec-tag { font-size: 10px; letter-spacing: 3px; }
  .nhy-sec-title { font-size: 26px; }
  .nhy-pgrid { grid-template-columns: 1fr 1fr; gap: 12px; overflow: hidden; }
  .nhy-pitem-img { min-height: unset; aspect-ratio: 1/1; width: 100%; max-height: 180px; }
  .nhy-pitem-img img { object-fit: contain; padding: 12px; max-width: 100%; height: auto; }
  .nhy-pitem-name { font-size: 12px; line-height: 1.3; word-break: break-word; overflow-wrap: break-word; }
  .nhy-pitem-desc { font-size: 10px; word-break: break-word; }
  .nhy-pitem-desc { font-size: 10px; }
  .nhy-pmore .nhy-btn-outline { width: 100%; }

  .nhy-apps { padding: 48px 0; }
  .nhy-apps-inner { padding: 0 16px; }
  .nhy-apps-hdr { margin-bottom: 36px; }
  .nhy-arow--2, .nhy-arow--3, .nhy-arow--wide { grid-template-columns: 1fr; }
  .nhy-arow { gap: 12px; margin-bottom: 12px; }
  .nhy-acard { min-height: 200px; }
  .nhy-acard--tall { min-height: 240px; }
  .nhy-acard-overlay { padding: 20px; }
  .nhy-acard-overlay h3 { font-size: 20px; }

  .nhy-why { padding: 48px 16px; }
  .nhy-why-layout { grid-template-columns: 1fr; gap: 32px; }
  .nhy-why-img { max-width: 100%; }
  .nhy-why-imgframe { aspect-ratio: 4/3; }
  .nhy-why-stats { padding: 16px 20px; }
  .nhy-why-statval { font-size: 20px; }
  .nhy-why-item { grid-template-columns: 32px 1fr; gap: 12px; padding: 16px 0; }
  .nhy-why-item h3 { font-size: 14px; }
  .nhy-why-item p { font-size: 12px; }

  .nhy-trust { padding: 48px 0; }
  .nhy-trust-inner { padding: 0 16px; }
  .nhy-trust-grid { grid-template-columns: 1fr; gap: 36px; }
  .nhy-trust-finfo { gap: 20px; }
  .nhy-trust-fval { font-size: 22px; }
  .nhy-certs-grid { gap: 8px; }
  .nhy-cert { padding: 16px 12px; }
  .nhy-cert h4 { font-size: 12px; }
  .nhy-cert p { font-size: 10px; }

  .nhy-partners { padding: 36px 16px; }
  .nhy-partners-hdr { flex-direction: column; align-items: flex-start; gap: 4px; margin-bottom: 24px; }
  .nhy-partners-hdr h3 { font-size: 14px; }
  .nhy-partners-scroll { gap: 32px; }
  .nhy-plogo { height: 44px; width: 120px; }
  .nhy-partners-track::before, .nhy-partners-track::after { width: 40px; }

  .nhy-about { padding: 48px 16px; }
  .nhy-about-grid { grid-template-columns: 1fr; gap: 32px; }
  .nhy-about-text h2 { font-size: 26px; }
  .nhy-about-text > p { font-size: 13px; }
  .nhy-about-feats { grid-template-columns: 1fr; }
  .nhy-about-img img { height: 280px; }

  .nhy-cta { padding: 48px 16px; }
  .nhy-cta-inner h2 { font-size: 24px; }
  .nhy-cta-inner p { font-size: 13px; }
  .nhy-cta-btns { flex-direction: column; align-items: stretch; }
  .nhy-cta-trust { gap: 8px; margin-top: 28px; }
  .nhy-cta-trust span { font-size: 9px; }
}

/* RESPONSIVE: SMALL PHONE (≤380px) */
@media (max-width:380px) {
  .nhy-hero h1 { font-size: 26px; }
  .nhy-hero-inner { padding: 80px 12px 40px; }
  .nhy-intro-right { flex-direction: column; gap: 16px; align-items: flex-start; }
  .nhy-pgrid { grid-template-columns: 1fr; gap: 16px; }
  .nhy-sec-title { font-size: 22px; }
  .nhy-cta-inner h2 { font-size: 22px; }
  .nhy-why-stats { flex-direction: column; gap: 12px; align-items: center; }
}

/* news */
.nhy-news { background: var(--nhy-black); padding: 100px 0; overflow: hidden; }
.nhy-news-inner { max-width: var(--nhy-max-w); margin: 0 auto; padding: 0 var(--nhy-pad); }
.nhy-news-hdr { margin-bottom: 56px; }
.nhy-news-hdr .nhy-sec-tag { color: var(--nhy-gold); }
.nhy-news-hdr .nhy-sec-title { color: var(--nhy-white); }

/* Grid: 第1篇大卡片占左侧3行，右侧堆叠3篇小卡片，底部2篇横排 */
.nhy-news-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto auto auto;
  gap: 24px;
}

/* Featured card (第1篇) spans 3 rows — 与右侧3张小卡片等高 */
.nhy-news-card--featured {
  grid-row: 1 / 4;
}

/* 底部第5、6篇：横排小卡片 */
.nhy-news-card:nth-child(5),
.nhy-news-card:nth-child(6) {
  flex-direction: row;
}
.nhy-news-card:nth-child(5) .nhy-news-img,
.nhy-news-card:nth-child(6) .nhy-news-img {
  width: 200px;
  min-width: 200px;
  height: auto;
}
.nhy-news-card:nth-child(5) .nhy-news-body,
.nhy-news-card:nth-child(6) .nhy-news-body {
  padding: 20px;
}

/* Card base */
.nhy-news-card {
  display: flex;
  flex-direction: column;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.3s, background 0.3s;
}
.nhy-news-card:hover {
  border-color: rgba(201,168,76,0.2);
  background: rgba(255,255,255,0.05);
  text-decoration: none;
}

/* Card image */
.nhy-news-img {
  overflow: hidden;
  position: relative;
  background: linear-gradient(135deg, #1a1a1a, #252525);
}
.nhy-news-card--featured .nhy-news-img {
  height: 100%;
  min-height: 300px;
}
.nhy-news-card:not(.nhy-news-card--featured) .nhy-news-img {
  height: 180px;
}
.nhy-news-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.nhy-news-card:hover .nhy-news-img img {
  transform: scale(1.04);
}

/* Card body */
.nhy-news-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.nhy-news-card--featured .nhy-news-body {
  padding: 28px;
}

/* Meta: category + date */
.nhy-news-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.nhy-news-cat {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--nhy-gold);
}
.nhy-news-date {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  color: rgba(255,255,255,0.3);
}

/* Title */
.nhy-news-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  color: var(--nhy-white);
  line-height: 1.35;
  margin-bottom: 8px;
  transition: color 0.3s;
}
.nhy-news-card--featured .nhy-news-title {
  font-size: 22px;
}
.nhy-news-card:not(.nhy-news-card--featured) .nhy-news-title {
  font-size: 15px;
}
.nhy-news-card:hover .nhy-news-title {
  color: var(--nhy-gold);
}

/* Excerpt (featured only) */
.nhy-news-excerpt {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: rgba(255,255,255,0.4);
  line-height: 1.7;
  margin-bottom: 16px;
}

/* Read more */
.nhy-news-more {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: var(--nhy-gold);
  letter-spacing: 0.5px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  transition: opacity 0.3s;
}
.nhy-news-more svg {
  stroke: currentColor;
  fill: none;
  transition: transform 0.3s;
}
.nhy-news-card:hover .nhy-news-more svg {
  transform: translateX(3px);
}

/* Small cards: horizontal layout */
.nhy-news-card:not(.nhy-news-card--featured) {
  flex-direction: row;
}
.nhy-news-card:not(.nhy-news-card--featured) .nhy-news-img {
  width: 200px;
  min-width: 200px;
  height: auto;
}
.nhy-news-card:not(.nhy-news-card--featured) .nhy-news-body {
  padding: 20px;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1080px) {
  .nhy-news-inner { padding: 0 32px; }
  .nhy-news-grid { grid-template-columns: 1fr; }
  .nhy-news-card--featured { grid-row: auto; }
  .nhy-news-card--featured .nhy-news-img { min-height: 240px; height: 240px; }
  .nhy-news-card:not(.nhy-news-card--featured) { flex-direction: row; }
  .nhy-news-card:nth-child(5) .nhy-news-img,
  .nhy-news-card:nth-child(6) .nhy-news-img { width: 160px; min-width: 160px; }
}

@media (max-width: 640px) {
  .nhy-news { padding: 48px 0; }
  .nhy-news-inner { padding: 0 16px; }
  .nhy-news-grid { gap: 16px; }
  .nhy-news-card--featured .nhy-news-img { min-height: 200px; height: 200px; }
  .nhy-news-card--featured .nhy-news-title { font-size: 18px; }
  .nhy-news-card:not(.nhy-news-card--featured) { flex-direction: column; }
  .nhy-news-card:not(.nhy-news-card--featured) .nhy-news-img { width: 100%; height: 160px; }
  .nhy-news-card:not(.nhy-news-card--featured) .nhy-news-title { font-size: 14px; }
  .nhy-news-card:nth-child(5) .nhy-news-img,
  .nhy-news-card:nth-child(6) .nhy-news-img { width: 100%; height: 160px; min-width: unset; }
}

@media (min-width: 1800px) {
  .nhy-news-card--featured .nhy-news-title { font-size: 26px; }
  .nhy-news-card:not(.nhy-news-card--featured) .nhy-news-title { font-size: 16px; }
  .nhy-news-excerpt { font-size: 14px; }
}



.nhy-faq {
  padding: 100px var(--nhy-pad) 120px;
  max-width: var(--nhy-max-w);
  margin: 0 auto;
  border-top: 1px solid var(--nhy-gray-border);
}
.nhy-faq-hdr { margin-bottom: 56px; }

/* 一行2条 */
.nhy-faq-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 48px;
}

/* details/summary reset */
.nhy-faq-item {
  border-bottom: 1px solid var(--nhy-gray-border);
}
.nhy-faq-item summary { list-style: none; }
.nhy-faq-item summary::-webkit-details-marker { display: none; }
.nhy-faq-item summary::marker { display: none; content: ''; }

/* Question */
.nhy-faq-q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 0;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}
.nhy-faq-q span {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--nhy-black);
  line-height: 1.45;
  transition: color 0.3s;
}
.nhy-faq-q:hover span { color: var(--nhy-gold); }

/* Arrow */
.nhy-faq-q svg {
  flex-shrink: 0;
  color: var(--nhy-gray-light);
  transition: transform 0.3s, color 0.3s;
}
.nhy-faq-item[open] .nhy-faq-q svg {
  transform: rotate(180deg);
  color: var(--nhy-gold);
}

/* Answer */
.nhy-faq-a { padding: 0 0 20px 0; }
.nhy-faq-a p {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: var(--nhy-gray);
  line-height: 1.75;
  padding-right: 36px;
  margin: 0;
}

/* Open state */
.nhy-faq-item[open] {
  border-left: 3px solid var(--nhy-gold);
  padding-left: 16px;
}
.nhy-faq-item[open] .nhy-faq-q span { color: var(--nhy-gold); }

/* ===== RESPONSIVE ===== */
@media (max-width: 1080px) {
  .nhy-faq { padding-left: 32px; padding-right: 32px; }
  .nhy-faq-grid { gap: 0 32px; }
}
@media (max-width: 640px) {
  .nhy-faq { padding: 48px 16px; }
  .nhy-faq-grid { grid-template-columns: 1fr; }
  .nhy-faq-q span { font-size: 14px; }
  .nhy-faq-a p { font-size: 13px; padding-right: 0; }
}
@media (min-width: 1800px) {
  .nhy-faq-q span { font-size: 16px; }
  .nhy-faq-a p { font-size: 15px; }
  .nhy-faq-grid { gap: 0 64px; }
}
