/* VALCAST - Industrial Valve Manufacturer
   阀门铭牌工业风: 暖砂白底 / 手轮红强调 / 铸钢炭深色
   卡片语言: 1px 细边框, hover 整框变红 (无左边条) */

:root{
  --c-bg:#F5F4F2;
  --c-card:#FFFFFF;
  --c-coal:#1F2225;
  --c-coal-2:#2A2E32;
  --c-red:#A83226;
  --c-red-deep:#8C2A20;
  --c-ink:#23262A;
  --c-mute:#6B7076;
  --c-line:#DCDAD5;
  --c-line-dark:#3A3F44;
  --r:4px;
  --shell:min(144rem,calc(100% - 8rem));
  --font:'HarmonyOS Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{font-size:clamp(9px,0.6945vw,11px);scroll-behavior:smooth;}
body{font-family:var(--font);font-size:1.6rem;line-height:1.65;color:var(--c-ink);background:var(--c-bg);-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;}
.index_shell{width:var(--shell);margin:0 auto;}

/* ---------- buttons ---------- */
.index_btn{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;font-family:var(--font);font-size:1.5rem;font-weight:700;letter-spacing:.02em;padding:1.5rem 3.2rem;border-radius:var(--r);cursor:pointer;transition:background .25s,color .25s,border-color .25s;}
.index_btn--solid{background:var(--c-red);color:#fff;border:1px solid var(--c-red);}
.index_btn--solid:hover{background:var(--c-red-deep);border-color:var(--c-red-deep);}
.index_btn--line{background:transparent;color:var(--c-ink);border:1px solid var(--c-ink);}
.index_btn--line:hover{background:var(--c-ink);color:#fff;}

/* ---------- navbar ---------- */
.navbar{position:sticky;top:0;z-index:100;background:rgba(245,244,242,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--c-line);}
.navbar-inner{width:var(--shell);margin:0 auto;display:flex;align-items:center;gap:4rem;height:7.6rem;}
.navbar-logo{display:flex;align-items:center;gap:1.1rem;}
.navbar-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:3.4rem;height:3.4rem;background:var(--c-red);color:#fff;font-size:1.35rem;font-weight:900;letter-spacing:.04em;border-radius:var(--r);}
.navbar-logo-text{font-size:1.9rem;font-weight:900;letter-spacing:.14em;color:var(--c-coal);}
.navbar-nav{display:flex;gap:3.2rem;margin-left:auto;}
.navbar-nav a{font-size:1.5rem;font-weight:500;color:var(--c-ink);transition:color .2s;}
.navbar-nav a:hover{color:var(--c-red);}
.navbar-cta{font-size:1.45rem;font-weight:700;color:#fff;background:var(--c-coal);padding:1.1rem 2.4rem;border-radius:var(--r);transition:background .25s;}
.navbar-cta:hover{background:var(--c-red);}
.navbar-burger{display:none;background:none;border:0;font-size:2.6rem;color:var(--c-coal);cursor:pointer;}
.navbar-mobile{display:none;flex-direction:column;gap:.4rem;padding:1.6rem 4rem 2.4rem;background:var(--c-bg);border-top:1px solid var(--c-line);}
.navbar-mobile a{padding:1rem 0;font-size:1.6rem;font-weight:600;border-bottom:1px solid var(--c-line);}
.navbar-mobile-cta{color:var(--c-red);}
.navbar.is-open .navbar-mobile{display:flex;}

/* ---------- hero ---------- */
.index_hero{padding:6.4rem 0 0;}
.index_hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:6.4rem;align-items:center;}
.index_hero-media{border-radius:var(--r);overflow:hidden;border:1px solid var(--c-line);}
.index_hero-copy h1{font-size:4.6rem;line-height:1.14;font-weight:900;color:var(--c-coal);letter-spacing:-.01em;}
.index_hero-copy>p{margin-top:2.4rem;font-size:1.7rem;color:var(--c-mute);max-width:56rem;}
.index_hero-actions{margin-top:3.4rem;display:flex;gap:1.6rem;flex-wrap:wrap;}
.index_hero-facts{margin-top:4.4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:3.2rem;border-top:1px solid var(--c-line);padding-top:3rem;}
.index_hero-facts dt{font-size:2.9rem;font-weight:900;color:var(--c-red);font-variant-numeric:tabular-nums;}
.index_hero-facts dd{margin-top:.5rem;font-size:1.35rem;color:var(--c-mute);}
.index_certbar{margin-top:6.4rem;background:var(--c-coal);}
.index_certbar-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2rem 3.6rem;padding:2.1rem 0;}
.index_certbar-row span{display:inline-flex;align-items:center;gap:1rem;font-size:1.42rem;font-weight:600;color:#E8E6E1;letter-spacing:.03em;}
.index_certbar-row i{font-size:1.9rem;color:#C96A5F;}

/* ---------- section head ---------- */
.index_head{text-align:center;margin-bottom:5.6rem;}
.index_head h2{font-size:3.6rem;font-weight:900;color:var(--c-coal);letter-spacing:-.01em;}
.index_head p{margin:1.8rem auto 0;max-width:78rem;font-size:1.6rem;color:var(--c-mute);}

/* ---------- valves catalog ---------- */
.index_valves{padding:10rem 0;}
.index_valves-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.8rem;}
.index_valve{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r);overflow:hidden;transition:border-color .3s,box-shadow .3s;}
.index_valve:hover{border-color:var(--c-red);box-shadow:0 1.6rem 4rem rgba(31,34,37,.10);}
.index_valve figure{background:#EDECEA;}
.index_valve img{transition:transform .45s;}
.index_valve:hover img{transform:scale(1.04);}
.index_valve-body{padding:2.6rem 2.8rem 2.8rem;}
.index_valve-body h3{font-size:2.05rem;font-weight:900;color:var(--c-coal);}
.index_valve-body p{margin-top:1.1rem;font-size:1.45rem;color:var(--c-mute);}
.index_plate{margin-top:2rem;display:flex;justify-content:space-between;gap:1.2rem;background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--r);padding:1.1rem 1.6rem;}
.index_plate span{font-size:1.3rem;font-weight:700;color:var(--c-coal);letter-spacing:.05em;font-variant-numeric:tabular-nums;white-space:nowrap;}

/* ---------- foundry ---------- */
.index_foundry{padding:10rem 0;background:var(--c-card);border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);}
.index_foundry-media{display:grid;grid-template-columns:repeat(3,1fr);gap:2.8rem;}
.index_foundry-media figure{border-radius:var(--r);overflow:hidden;border:1px solid var(--c-line);background:var(--c-bg);}
.index_foundry-media figcaption{padding:1.5rem 2rem;font-size:1.38rem;font-weight:600;color:var(--c-ink);border-top:1px solid var(--c-line);}
.index_steps{margin-top:6rem;display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.index_steps::before{content:"";position:absolute;top:.7rem;left:2%;right:2%;height:1px;background:var(--c-line);}
.index_steps li{position:relative;padding:3.2rem 3.2rem 0 0;}
.index_steps li::before{content:"";position:absolute;top:0;left:0;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--c-red);border:3px solid var(--c-card);box-shadow:0 0 0 1px var(--c-line);}
.index_steps-no{font-size:1.25rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-red);}
.index_steps h3{margin-top:.8rem;font-size:1.95rem;font-weight:900;color:var(--c-coal);}
.index_steps p{margin-top:.9rem;font-size:1.42rem;color:var(--c-mute);}

/* ---------- quality (dark) ---------- */
.index_quality{padding:10rem 0;background:var(--c-coal);color:#E8E6E1;}
.index_quality-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:6.4rem;align-items:center;}
.index_quality-copy h2{font-size:3.6rem;font-weight:900;color:#fff;letter-spacing:-.01em;}
.index_quality-copy>p{margin-top:2rem;font-size:1.6rem;color:#B9BCB9;}
.index_quality-list{margin-top:3.2rem;display:grid;gap:1.6rem;}
.index_quality-list li{display:flex;gap:1.4rem;align-items:flex-start;font-size:1.5rem;color:#D6D4CF;}
.index_quality-list i{font-size:2.1rem;color:#C96A5F;flex-shrink:0;margin-top:.2rem;}
.index_quality-stats{margin-top:4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;border-top:1px solid var(--c-line-dark);padding-top:3.2rem;}
.index_quality-stats strong{display:block;font-size:2.7rem;font-weight:900;color:#fff;font-variant-numeric:tabular-nums;}
.index_quality-stats span{display:block;margin-top:.5rem;font-size:1.32rem;color:#9A9E9A;}
.index_quality-media{border-radius:var(--r);overflow:hidden;border:1px solid var(--c-line-dark);}

/* ---------- industries ---------- */
.index_industries{padding:10rem 0;}
.index_industries-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.8rem;}
.index_ind{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r);padding:3.4rem 3.2rem;transition:border-color .3s,box-shadow .3s;}
.index_ind:hover{border-color:var(--c-red);box-shadow:0 1.6rem 4rem rgba(31,34,37,.10);}
.index_ind i{font-size:3.4rem;color:var(--c-red);}
.index_ind h3{margin-top:1.8rem;font-size:1.95rem;font-weight:900;color:var(--c-coal);}
.index_ind p{margin-top:1rem;font-size:1.42rem;color:var(--c-mute);}
.index_ind-spec{display:block;margin-top:2rem;padding-top:1.6rem;border-top:1px solid var(--c-line);font-size:1.28rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c-coal);}

/* ---------- cases ---------- */
.index_cases{padding:10rem 0;background:var(--c-card);border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);}
.index_cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.8rem;}
.index_case{background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--r);overflow:hidden;transition:border-color .3s,box-shadow .3s;}
.index_case:hover{border-color:var(--c-red);box-shadow:0 1.6rem 4rem rgba(31,34,37,.10);}
.index_case figure{overflow:hidden;}
.index_case img{transition:transform .45s;}
.index_case:hover img{transform:scale(1.04);}
.index_case-body{padding:2.6rem 2.8rem 3rem;}
.index_case-body h3{font-size:1.9rem;font-weight:900;color:var(--c-coal);}
.index_case-body p{margin-top:1.1rem;font-size:1.42rem;color:var(--c-mute);}

/* ---------- faq ---------- */
.index_faq{padding:10rem 0;}
.index_faq-list{display:grid;gap:1.6rem;}
.index_faq-item{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r);transition:border-color .3s;}
.index_faq-item[open]{border-color:var(--c-red);}
.index_faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:2.4rem;padding:2.2rem 2.8rem;font-size:1.7rem;font-weight:700;color:var(--c-coal);cursor:pointer;list-style:none;}
.index_faq-item summary::-webkit-details-marker{display:none;}
.index_faq-item summary i{font-size:2rem;color:var(--c-red);transition:transform .3s;flex-shrink:0;}
.index_faq-item[open] summary i{transform:rotate(45deg);}
.index_faq-item p{padding:0 2.8rem 2.4rem;font-size:1.5rem;color:var(--c-mute);}

/* ---------- quote ---------- */
.index_quote{padding:10rem 0;background:var(--c-coal);color:#E8E6E1;}
.index_quote-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:6.4rem;align-items:start;}
.index_quote-copy h2{font-size:3.6rem;font-weight:900;color:#fff;letter-spacing:-.01em;}
.index_quote-copy>p{margin-top:2rem;font-size:1.6rem;color:#B9BCB9;}
.index_quote-contacts{margin-top:3.4rem;display:grid;gap:1.6rem;}
.index_quote-contacts li{display:flex;align-items:center;gap:1.4rem;font-size:1.55rem;color:#D6D4CF;}
.index_quote-contacts i{font-size:2.1rem;color:#C96A5F;}
.index_quote-contacts a{transition:color .2s;}
.index_quote-contacts a:hover{color:#fff;}
.index_quote-note{margin-top:3.4rem;border:1px solid var(--c-line-dark);border-radius:var(--r);padding:2rem 2.4rem;}
.index_quote-note p{font-size:1.4rem;color:#9A9E9A;}
.index_form{background:var(--c-card);border-radius:var(--r);padding:4rem;color:var(--c-ink);}
.index_form-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem;}
.index_form label{display:block;font-size:1.38rem;font-weight:700;color:var(--c-coal);margin-bottom:2rem;}
.index_form input,.index_form textarea{display:block;width:100%;margin-top:.7rem;padding:1.3rem 1.5rem;font-family:var(--font);font-size:1.5rem;color:var(--c-ink);background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--r);transition:border-color .2s;}
.index_form input:focus,.index_form textarea:focus{outline:none;border-color:var(--c-red);}
.index_form textarea{resize:vertical;}
.index_form .index_btn{width:100%;margin-top:.4rem;}
.index_form-status{margin-top:1.4rem;font-size:1.4rem;font-weight:600;min-height:2rem;}
.index_form-status.is-error{color:var(--c-red);}
.index_form-status.is-ok{color:#2E6B4F;}

/* ---------- footer ---------- */
.footer{background:var(--c-coal-2);color:#B9BCB9;}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:4.8rem;padding:6.4rem 0;}
.footer-brand p{margin-top:2rem;font-size:1.42rem;max-width:38rem;}
.footer .navbar-logo-text{color:#fff;}
.footer-col h4{font-size:1.5rem;font-weight:900;color:#fff;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1.8rem;}
.footer-col a,.footer-col span{display:block;font-size:1.42rem;padding:.55rem 0;color:#B9BCB9;transition:color .2s;}
.footer-col a:hover{color:#fff;}
.footer-bar{border-top:1px solid var(--c-line-dark);}
.footer-bar-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:2.2rem 0;font-size:1.3rem;color:#84898E;}

/* ---------- reveal ---------- */
.js-reveal{opacity:0;transform:translateY(2.4rem);transition:opacity .7s ease,transform .7s ease;}
.js-reveal.is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .js-reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .index_hero-grid{grid-template-columns:1fr;gap:4.4rem;}
  .index_hero-copy h1{font-size:4rem;}
  .index_valves-grid{grid-template-columns:repeat(2,1fr);}
  .index_foundry-media{grid-template-columns:1fr;gap:2rem;}
  .index_steps{grid-template-columns:repeat(2,1fr);gap:3.6rem 2.8rem;}
  .index_steps::before{display:none;}
  .index_quality-grid,.index_quote-grid{grid-template-columns:1fr;gap:4.4rem;}
  .index_industries-grid{grid-template-columns:repeat(2,1fr);}
  .index_cases-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:768px){
  :root{--shell:min(144rem,calc(100% - 4rem));}
  .navbar-nav,.navbar-cta{display:none;}
  .navbar-burger{display:block;margin-left:auto;}
  .index_hero{padding-top:4rem;}
  .index_hero-copy h1{font-size:3.3rem;}
  .index_certbar-row{flex-direction:column;gap:1.4rem;}
  .index_valves,.index_foundry,.index_quality,.index_industries,.index_cases,.index_faq,.index_quote{padding:6.4rem 0;}
  .index_head h2,.index_quality-copy h2,.index_quote-copy h2{font-size:2.9rem;}
  .index_valves-grid,.index_industries-grid,.index_steps{grid-template-columns:1fr;}
  .index_hero-facts{grid-template-columns:1fr;gap:2rem;}
  .index_quality-stats{grid-template-columns:1fr;gap:2.4rem;}
  .index_form{padding:2.8rem;}
  .index_form-row{grid-template-columns:1fr;gap:0;}
  .footer-grid{grid-template-columns:1fr;gap:3.2rem;}
  .footer-bar-row{flex-direction:column;}
}
