/*
Theme Name: 扶摇材料 Fuyao Materials
Author: Fuyao project
Description: 无锡扶摇材料科技有限公司企业官网。石墨 / 象牙 / 拉丝银 / 铜橙的精密工业材料目录风格，支持产品、规格、新闻与询盘管理。
Version: 1.5.0
Text Domain: fuyao
*/

/* =========================================================
   1. Design tokens
   ========================================================= */
:root{
  --graphite:#202421;
  --graphite-2:#2a2f2b;
  --ivory:#f4f2ec;
  --ivory-2:#ece9e1;
  --plate:#e4e5e0;
  --silver:#bcc2bf;
  --copper:#b65730;
  --copper-2:#964422;
  --ink:#202421;
  --body:#4d534e;
  --muted:#69706a;
  --line:#dcd7cb;
  --line-strong:#c8c3b5;
  --line-dark:rgba(244,242,236,.16);
  --radius:3px;
  --shadow:0 18px 40px rgba(32,36,33,.09);
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --container:min(1320px,calc(100% - 96px));
}

/* =========================================================
   2. Base
   ========================================================= */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:112px}
body{margin:0;overflow-x:clip;background:var(--ivory);color:var(--body);font-family:var(--sans);font-size:16px;line-height:1.85}
h1,h2,h3,h4{margin:0 0 20px;color:var(--ink);font-weight:600;line-height:1.3;letter-spacing:.01em}
h1{font-size:clamp(34px,4.4vw,64px);line-height:1.12}
h2{font-size:clamp(28px,3.2vw,46px)}
h3{font-size:22px}
p{margin:0 0 20px}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
.container{width:var(--container);margin-inline:auto}
.eyebrow{margin:0 0 14px;font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--copper)}
.screen-reader-text,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip:focus{position:fixed;left:16px;top:16px;z-index:90;width:auto;height:auto;clip-path:none;padding:12px 18px;background:var(--graphite);color:var(--ivory);border-radius:var(--radius)}
.section{padding-block:clamp(56px,6vw,96px)}
.section--plate{background:var(--ivory-2);border-block:1px solid var(--line)}
.section--graphite{background:var(--graphite);color:var(--silver)}

/* =========================================================
   3. Buttons, links
   ========================================================= */
.button{display:inline-flex;align-items:center;gap:16px;min-height:52px;padding:14px 28px;background:var(--copper);border:1px solid var(--copper);border-radius:var(--radius);color:#fff;font-size:15px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .25s,border-color .25s,color .25s,transform .25s}
.button:hover{background:var(--copper-2);border-color:var(--copper-2);transform:translateY(-1px)}
.button.white{background:var(--ivory);border-color:var(--ivory);color:var(--graphite)}
.button.white:hover{background:#fff;border-color:#fff}
.link-arrow{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:52px;font-size:15px;font-weight:600;color:var(--ink)}
.link-arrow span{color:var(--copper);transition:transform .25s}
.link-arrow:hover span{transform:translate(3px,-3px)}
.link-arrow:after{content:"";position:absolute;left:0;right:100%;bottom:10px;height:1px;background:var(--copper);transition:right .32s ease}
.link-arrow:hover:after{right:0}
.text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--copper)}
.text-link span{transition:transform .25s}
.text-link:hover span{transform:translate(3px,-3px)}
.text-link:hover{color:var(--copper-2)}

/* =========================================================
   4. Header
   ========================================================= */
.site-header{position:sticky;top:0;z-index:40;background:rgba(244,242,236,.94);border-bottom:1px solid var(--line);transition:box-shadow .3s ease,border-color .3s ease,background .3s ease}
.site-header.is-scrolled{border-bottom-color:var(--line-strong);box-shadow:0 12px 30px rgba(32,36,33,.08);background:rgba(244,242,236,.99)}
.header-inner{width:min(1440px,calc(100% - 72px));margin-inline:auto;display:flex;align-items:center;gap:24px;min-height:90px}
.brand{display:inline-flex;align-items:center;gap:13px;flex-shrink:0}
.brand-mark{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;background:var(--graphite);color:var(--ivory);border-radius:var(--radius)}
.brand-mark svg{width:28px;height:28px;display:block}
.brand-mark svg circle,.brand-mark svg line{fill:none;stroke:currentColor;stroke-width:1.5}
.brand-mark svg .mark-accent{fill:none;stroke:var(--copper);stroke-width:2.4;stroke-linecap:round}
.brand-text{display:block;min-width:0}
.brand strong{display:block;font-size:21px;font-weight:700;letter-spacing:.14em;line-height:1.2;color:var(--ink)}
.brand small{display:block;margin-top:2px;font-family:var(--mono);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.header-right{display:flex;align-items:center;gap:clamp(10px,1.6vw,26px);margin-left:auto;min-width:0}
.topline{font-size:11px;letter-spacing:.2em;color:var(--muted);white-space:nowrap}
.topline span{margin-left:18px;padding-left:18px;border-left:1px solid var(--line-strong);color:var(--muted)}
.site-header nav{display:flex;align-items:center;gap:2px;min-width:0}
.site-header nav>a,.nav-item>a{position:relative;display:inline-flex;align-items:center;min-height:46px;padding:0 13px;font-size:15px;font-weight:500;color:var(--ink);letter-spacing:.02em;white-space:nowrap}
.site-header nav>a:after,.nav-item>a:after{content:"";position:absolute;left:13px;right:13px;bottom:7px;height:1.5px;background:var(--copper);transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
.site-header nav>a:hover:after,.nav-item>a:hover:after,.nav-item:focus-within>a:after{transform:scaleX(1)}
.site-header nav>a:hover,.nav-item>a:hover{color:var(--copper)}
.site-header nav a.is-current{color:var(--copper)}
.site-header nav a.is-current:after{transform:scaleX(1)}
.nav-item{position:relative}
.submenu{position:absolute;top:calc(100% + 4px);left:6px;z-index:5;min-width:198px;padding:8px;background:var(--ivory);border:1px solid var(--line);border-top:2px solid var(--copper);border-radius:var(--radius);box-shadow:var(--shadow);text-align:left;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .22s ease,transform .22s ease,visibility .22s}
.nav-item:hover .submenu,.nav-item:focus-within .submenu{opacity:1;visibility:visible;transform:none}
.submenu a{display:block;padding:9px 12px;font-size:13.5px;color:var(--body);white-space:nowrap;border-radius:2px}
.submenu a:hover,.submenu a.is-current{background:var(--ivory-2);color:var(--copper)}
.header-tools{display:flex;align-items:center;gap:8px}
.menu-toggle,.search-toggle{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;background:transparent;border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);font-size:18px;line-height:1;cursor:pointer;transition:border-color .25s,color .25s}
.menu-toggle:hover,.search-toggle:hover{border-color:var(--graphite);color:var(--copper)}
.menu-toggle{display:none}
.search-panel{display:none;gap:10px;padding:16px 24px;background:var(--ivory-2);border-bottom:1px solid var(--line)}
.search-panel.open{display:flex;justify-content:center}
.search-panel input{width:min(520px,66%);min-height:46px;padding:10px 14px;background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius)}
.search-panel input:focus{outline:none;border-color:var(--copper);box-shadow:0 0 0 3px rgba(198,94,50,.16)}
.search-panel button{min-height:46px;padding:0 26px;background:var(--graphite);border:1px solid var(--graphite);border-radius:var(--radius);color:var(--ivory);font-weight:600;cursor:pointer}
.search-panel button:hover{background:var(--copper);border-color:var(--copper)}

/* =========================================================
   5. Hero
   ========================================================= */
.hero{position:relative;display:flex;flex-direction:column;min-height:620px;background:var(--ivory);border-bottom:1px solid var(--line)}
.hero-grid{flex:1;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:clamp(28px,4vw,72px);padding-block:clamp(40px,4.6vw,64px)}
.hero-copy{max-width:660px;animation:fy-rise .9s cubic-bezier(.22,.61,.36,1) both}
.hero h1{margin:0 0 22px;font-size:clamp(36px,4.4vw,66px);line-height:1.1;letter-spacing:.01em}
.hero-sub{max-width:48ch;margin:0 0 32px;font-size:clamp(16px,1.25vw,19px);color:var(--body)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px;margin-bottom:34px}
.hero-specs{display:flex;flex-wrap:wrap;gap:20px 40px;margin:0;padding-top:22px;border-top:1px solid var(--line)}
.hero-specs dt{margin:0 0 6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.hero-specs dd{margin:0;font-family:var(--mono);font-size:15px;color:var(--ink)}
.hero-visual{position:relative;width:100%;aspect-ratio:1/.84;max-height:480px;min-height:300px;background:var(--ivory-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;animation:fy-rise 1.1s cubic-bezier(.22,.61,.36,1) both}
.hero-visual:before{content:"";position:absolute;left:14px;top:14px;bottom:14px;width:1px;background:repeating-linear-gradient(180deg,var(--line-strong) 0 1px,transparent 1px 12px);pointer-events:none}
.hero-visual:after{content:"";position:absolute;left:14px;right:14px;bottom:14px;height:1px;background:repeating-linear-gradient(90deg,var(--line-strong) 0 1px,transparent 1px 12px);pointer-events:none}
.hero-photo{position:relative;z-index:0;width:100%;height:100%;padding:5%;object-fit:contain;mix-blend-mode:multiply}
.hero-diagram{position:absolute;right:-3%;bottom:-8%;z-index:1;width:min(48%,230px);color:var(--silver);opacity:.5;pointer-events:none}
.hero-diagram circle,.hero-diagram line{fill:none;stroke:currentColor;stroke-width:1}
.hero-diagram .accent{stroke:var(--copper);stroke-width:1.6}
.hero-diagram .orbit{transform-origin:110px 110px;animation:fy-orbit 28s linear infinite}
.hero-tag{position:absolute;z-index:2;padding:5px 9px;background:rgba(244,242,236,.92);border:1px solid var(--line-strong);border-radius:2px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--graphite)}
.hero-tag--a{left:32px;top:32px}
.hero-tag--b{right:24px;bottom:34px}
.hero-strip{background:var(--graphite);color:var(--ivory)}
.hero-strip-inner{display:grid;grid-template-columns:repeat(3,1fr)}
.hero-strip-item{display:flex;align-items:flex-start;gap:14px;padding:20px 28px;border-left:1px solid var(--line-dark)}
.hero-strip-item:first-child{padding-left:0;border-left:0}
.hero-strip-item b{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.16em;color:var(--copper);padding-top:3px}
.hero-strip-item span{display:block;font-size:14.5px;letter-spacing:.04em;color:var(--ivory)}
.hero-strip-item small{display:block;margin-top:2px;font-size:12px;color:var(--silver)}

/* =========================================================
   6. Section headings
   ========================================================= */
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:clamp(30px,3.2vw,50px)}
.section-heading h2{position:relative;margin:0;padding-bottom:18px}
.section-heading h2:after{content:"";position:absolute;left:0;bottom:0;width:46px;height:2px;background:var(--copper)}
.heading-note{max-width:36ch;margin:0 0 6px;font-size:14.5px;color:var(--muted)}
.draft-stat-note{display:inline-flex;align-items:center;gap:8px;margin:0 0 6px;padding:5px 11px;background:rgba(198,94,50,.09);border:1px solid rgba(198,94,50,.26);border-radius:2px;font-size:12px;color:var(--copper-2)}
.note-plain{margin:22px 0 0;font-size:13px;color:var(--muted)}

/* =========================================================
   7. Products
   ========================================================= */
.home-products{padding-block:clamp(56px,6vw,96px)}
.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2vw,30px)}
.product-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:border-color .3s,box-shadow .3s,transform .3s}
.product-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-3px)}
.product-card-media{position:relative;aspect-ratio:16/10;background:var(--plate);border-bottom:1px solid var(--line);overflow:hidden}
.product-card-media img{width:100%;height:100%;object-fit:contain;object-position:center;padding:18px;mix-blend-mode:multiply;filter:saturate(.75);transition:transform .6s cubic-bezier(.2,.6,.2,1)}
.product-card:hover .product-card-media img{transform:scale(1.03)}
.product-card-media:after{content:"";position:absolute;left:12px;top:12px;width:14px;height:14px;border-left:1px solid var(--copper);border-top:1px solid var(--copper)}
.product-card-content{display:flex;flex:1;flex-direction:column;gap:10px;min-width:0;padding:clamp(20px,2.2vw,30px)}
.product-card-meta{display:flex;align-items:center;gap:12px;margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.card-index{color:var(--copper)}
.card-domain{color:var(--muted)}
.card-domain:before{content:"/";margin-right:12px;color:var(--line-strong)}
.product-card h3{margin:0;font-size:clamp(20px,1.8vw,25px)}
.card-desc{margin:0;font-size:14px;line-height:1.8;color:var(--muted)}
.card-link{align-self:flex-start;margin-top:auto;padding:16px 0 3px;font-size:13.5px;font-weight:600;color:var(--ink);background-image:linear-gradient(var(--copper),var(--copper));background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:background-size .35s ease,color .25s}
.card-link span{color:var(--copper)}
.product-card:hover .card-link{background-size:100% 1px;color:var(--copper)}

/* =========================================================
   8. About / approach
   ========================================================= */
.about-strip{padding-block:clamp(56px,6vw,96px);background:var(--ivory-2);border-block:1px solid var(--line)}
.about-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(32px,5vw,90px);align-items:start}
.about-grid h2{font-size:clamp(28px,3vw,44px)}
.about-lede{margin-bottom:16px;font-size:17px;color:var(--ink)}
.capabilities{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 8px}
.capabilities span{padding:8px 13px;background:var(--ivory);border:1px solid var(--line-strong);border-radius:2px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--ink)}
.diagram-frame{margin-top:30px;padding:18px;background-color:var(--ivory);background-image:repeating-linear-gradient(0deg,var(--line) 0 1px,transparent 1px 26px),repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 26px);border:1px solid var(--line-strong);border-radius:var(--radius)}
.diagram-frame svg{display:block;width:100%;height:auto;color:var(--silver)}
.diagram-frame svg *{fill:none;stroke:currentColor;stroke-width:1}
.diagram-frame svg .accent{stroke:var(--copper)}
.diagram-frame svg text{fill:var(--muted);stroke:none;font-family:var(--mono);font-size:10px;letter-spacing:.16em}
.flow{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-strong)}
.flow li{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line)}
.flow b{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--copper)}
.flow span{font-size:14.5px;color:var(--body)}

/* =========================================================
   9. Production
   ========================================================= */
.production-section{padding-block:clamp(56px,6vw,96px)}
.production-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4vw,70px);align-items:center}
.production-copy h2{font-size:clamp(28px,3vw,44px)}
.production-steps{list-style:none;margin:26px 0 32px;padding:0;border-top:1px solid var(--line)}
.production-steps li{display:flex;gap:14px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--line)}
.production-steps b{min-width:26px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--copper)}
.production-steps span{font-size:14.5px}
.production-frame{margin:0;padding:14px;background:var(--plate);border:1px solid var(--line-strong);border-radius:var(--radius)}
.production-frame img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px}
.production-frame figcaption{margin:0;padding-top:12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

/* =========================================================
   10. Qualification, certificates, advantages
   ========================================================= */
.qualifications{padding-block:clamp(56px,6vw,96px);background:var(--ivory-2);border-block:1px solid var(--line)}
.certificate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,24px)}
.certificate-grid figure{display:flex;flex-direction:column;gap:12px;margin:0;padding:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.certificate-grid img{width:100%;height:250px;object-fit:contain;background:var(--plate);border:1px solid var(--line)}
.certificate-grid figcaption{font-size:13px;line-height:1.6;color:var(--body)}
.advantage-section{padding-block:clamp(50px,5vw,84px);border-bottom:1px solid var(--line)}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:34px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.stat-grid>div{padding:26px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat-grid strong{display:block;font-family:var(--mono);font-size:clamp(34px,3.6vw,52px);font-weight:500;line-height:1.1;letter-spacing:-.01em;color:var(--ink)}
.stat-grid strong span{margin-left:4px;font-size:.55em;color:var(--copper)}
.stat-grid p{margin:12px 0 0;font-size:13.5px;color:var(--muted)}

/* =========================================================
   11. News list
   ========================================================= */
.news-section{padding-block:clamp(56px,6vw,96px)}
.news-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-strong)}
.news-list li{border-bottom:1px solid var(--line)}
.news-list a{display:grid;grid-template-columns:200px 1fr auto;grid-template-areas:"meta title arrow";gap:clamp(16px,3vw,40px);align-items:center;padding:22px 0}
.news-meta{grid-area:meta;display:flex;align-items:baseline;gap:14px}
.news-date{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;color:var(--muted)}
.news-cat{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--copper)}
.news-title{grid-area:title;margin:0;font-size:clamp(17px,1.5vw,21px);font-weight:600;color:var(--ink);transition:color .25s}
.news-list a:hover .news-title{color:var(--copper)}
.news-arrow{grid-area:arrow;color:var(--silver);font-size:16px;transition:transform .3s,color .3s}
.news-list a:hover .news-arrow{color:var(--copper);transform:translate(3px,-3px)}

/* =========================================================
   12. CTA band
   ========================================================= */
.cta-band{position:relative;overflow:hidden;padding-block:clamp(46px,5vw,72px);background:var(--graphite);color:var(--ivory)}
.cta-band:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,rgba(244,242,236,.06) 0 1px,transparent 1px 96px);pointer-events:none}
.cta-band>.container{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:36px}
.cta-band h2{margin:0;font-size:clamp(26px,2.6vw,38px);color:var(--ivory)}
.cta-band .button:hover{background:#fff;border-color:#fff;color:var(--graphite)}

/* =========================================================
   13. Footer
   ========================================================= */
.site-footer{padding:clamp(48px,5vw,76px) 0 0;background:var(--graphite);color:var(--silver);font-size:13.5px}
.footer-grid{display:grid;grid-template-columns:1.6fr .9fr .9fr 1.2fr;gap:clamp(24px,3vw,48px)}
.footer-grid h4{margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--line-dark);font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ivory)}
.footer-grid h3{margin:20px 0 6px;font-size:16px;color:var(--ivory)}
.footer-grid p{margin:0 0 6px;overflow-wrap:anywhere}
.footer-grid a:not(.brand){display:inline-flex;align-items:center;min-height:36px;color:var(--silver);transition:color .25s}
.footer-grid a:not(.brand):hover{color:var(--copper)}
.footer-brand{display:inline-flex;align-items:center;gap:13px}
.footer-brand .brand-mark{background:var(--ivory);color:var(--graphite)}
.footer-brand strong{color:var(--ivory)}
.footer-brand small{color:var(--silver)}
.footer-cta{margin-top:14px;padding-bottom:2px;border-bottom:1px solid var(--copper);color:var(--ivory);font-weight:600}
.footer-cta:hover{color:var(--copper)}
.copyright{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:44px;padding:20px 0;border-top:1px solid var(--line-dark);font-size:12px;color:var(--muted)}
.floating-contact{position:fixed;right:22px;bottom:26px;z-index:30;display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:var(--copper);border-radius:50%;color:#fff;font-size:12px;line-height:1.35;letter-spacing:.04em;text-align:center;box-shadow:0 14px 30px rgba(32,36,33,.28);transition:background .25s,transform .25s}
.floating-contact:hover{background:var(--copper-2);transform:translateY(-2px)}

/* =========================================================
   14. Inner pages
   ========================================================= */
.page-banner{position:relative;overflow:hidden;padding-block:clamp(40px,4.6vw,68px);background:var(--graphite);color:var(--ivory)}
.page-banner:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,rgba(244,242,236,.05) 0 1px,transparent 1px 120px);pointer-events:none}
.page-banner>.container{position:relative}
.page-banner h1{position:relative;margin:0;padding-bottom:20px;font-size:clamp(30px,3.4vw,50px);color:var(--ivory)}
.page-banner h1:after{content:"";position:absolute;left:0;bottom:0;width:52px;height:2px;background:var(--copper)}
.page-main{padding-block:clamp(40px,4vw,72px) clamp(56px,6vw,92px)}
.breadcrumbs{margin-bottom:34px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--muted)}
.breadcrumbs a:hover{color:var(--copper)}
.category-nav{display:flex;gap:8px;overflow:auto;padding:16px 0;border-bottom:1px solid var(--line)}
.category-nav a{flex-shrink:0;display:inline-flex;align-items:center;min-height:42px;padding:0 15px;background:var(--ivory);border:1px solid var(--line);border-radius:2px;font-size:13.5px;transition:border-color .25s,color .25s}
.category-nav a:hover{border-color:var(--copper);color:var(--copper)}
body.tax-fuyao_news_category .page-banner h1:empty:before{content:'新闻中心'}

/* =========================================================
   15. Rich content (tables, specs, gallery)
   ========================================================= */
.rich-content{min-width:0;font-size:16px;line-height:1.9;overflow-wrap:anywhere}
.rich-content h2{margin:52px 0 20px;padding-left:16px;border-left:3px solid var(--copper);font-size:clamp(23px,2.2vw,30px);line-height:1.35}
.rich-content h2:first-child{margin-top:0}
.rich-content h3{margin:32px 0 14px;font-size:19px;color:var(--graphite)}
.rich-content p{margin:14px 0}
.rich-content li{margin:6px 0}
.rich-content a{color:var(--copper);border-bottom:1px solid rgba(198,94,50,.4)}
.rich-content a:hover{border-bottom-color:var(--copper)}
.rich-content ul{padding-left:22px}
.rich-content img{margin:16px 0}
.rich-content table{display:block;width:100%;max-width:100%;margin:26px 0;overflow-x:auto;border-collapse:collapse;font-size:14px}
.rich-content th,.rich-content td{min-width:96px;padding:11px 14px;border:1px solid var(--line);text-align:left;vertical-align:middle}
.rich-content thead th,.rich-content table tr:first-child td{background:rgba(198,94,50,.09);color:var(--graphite);font-weight:600;border-color:rgba(198,94,50,.26)}
.rich-content tbody tr:nth-child(even){background:var(--ivory-2)}
.rich-content #profile img{width:100%;max-height:400px;object-fit:cover}
.rich-content #profile table{display:table}
.rich-content #profile td{text-align:center}
.rich-content>div>div>ul:has(img){display:grid;grid-template-columns:repeat(2,1fr);gap:25px;padding:0;list-style:none}
.rich-content ul li img{width:100%;object-fit:contain}
.rich-content p:empty{display:none}
.timeline>div{display:flex;gap:28px;padding:18px 0;border-bottom:1px solid var(--line)}
.timeline strong{flex-shrink:0;min-width:86px;font-family:var(--mono);font-size:22px;color:var(--copper)}
.timeline p{margin:0}
.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:26px 0 50px}
.equipment-grid figure{margin:0;overflow:hidden;background:var(--ivory);border:1px solid var(--line);border-radius:var(--radius)}
.equipment-grid img{width:100%;height:220px;margin:0;object-fit:cover}
.equipment-grid figcaption{padding:12px;background:var(--ivory);font-size:13px;text-align:center}
.reference-note{margin:20px 0;padding:13px 18px;background:rgba(198,94,50,.08);border-left:3px solid var(--copper);border-radius:0 2px 2px 0;font-size:13.5px;color:#8d4a29}

/* =========================================================
   16. Listing, pagination, gallery, forms
   ========================================================= */
.product-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px)}
.listing-card{display:flex;flex-direction:column;min-width:0;padding:18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:border-color .3s,box-shadow .3s,transform .3s}
.listing-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-3px)}
.listing-card img{mix-blend-mode:multiply;width:100%;height:220px;margin:0 0 18px;object-fit:contain;background:var(--plate);border:1px solid var(--line)}
.listing-card h2{margin:0 0 10px;font-size:19px}
.listing-card h2 a:hover{color:var(--copper)}
.listing-card p{margin:0 0 14px;font-size:14px;color:var(--muted)}
.listing-card .text-link{margin-top:auto}
.pagination{display:flex;flex-wrap:wrap;gap:8px;margin-top:44px}
.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 13px;background:#fff;border:1px solid var(--line);border-radius:2px;font-family:var(--mono);font-size:13px;color:var(--body)}
.page-numbers.current{border-color:var(--copper);color:var(--copper)}
.page-numbers:hover{border-color:var(--graphite);color:var(--ink)}
.product-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,4vw,64px);align-items:start;margin-bottom:56px}
.product-intro>*{min-width:0}
.gallery-main{width:100%;max-height:460px;min-height:300px;padding:16px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.gallery-thumbs{display:flex;gap:8px;max-width:100%;margin-top:10px;padding-bottom:4px;overflow:auto}
.gallery-thumbs button{flex:0 0 76px;width:76px;height:76px;padding:4px;background:#fff;border:1px solid var(--line);border-radius:2px;cursor:pointer;transition:border-color .25s}
.gallery-thumbs img{width:100%;height:100%;object-fit:contain}
.gallery-thumbs button:hover,.gallery-thumbs button.active,.gallery-thumbs button[aria-pressed="true"]{border-color:var(--copper)}
.inquiry-section{margin-top:56px;padding-top:44px;border-top:1px solid var(--line)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.inquiry-form label{display:block;margin-bottom:18px;font-size:13.5px;letter-spacing:.02em;color:var(--ink)}
.inquiry-form input,.inquiry-form textarea{display:block;width:100%;margin-top:8px;padding:12px 14px;background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius);font-size:15px;color:var(--ink);transition:border-color .22s,box-shadow .22s}
.inquiry-form input:focus,.inquiry-form textarea:focus{outline:none;border-color:var(--copper);box-shadow:0 0 0 3px rgba(198,94,50,.16)}
.inquiry-form .button{margin-top:6px}
.form-note{display:inline;margin-left:18px;font-size:12px;color:var(--muted)}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.success{margin-bottom:24px;padding:14px 18px;background:rgba(47,107,63,.1);border-left:3px solid #2f6b3f;border-radius:0 2px 2px 0;color:#275c35}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);margin-top:48px;padding-top:36px;border-top:1px solid var(--line)}
.contact-details h2{font-size:24px}

/* =========================================================
   17. Motion
   ========================================================= */
@keyframes fy-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes fy-orbit{to{transform:rotate(360deg)}}
.has-js [data-reveal]{opacity:0;transform:translateY(18px)}
.has-js [data-reveal].is-visible{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.22,.61,.36,1)}

/* =========================================================
   18. Responsive
   ========================================================= */
@media(max-width:1280px){
  .topline{display:none}
}
@media(max-width:1150px){
  :root{--container:min(1320px,calc(100% - 48px))}
  .header-inner{width:calc(100% - 40px)}
  .site-header nav>a,.nav-item>a{padding:0 10px;font-size:14.5px}
  .hero-grid{gap:36px}
}
@media(max-width:900px){
  html{scroll-padding-top:92px}
  .header-inner{min-height:74px;width:calc(100% - 32px)}
  .brand-mark{width:40px;height:40px}
  .brand-mark svg{width:24px;height:24px}
  .brand strong{font-size:18px;letter-spacing:.1em}
  .brand small{font-size:9px}
  .header-right{gap:10px}
  .menu-toggle{display:inline-flex}
  .site-header nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 74px);padding:10px 20px 24px;overflow:auto;background:var(--ivory);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .site-header.menu-open nav{display:flex}
  .site-header nav>a,.nav-item>a{justify-content:space-between;width:100%;min-height:50px;padding:0 4px;border-bottom:1px solid var(--line)}
  .site-header nav>a:after,.nav-item>a:after{display:none}
  .nav-item{width:100%}
  .submenu{position:static;min-width:0;padding:0 0 8px 10px;background:transparent;border:0;border-radius:0;box-shadow:none;opacity:1;visibility:visible;transform:none}
  .submenu a{min-height:40px;padding:8px 10px;color:var(--muted)}
  .search-panel{padding:14px 16px}
  .search-panel input{width:100%}
  .hero{min-height:0}
  .hero-grid{grid-template-columns:1fr;gap:26px;padding-block:34px 30px}
  .hero h1{margin-bottom:18px}
  .hero-visual{aspect-ratio:4/3;max-height:340px;min-height:0}
  .hero-diagram{width:44%;opacity:.34}
  .hero-tag--a{left:20px;top:20px}
  .hero-tag--b{right:16px;bottom:22px}
  .hero-strip-inner{grid-template-columns:1fr}
  .hero-strip-item{padding:14px 0;border-left:0;border-top:1px solid var(--line-dark)}
  .hero-strip-item:first-child{border-top:0}
  .about-grid,.production-grid,.product-intro,.contact-details{grid-template-columns:1fr;gap:32px}
  .stat-grid{grid-template-columns:repeat(2,1fr)}
  .certificate-grid{grid-template-columns:repeat(2,1fr)}
  .equipment-grid{grid-template-columns:repeat(2,1fr)}
  .section-heading{align-items:flex-start;gap:20px}
  .section-heading .heading-note,.section-heading .draft-stat-note{max-width:100%}
  .cta-band>.container{display:block}
  .cta-band>.container>*+*{margin-top:26px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}
}
@media(max-width:760px){
  .section-heading{flex-direction:column;align-items:flex-start}
  .product-grid{grid-template-columns:1fr}
  .listing-grid,.equipment-grid{grid-template-columns:1fr}
  .product-archive-grid{grid-template-columns:1fr!important}
  .news-list a{grid-template-columns:1fr auto;grid-template-areas:"meta arrow" "title title";gap:8px 14px;padding:18px 0}
  .news-title{font-size:17px}
}
@media(max-width:560px){
  :root{--container:min(1320px,calc(100% - 36px))}
  h2{font-size:26px}
  .hero h1{font-size:31px}
  .hero-specs{gap:16px 26px}
  .certificate-grid{grid-template-columns:1fr}
  .certificate-grid img{height:280px}
  .stat-grid>div{padding:20px 16px}
  .form-grid{grid-template-columns:1fr}
  .form-note{display:block;margin:14px 0 0}
  .footer-grid{grid-template-columns:1fr;gap:28px}
  .floating-contact{right:14px;bottom:16px;width:54px;height:54px}
  .page-main{padding-top:28px}
  .rich-content table{font-size:13px}
  .rich-content th,.rich-content td{min-width:88px;padding:9px 11px}
  .timeline>div{gap:16px}
  .timeline strong{min-width:64px;font-size:19px}
}

/* =========================================================
   19. Reduced motion
   ========================================================= */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .has-js [data-reveal],.has-js [data-reveal].is-visible{opacity:1!important;transform:none!important;transition:none!important}
  .hero-copy,.hero-visual,.hero-diagram .orbit{animation:none!important}
  .product-card:hover .product-card-media img{transform:none}
  *{transition-duration:.001ms!important}
}

.company-figure{margin:32px 0 36px;border:1px solid var(--line);background:var(--ivory-2);padding:12px}.rich-content .company-figure img{display:block;width:100%;height:auto!important;max-height:none!important;object-fit:contain;margin:0}.company-figure figcaption{font-size:12px;color:var(--muted);padding:10px 4px 0}.company-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}.company-facts>div{border-bottom:1px solid var(--line);padding:18px 0;min-width:0}.company-facts span{display:block;color:var(--muted);font-size:12px}.company-facts strong{display:block;color:var(--ink);font-size:17px;font-weight:500}.company-applications{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.company-applications article{border:1px solid var(--line);padding:24px;background:#fff}.rich-content .company-applications h3{margin-top:10px}.archive-note{font-size:13px;color:var(--muted);border-left:2px solid var(--copper);padding-left:16px;margin-bottom:26px!important}@media(max-width:600px){.company-facts,.company-applications{grid-template-columns:1fr}.company-figure{padding:6px}.company-figure figcaption{font-size:11px}.company-applications article{padding:20px}}

.rich-content a.button{color:#fff}.rich-content a.button.white{color:var(--graphite)}.footer-grid a:not(.brand){display:block;width:fit-content;margin-bottom:8px}

/* Masthead: company identity, dedicated contact panel, separate navigation */
.masthead-v2 .header-inner{display:grid;grid-template-columns:220px minmax(0,1fr) 340px;column-gap:32px;row-gap:0;min-height:0;align-items:center;padding-top:22px;width:min(1440px,calc(100% - 72px))}
.masthead-v2 .brand{align-self:center}.masthead-company{min-width:0;padding:4px 0 18px;border-left:1px solid var(--line-strong);padding-left:30px}.masthead-kicker{font:10px var(--mono);letter-spacing:.17em;color:var(--copper);margin:0 0 9px}.masthead-company>strong{display:block;font-size:27px;font-weight:700;letter-spacing:.04em;line-height:1.4;color:var(--ink)}.masthead-company>span{display:flex;align-items:center;gap:12px;margin-top:7px;font-size:15px;color:var(--body);font-weight:500;letter-spacing:.12em}.masthead-company i{width:4px;height:4px;background:var(--copper);border-radius:50%}
.masthead-contact{padding:12px 18px;background:var(--ivory-2);border-left:3px solid var(--copper);margin-bottom:16px}.masthead-contact-label{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--body)}.contact-dot{width:5px;height:5px;background:var(--copper);border-radius:50%}.masthead-phone{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:2px;font-size:29px;line-height:1.5;font-weight:700;letter-spacing:.03em;color:var(--copper)}.masthead-phone>span{font-size:20px;font-weight:400}.masthead-phone:hover{color:var(--copper-2)}.masthead-address{font-size:12px;color:var(--body);margin:4px 0 0;line-height:1.5}
.masthead-v2 .header-nav-row{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);min-height:55px}.masthead-v2 nav{gap:14px;justify-content:flex-start}.masthead-v2 nav>a,.masthead-v2 .nav-item>a{font-size:15px;min-height:52px;padding:0 12px}.masthead-v2 .header-tools{justify-self:end}.masthead-v2 .search-toggle{height:36px;width:42px;border:0;border-left:1px solid var(--line);border-radius:0}.masthead-v2 .menu-toggle{display:none}
.contact-details .contact-phone{font-size:27px;font-weight:700;color:var(--copper);letter-spacing:.03em}.site-footer .contact-phone{color:var(--ivory);font-size:19px;font-weight:600}.footer-grid .contact-phone{display:inline!important;margin:0!important}html{scroll-padding-top:195px}
@media(max-width:1150px) and (min-width:901px){.masthead-v2 .header-inner{width:calc(100% - 40px);grid-template-columns:190px minmax(0,1fr) 290px;column-gap:20px}.masthead-company{padding-left:20px}.masthead-company>strong{font-size:22px;letter-spacing:.01em}.masthead-phone{font-size:25px}.masthead-contact{padding:10px 14px}.masthead-address{font-size:11px}.masthead-v2 nav{gap:8px}}
@media(max-width:900px){.masthead-v2 .header-inner{width:calc(100% - 32px);grid-template-columns:minmax(0,1fr) auto;padding-top:14px;gap:12px;position:static}.masthead-v2 .brand{grid-column:1;grid-row:1}.masthead-v2 .header-nav-row{grid-column:2;grid-row:1;border:0;min-height:40px}.masthead-v2 .header-tools{gap:6px}.masthead-v2 .menu-toggle{display:inline-flex;width:40px;height:40px}.masthead-v2 .search-toggle{width:36px;height:40px;border:0}.masthead-company{grid-column:1/-1;padding:0 0 12px;border-left:0;border-bottom:1px solid var(--line);margin:0}.masthead-kicker{display:none}.masthead-company>strong{font-size:20px;letter-spacing:.01em}.masthead-company>span{font-size:12px;margin-top:4px;letter-spacing:.07em}.masthead-contact{grid-column:1/-1;background:none;border-left:0;padding:0;margin:0 0 12px;display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center}.masthead-contact-label{font-size:12px}.masthead-phone{justify-content:flex-end;margin:0;font-size:22px;gap:10px}.masthead-phone>span{font-size:16px}.masthead-address{grid-column:1/-1;font-size:12px;margin-top:3px}.masthead-v2 nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;max-height:calc(100dvh - 230px);padding:10px 18px 20px;overflow:auto;gap:0;border-bottom:1px solid var(--line);background:var(--ivory)}.masthead-v2.menu-open nav{display:flex}.masthead-v2 nav>a,.masthead-v2 .nav-item>a{font-size:15px;width:100%;padding:0 4px;min-height:48px}.masthead-v2 nav .submenu a{font-size:13px}.masthead-v2 .submenu{position:static;opacity:1;visibility:visible;transform:none}.masthead-v2 .brand strong{font-size:18px}html{scroll-padding-top:230px}}

/* Bilingual masthead: a separate language control above the contact panel. */
.masthead-v2 .header-inner{position:relative;padding-top:44px}
.masthead-v2 nav.language-switch{position:absolute;top:8px;left:auto;right:0;display:flex;flex-direction:row;align-items:center;gap:9px;width:auto;min-height:24px;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}
.masthead-v2 .language-switch a{font-size:12px;min-height:24px;padding:2px 6px;line-height:20px;color:var(--muted);border:0;width:auto}
.masthead-v2 .language-switch a:after{display:none}.language-switch a[aria-current]{color:var(--copper)!important;font-weight:700;background:var(--ivory-2)}.language-switch>span{font-size:11px;color:var(--line-strong)}
.lang-en .masthead-company>strong{font-size:22px;letter-spacing:0;line-height:1.25}.lang-en .masthead-company>span{font-size:13px;letter-spacing:0}.lang-en .masthead-phone{font-size:24px;letter-spacing:0}.lang-en .masthead-v2 .brand strong{font-size:18px;letter-spacing:0}.lang-en .masthead-v2 nav:not(.language-switch){gap:5px}.lang-en .masthead-v2 nav:not(.language-switch)>a,.lang-en .masthead-v2 .nav-item>a{font-size:14px;padding:0 10px}.lang-en .hero h1{font-size:clamp(36px,4vw,58px);letter-spacing:-.025em}.lang-en .hero-specs dt{font-size:11px}.lang-en .floating-contact{font-size:11px}
@media(max-width:1150px) and (min-width:901px){.lang-en .masthead-company>strong{font-size:19px}.lang-en .masthead-phone{font-size:21px}.lang-en .masthead-v2 nav:not(.language-switch)>a,.lang-en .masthead-v2 .nav-item>a{font-size:12px;padding:0 7px}}
@media(max-width:900px){.masthead-v2 .header-inner{padding-top:39px}.masthead-v2 nav.language-switch{top:6px;max-height:none}.lang-en .masthead-company>strong{font-size:20px}.lang-en .masthead-contact{grid-template-columns:1fr}.lang-en .masthead-phone{justify-content:flex-start;font-size:24px}.lang-en .masthead-address{font-size:11px}.lang-en .hero h1{font-size:36px}.lang-en .masthead-v2 nav:not(.language-switch){max-height:calc(100dvh - 310px)}.lang-en .masthead-v2 .brand strong{font-size:16px}.lang-en .brand small{font-size:8px}}

/* FY monogram: precision tube ring, ivory F and copper Y. */
.brand-mark{width:52px;height:52px;background:var(--graphite);border-radius:4px;overflow:hidden}
.brand-mark svg.fy-monogram{width:52px;height:52px}
.brand-mark svg.fy-monogram circle{stroke:#b8bdb5;stroke-width:1}
.footer-brand .brand-mark{background:var(--graphite);color:var(--ivory)}
@media(max-width:900px){.brand-mark,.brand-mark svg.fy-monogram{width:44px;height:44px}}

.product-selection{margin:3rem 0;padding:2rem;border:1px solid var(--line,#d5d1c7);background:var(--paper,#f4f2ec)}.product-selection details{padding:1rem 0;border-top:1px solid #d5d1c7}.product-selection summary{cursor:pointer;font-weight:600}.product-selection details p{margin:.75rem 0 0}
