/* ============================================================
   PARTWRIGHT · CNC Machining Services
   设计语言: 机加工车间风 (Machine Shop Green)
   银灰绿底 #F2F4F1 / 机床墨绿 #23573F / 磨铁灰绿 #1D2420
   签名元素: 工单卡 hero / 真表格公差表 / 材料 chips 墙 / 工票左边条
   字体: HarmonyOS Sans ・ 版心 min(144rem, 100% - 8rem)
   入场动画: 左边条展开 + 短距上浮淡入
   ============================================================ */

:root{
    --c-bg:#F2F4F1;
    --c-card:#FFFFFF;
    --c-green:#23573F;
    --c-green-2:#1B4531;
    --c-iron:#1D2420;
    --c-ink:#20261F;
    --c-mut:#5C645C;
    --c-line:#DCE1DA;
    --font:'HarmonyOS Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
    --shell:min(144rem,calc(100% - 8rem));
    --nav-h:8rem;
    --r:0.3rem;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:clamp(9px,0.6945vw,11px);}
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%;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;border:none;background:none;cursor:pointer;}
section{scroll-margin-top:calc(var(--nav-h) + 2rem);}

.index_shell{width:var(--shell);margin:0 auto;}

/* ---------- 按钮 ---------- */
.index_btn{display:inline-flex;align-items:center;justify-content:center;gap:1rem;padding:1.55rem 3.2rem;font-size:1.45rem;font-weight:700;letter-spacing:.03em;line-height:1;border-radius:var(--r);transition:background .25s,color .25s,border-color .25s;white-space:nowrap;}
.index_btn--green{background:var(--c-green);color:#fff;}
.index_btn--green:hover{background:var(--c-green-2);}
.index_btn--line{border:1px solid var(--c-ink);color:var(--c-ink);background:transparent;}
.index_btn--line:hover{background:var(--c-ink);color:#fff;}

/* ---------- 顶栏 ---------- */
.index_header{position:sticky;top:0;z-index:60;background:rgba(242,244,241,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--c-line);}
.index_header-in{display:flex;align-items:center;justify-content:space-between;gap:4rem;height:var(--nav-h);}
.index_brand{display:inline-flex;align-items:center;gap:1.2rem;}
.index_brand-mark{display:inline-flex;align-items:center;justify-content:center;width:3.6rem;height:3.6rem;background:var(--c-green);color:#fff;font-size:1.5rem;font-weight:900;letter-spacing:.02em;border-radius:var(--r);}
.index_brand-name{font-size:1.9rem;font-weight:900;letter-spacing:.14em;}
.index_nav{display:flex;gap:3.4rem;}
.index_nav a{font-size:1.5rem;font-weight:500;color:var(--c-mut);transition:color .2s;}
.index_nav a:hover{color:var(--c-green);}
.index_burger{display:none;flex-direction:column;gap:.55rem;padding:.8rem;}
.index_burger span{width:2.4rem;height:2px;background:var(--c-ink);transition:transform .25s,opacity .25s;}
.index_drawer{display:none;}

/* ---------- Hero ---------- */
.index_hero{padding:7.5rem 0 8rem;}
.index_hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;}
.index_hero-copy h1{font-size:5.2rem;font-weight:900;line-height:1.12;letter-spacing:-0.015em;}
.index_hero-copy > p{margin-top:2.6rem;font-size:1.75rem;color:var(--c-mut);max-width:56rem;}
.index_hero-points{list-style:none;margin-top:3rem;display:grid;gap:1.3rem;}
.index_hero-points li{display:flex;align-items:baseline;gap:1.2rem;font-size:1.6rem;font-weight:500;}
.index_hero-points i{color:var(--c-green);font-size:1.8rem;transform:translateY(.2rem);}
.index_hero-actions{margin-top:3.8rem;display:flex;gap:1.6rem;flex-wrap:wrap;}
.index_hero-visual{position:relative;}
.index_hero-visual > img{width:100%;height:auto;border-radius:var(--r);}
.index_traveler{position:absolute;left:-3.2rem;bottom:-3.2rem;width:26rem;background:var(--c-card);border-radius:var(--r);box-shadow:0 2.4rem 5rem rgba(29,36,32,.16);overflow:hidden;}
.index_traveler-title{padding:1.2rem 2.4rem;background:var(--c-green);color:#fff;font-size:1.25rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;}
.index_traveler dl{padding:1.8rem 2.4rem 2.2rem;display:grid;gap:.9rem;}
.index_traveler dl div{display:flex;justify-content:space-between;gap:1.5rem;font-size:1.35rem;}
.index_traveler dt{color:var(--c-mut);}
.index_traveler dd{font-weight:700;font-variant-numeric:tabular-nums;}

/* ---------- 数据带 ---------- */
.index_stats{background:var(--c-iron);color:#fff;padding:3.6rem 0;}
.index_stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:3rem;}
.index_stat strong{display:block;font-size:3.4rem;font-weight:900;letter-spacing:-0.01em;font-variant-numeric:tabular-nums;}
.index_stat span{display:block;margin-top:.5rem;font-size:1.4rem;color:rgba(255,255,255,.62);}

/* ---------- 章节头 ---------- */
.index_head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:4rem;align-items:end;margin-bottom:5rem;}
.index_head h2{font-size:3.9rem;font-weight:900;line-height:1.15;letter-spacing:-0.015em;}
.index_head p{font-size:1.6rem;color:var(--c-mut);}

/* ---------- 能力 ---------- */
.index_caps{padding:9rem 0;}
.index_caps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;}
.index_cap{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r);overflow:hidden;transition:box-shadow .3s,transform .3s;}
.index_cap:hover{box-shadow:0 1.8rem 4rem rgba(29,36,32,.12);transform:translateY(-.4rem);}
.index_cap-media{overflow:hidden;}
.index_cap-media img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .5s;}
.index_cap:hover .index_cap-media img{transform:scale(1.04);}
.index_cap-body{padding:2.6rem 2.8rem 3rem;}
.index_cap-body h3{font-size:2.1rem;font-weight:900;}
.index_cap-body p{margin-top:1.2rem;font-size:1.5rem;color:var(--c-mut);}
.index_cap-spec{margin-top:1.6rem;padding-top:1.6rem;border-top:1px dashed var(--c-line);font-size:1.35rem;font-weight:700;color:var(--c-green);font-variant-numeric:tabular-nums;}

/* ---------- 公差表 ---------- */
.index_tol{margin-top:6rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:4rem;background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r);padding:4rem 4.4rem;}
.index_tol-note h3{font-size:2.3rem;font-weight:900;}
.index_tol-note p{margin-top:1.4rem;font-size:1.5rem;color:var(--c-mut);max-width:40rem;}
.index_tol-table{width:100%;border-collapse:collapse;font-size:1.5rem;font-variant-numeric:tabular-nums;}
.index_tol-table th{text-align:left;font-size:1.3rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--c-green);padding:1.1rem 1.6rem;border-bottom:2px solid var(--c-iron);}
.index_tol-table td{padding:1.25rem 1.6rem;border-bottom:1px solid var(--c-line);}
.index_tol-table td:first-child{font-weight:500;}
.index_tol-table td:not(:first-child){font-weight:700;}
.index_tol-table tbody tr:last-child td{border-bottom:none;}

/* ---------- 材料 ---------- */
.index_mat{padding:9rem 0;background:var(--c-card);border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);}
.index_mat-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;}
.index_mat-group{background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--r);padding:3rem 3.2rem;}
.index_mat-group h3{font-size:1.4rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--c-green);}
.index_chips{list-style:none;margin-top:2rem;display:flex;flex-wrap:wrap;gap:1rem;}
.index_chips li{padding:.9rem 1.6rem;background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r);font-size:1.4rem;font-weight:500;}

/* ---------- 流程 ---------- */
.index_flow{padding:9rem 0;}
.index_flow-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;counter-reset:step;}
.index_flow-steps li{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r);padding:3rem 3.2rem;}
.index_flow-no{display:inline-flex;align-items:center;justify-content:center;width:3.4rem;height:3.4rem;background:var(--c-green);color:#fff;font-size:1.5rem;font-weight:900;border-radius:var(--r);font-variant-numeric:tabular-nums;}
.index_flow-steps h3{margin-top:1.8rem;font-size:1.9rem;font-weight:900;}
.index_flow-steps p{margin-top:.9rem;font-size:1.45rem;color:var(--c-mut);}

/* ---------- 质检 ---------- */
.index_quality{padding:9rem 0;background:var(--c-iron);color:#fff;}
.index_quality-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:6rem;align-items:center;}
.index_quality-media img{width:100%;height:auto;border-radius:var(--r);}
.index_quality-copy h2{font-size:3.9rem;font-weight:900;line-height:1.15;letter-spacing:-0.015em;}
.index_quality-copy > p{margin-top:2rem;font-size:1.6rem;color:rgba(255,255,255,.68);}
.index_quality-list{list-style:none;margin-top:3.4rem;display:grid;gap:2.4rem;}
.index_quality-list li{display:flex;gap:1.8rem;align-items:flex-start;}
.index_quality-list i{font-size:2.4rem;color:#7FBF9E;transform:translateY(.2rem);}
.index_quality-list strong{display:block;font-size:1.7rem;font-weight:700;}
.index_quality-list span{display:block;margin-top:.4rem;font-size:1.45rem;color:rgba(255,255,255,.62);}
.index_quality-cert{margin-top:3.4rem;padding-top:2.4rem;border-top:1px solid rgba(255,255,255,.16);font-size:1.4rem;font-weight:700;color:#7FBF9E;}

/* ---------- 行业 ---------- */
.index_ind{padding:9rem 0;}
.index_ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;}
.index_ind-card{background:var(--c-card);border-radius:var(--r);overflow:hidden;border:1px solid var(--c-line);transition:box-shadow .3s,transform .3s;}
.index_ind-card:hover{box-shadow:0 1.8rem 4rem rgba(29,36,32,.12);transform:translateY(-.4rem);}
.index_ind-card img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;}
.index_ind-card h3{padding:2.2rem 2.6rem 0;font-size:1.9rem;font-weight:900;}
.index_ind-card p{padding:0 2.6rem 2.6rem;margin-top:.8rem;font-size:1.45rem;color:var(--c-mut);}

/* ---------- 案例 ---------- */
.index_runs{padding:9rem 0;background:var(--c-card);border-top:1px solid var(--c-line);}
.index_runs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;}
.index_run{background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--r);overflow:hidden;}
.index_run img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;}
.index_run-body{padding:2.6rem 2.8rem 3rem;}
.index_run-body h3{font-size:1.9rem;font-weight:900;line-height:1.3;}
.index_run-body > p{margin-top:1.1rem;font-size:1.45rem;color:var(--c-mut);}
.index_run-spec{margin-top:2rem;padding-top:1.8rem;border-top:1px dashed var(--c-line);display:grid;grid-template-columns:repeat(3,auto);gap:1.5rem;justify-content:space-between;}
.index_run-spec dt{font-size:1.2rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-mut);}
.index_run-spec dd{margin-top:.3rem;font-size:1.5rem;font-weight:900;font-variant-numeric:tabular-nums;}

/* ---------- FAQ ---------- */
.index_faq{padding:9rem 0;}
.index_faq-list{display:grid;gap:1.4rem;}
.index_faq-item{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r);}
.index_faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2.2rem 2.8rem;font-size:1.7rem;font-weight:700;}
.index_faq-item summary::-webkit-details-marker{display:none;}
.index_faq-item summary::after{content:'+';font-size:2.4rem;font-weight:400;color:var(--c-green);line-height:1;transition:transform .25s;}
.index_faq-item[open] summary::after{transform:rotate(45deg);}
.index_faq-item p{padding:0 2.8rem 2.4rem;font-size:1.5rem;color:var(--c-mut);max-width:108rem;}

/* ---------- 询盘 ---------- */
.index_quote{padding:9rem 0;background:var(--c-green);color:#fff;}
.index_quote-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:6rem;align-items:start;}
.index_quote-copy h2{font-size:3.9rem;font-weight:900;line-height:1.15;letter-spacing:-0.015em;}
.index_quote-copy > p{margin-top:2rem;font-size:1.6rem;color:rgba(255,255,255,.75);max-width:48rem;}
.index_quote-contact{list-style:none;margin-top:3.6rem;display:grid;gap:1.6rem;}
.index_quote-contact li{display:flex;align-items:center;gap:1.4rem;font-size:1.6rem;font-weight:500;}
.index_quote-contact i{font-size:2rem;color:#9ED0B6;}
.index_quote-contact a{transition:color .2s;}
.index_quote-contact a:hover{color:#9ED0B6;}
.index_form{background:var(--c-card);border-radius:var(--r);padding:4rem;color:var(--c-ink);display:grid;gap:2rem;}
.index_form-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem;}
.index_form label{display:grid;gap:.8rem;font-size:1.35rem;font-weight:700;letter-spacing:.03em;}
.index_form input,.index_form textarea{font-family:inherit;font-size:1.5rem;padding:1.3rem 1.5rem;border:1px solid var(--c-line);border-radius:var(--r);background:var(--c-bg);color:var(--c-ink);transition:border-color .2s;resize:vertical;}
.index_form input:focus,.index_form textarea:focus{outline:none;border-color:var(--c-green);}
.index_form input.index_err,.index_form textarea.index_err{border-color:#B4552D;}
.index_form-send{width:100%;}
.index_form-note{font-size:1.3rem;color:var(--c-mut);text-align:center;}

/* ---------- 页脚 ---------- */
.index_footer{background:var(--c-iron);color:rgba(255,255,255,.66);}
.index_footer-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:4rem;padding:6.5rem 0 5rem;}
.index_footer-brand .index_brand-name{color:#fff;}
.index_footer-brand p{margin-top:2rem;font-size:1.45rem;max-width:34rem;}
.index_footer-title{font-size:1.3rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:1.8rem;}
.index_footer-col{display:grid;gap:1.2rem;align-content:start;}
.index_footer-col a{font-size:1.45rem;display:inline-flex;align-items:center;gap:1rem;transition:color .2s;justify-self:start;}
.index_footer-col a:hover{color:#9ED0B6;}
.index_footer-bar{display:flex;justify-content:space-between;gap:2rem;padding:2.4rem 0;border-top:1px solid rgba(255,255,255,.12);font-size:1.3rem;flex-wrap:wrap;}

/* ---------- 入场动画: 边条展开+上浮 ---------- */
.index_reveal{opacity:0;transform:translateY(2.4rem);transition:opacity .7s ease,transform .7s ease;}
.index_reveal.is-on{opacity:1;transform:none;}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
    :root{--shell:min(144rem,calc(100% - 6rem));--nav-h:7rem;}
    html{font-size:10px;}
    .index_nav,.index_header-cta{display:none;}
    .index_burger{display:flex;}
    .index_drawer{display:none;position:fixed;inset:var(--nav-h) 0 auto 0;background:var(--c-bg);border-bottom:1px solid var(--c-line);padding:2.4rem 3rem 3.4rem;z-index:59;}
    .index_drawer.is-open{display:block;}
    .index_drawer nav{display:grid;gap:.6rem;}
    .index_drawer a{padding:1.3rem 0;font-size:1.7rem;font-weight:500;border-bottom:1px solid var(--c-line);}
    .index_drawer .index_btn{margin-top:1.8rem;border-bottom:none;justify-content:center;}
    .index_burger.is-open span:nth-child(1){transform:translateY(.75rem) rotate(45deg);}
    .index_burger.is-open span:nth-child(2){opacity:0;}
    .index_burger.is-open span:nth-child(3){transform:translateY(-.75rem) rotate(-45deg);}
    .index_hero-grid{grid-template-columns:1fr;gap:5rem;}
    .index_traveler{left:2rem;bottom:-2.6rem;}
    .index_stats-row{grid-template-columns:repeat(2,1fr);}
    .index_head{grid-template-columns:1fr;gap:1.6rem;margin-bottom:4rem;}
    .index_caps-grid,.index_mat-groups,.index_flow-steps,.index_ind-grid,.index_runs-grid{grid-template-columns:repeat(2,1fr);}
    .index_tol{grid-template-columns:1fr;padding:3.4rem;}
    .index_quality-grid,.index_quote-grid{grid-template-columns:1fr;gap:4.5rem;}
    .index_footer-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
    :root{--shell:min(144rem,calc(100% - 4rem));}
    html{font-size:9.5px;}
    .index_hero{padding:5.5rem 0 7rem;}
    .index_hero-copy h1{font-size:4rem;}
    .index_caps,.index_mat,.index_flow,.index_quality,.index_ind,.index_runs,.index_faq,.index_quote{padding:7rem 0;}
    .index_caps-grid,.index_mat-groups,.index_flow-steps,.index_ind-grid,.index_runs-grid{grid-template-columns:1fr;}
    .index_stats-row{grid-template-columns:1fr 1fr;gap:2.4rem;}
    .index_head h2,.index_quality-copy h2,.index_quote-copy h2{font-size:3.2rem;}
    .index_traveler{position:static;width:100%;margin-top:1.6rem;}
    .index_form{padding:3rem 2.6rem;}
    .index_form-row{grid-template-columns:1fr;}
    .index_footer-grid{grid-template-columns:1fr;padding:5rem 0 4rem;}
    .index_footer-bar{flex-direction:column;gap:.6rem;}
}
@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    .index_reveal{opacity:1;transform:none;transition:none;}
    .index_cap,.index_ind-card,.index_cap-media img{transition:none;}
}
