
:root{--ink:#0b0b0c;--ink2:#131316;--paper:#f5f2ea;--paper2:#e9e4d8;--red:#d8402c;--red-l:#ff5c43;
--muted:rgba(245,242,234,.58);--muted-d:#6d6558;--line:rgba(245,242,234,.16);--line-d:rgba(11,11,12,.14);
--serif:"Cormorant Garamond",Georgia,serif;--sans:"Inter",-apple-system,"Segoe UI",sans-serif;--pad:clamp(1.15rem,3.6vw,4.2rem)}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font:400 15.5px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}
.wrap{max-width:1520px;margin:0 auto;padding:0 var(--pad)}
.lbl{font:600 9.5px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.lbl--red{color:var(--red-l)}.lbl--dark{color:var(--muted-d)}
/* header */
.hdr{position:sticky;top:0;z-index:60;background:rgba(11,11,12,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:1.6rem;padding:1rem var(--pad);max-width:1520px;margin:0 auto}
.logo{font:500 1rem/1 var(--serif);letter-spacing:.34em;text-transform:uppercase}
.logo i{font-style:normal;font-size:.46em;letter-spacing:.3em;vertical-align:super;color:var(--red-l);margin-left:.35em}
.nav__links{display:flex;gap:1.4rem;margin-left:auto}
.nav__links a{font:600 9.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:rgba(245,242,234,.7)}
.nav__links a:hover{color:var(--red-l)}
.nav__cta{font:600 9.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--line);padding:.6rem .9rem}
.cbanner{position:relative;height:clamp(140px,20vw,260px);overflow:hidden;border-bottom:1px solid var(--line)}
.cbanner__im{position:absolute;inset:0}
.cbanner__im img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;filter:saturate(.92) contrast(1.02)}
.cbanner__im img{object-fit:cover;object-position:50% 40%}
.cbanner__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,12,.88),rgba(11,11,12,.28) 60%,rgba(11,11,12,.72)),linear-gradient(180deg,rgba(11,11,12,.25),rgba(11,11,12,.62))}
/* category head */
.chead{padding:clamp(2.2rem,5vw,4rem) 0 clamp(1.4rem,2.6vw,2rem);border-bottom:1px solid var(--line)}
.crumb{display:flex;gap:.5rem;font:600 8.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.chead h1{font:300 clamp(2.2rem,4.6vw,4rem)/1.02 var(--serif);letter-spacing:-.02em;margin:1rem 0 0}
.chead .sub{color:rgba(245,242,234,.7);margin:.7rem 0 0;max-width:56ch}
.chip{display:inline-block;border:1px solid var(--line);padding:.42rem .7rem;font:600 8.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--red-l);margin-bottom:1rem}
/* answer block */
.answer{border-bottom:1px solid var(--line);padding:clamp(1.6rem,3vw,2.4rem) 0;background:var(--ink2)}
.answer h2{font:400 clamp(1.1rem,1.6vw,1.35rem)/1.3 var(--serif);margin:0 0 .6rem}
.answer p{margin:0;max-width:88ch;color:rgba(245,242,234,.74);font-size:.92rem}
.shortans{margin-top:1.6rem;border-left:2px solid var(--red);padding-left:1rem;max-width:92ch}
.shortans .sa-t{margin:.5rem 0 0;color:rgba(245,242,234,.84);font-size:.95rem}
.shortans .sa-d{margin:.7rem 0 0;font:600 8.5px/1.6 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.sgrid{min-width:0}
.nav__links{display:flex;gap:1.05rem;flex-wrap:wrap;justify-content:flex-end}
.nav__links a{font-size:9px;letter-spacing:.15em}
@media(max-width:1000px){.nav__links{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;max-width:70vw}.nav__links::-webkit-scrollbar{display:none}}
.navdrop{display:none;position:relative}
.navdrop summary{cursor:pointer;list-style:none;font:600 9px/1 var(--sans);letter-spacing:.18em;color:var(--paper);padding:.35rem 0}
.navdrop summary::-webkit-details-marker{display:none}
.navdrop summary:after{content:" ▾"}
.navdrop__in{position:absolute;right:0;top:1.5rem;background:var(--ink);border:1px solid var(--line);padding:.9rem 1rem;display:grid;grid-template-columns:1fr 1fr;gap:.45rem 1.6rem;z-index:95;min-width:330px}
.navdrop__in a{font:600 9px/1.6 var(--sans);letter-spacing:.14em;color:rgba(245,242,234,.82);text-decoration:none}
.navdrop__in a:hover{color:var(--red-l)}
@media(max-width:1180px){.nav__links{display:none}.navdrop{display:block}.nav{{gap:1rem}}}
/* layout */
.pg{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(1.4rem,3vw,2.8rem);padding:clamp(1.6rem,3vw,2.6rem) clamp(1rem,2.4vw,2.5rem) clamp(3rem,6vw,5rem);align-items:start}
.side{position:sticky;top:5.2rem}
.side section{margin-bottom:1.6rem;border-top:1px solid var(--line);padding-top:.9rem}
.side h3{font:600 8.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin:0 0 .8rem}
.range{display:flex;justify-content:space-between;font:400 .95rem/1 var(--serif);color:var(--paper);margin-bottom:.7rem}
.bar{height:2px;background:rgba(245,242,234,.18);position:relative;margin:.2rem 0 1rem}
.bar i{position:absolute;inset:0 auto 0 0;width:100%;background:var(--red)}
.side ul{list-style:none;margin:0;padding:0}
.side li a,.side li label{display:flex;justify-content:space-between;gap:.55rem;align-items:center;padding:.42rem 0;font-size:.86rem;color:rgba(245,242,234,.8);cursor:pointer}
.side li a:hover,.side li label:hover{color:var(--red-l)}
.side li b{font:600 9px/1 var(--sans);letter-spacing:.1em;color:var(--muted)}
.side input[type=checkbox]{accent-color:var(--red);width:12px;height:12px;margin:0;flex:0 0 auto}
.side li label span,.side li a span{flex:1 1 auto;min-width:0}
.side li.on a{color:var(--ink);background:var(--paper);padding:.42rem .6rem;margin:0 -.6rem}
/* results bar */
.rbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.9rem;margin-bottom:1.2rem}
.rbar .n{font:600 9px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
select{background:transparent;color:var(--paper);border:1px solid var(--line);padding:.55rem .7rem;font:600 9px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}
select option{background:var(--ink)}
/* grid */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.card{background:var(--ink2);border:1px solid rgba(245,242,234,.09);display:block;transition:border-color .35s}
.card:hover{border-color:rgba(245,242,234,.4)}
.card .im{position:relative;aspect-ratio:1;background:#fbfaf7;padding:9%;overflow:hidden}
.card .im img{width:100%;height:100%;object-fit:contain;transition:transform 1s cubic-bezier(.19,1,.22,1)}
.card:hover .im img{transform:scale(1.04)}
.card .tag{position:absolute;top:0;left:0;background:var(--red);color:#fff;font:600 8px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:.4rem .5rem;z-index:2}
.card .info{padding:.7rem .75rem .85rem;border-top:1px solid rgba(245,242,234,.12)}
.card .row{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem}
.card h3{font:400 .98rem/1.25 var(--serif);margin:0}
.card .price{font:400 .95rem/1 var(--serif);color:var(--red-l);white-space:nowrap}
.card .meta{margin:.3rem 0 0;font:600 7.5px/1.5 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
/* pager */
.pager{display:flex;gap:.4rem;justify-content:center;margin-top:2rem}
.pager a,.pager span{border:1px solid var(--line);padding:.55rem .8rem;font:600 9px/1 var(--sans);letter-spacing:.16em}
.pager .on{background:var(--paper);color:var(--ink);border-color:var(--paper)}
/* related */
.rel{border-top:1px solid var(--line);padding:clamp(2rem,4vw,3rem) 0}
.rel ul{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem 2rem}
.rel li{display:flex;justify-content:space-between;border-bottom:1px solid rgba(245,242,234,.1);padding:.55rem 0;font-size:.9rem}
.rel li span{color:var(--muted)}
/* cta */
.cta{background:var(--red);color:#fff;padding:clamp(1.8rem,3.4vw,2.8rem);margin:0 0 clamp(2rem,4vw,3rem);
display:grid;grid-template-columns:1.2fr .8fr;gap:1.4rem;align-items:center}
.cta h2{font:300 clamp(1.4rem,2.4vw,2.1rem)/1.1 var(--serif);margin:0}
.cta p{margin:.5rem 0 0;font-size:.9rem;color:rgba(255,255,255,.88)}
.cta form{display:flex;gap:.5rem}
.cta input{flex:1;border:0;padding:.85rem 1rem;font:400 .85rem var(--sans)}
.cta button{background:var(--ink);color:#fff;border:0;padding:.85rem 1.2rem;font:600 9px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
/* footer */
.ft{border-top:1px solid var(--line);padding:2.4rem 0 1.6rem;margin-top:1rem}
.ft .mark{font:300 clamp(1.6rem,5.6vw,3.6rem)/.9 var(--serif);letter-spacing:.05em;text-transform:uppercase}
.ft .mark i{font-style:normal;color:var(--red-l)}
.ft .row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-top:1rem;font:600 8px/1.8 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
@media(max-width:1100px){.grid{grid-template-columns:repeat(3,1fr)}.pg{grid-template-columns:1fr}.side{position:static;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}}
@media(max-width:760px){.grid{grid-template-columns:1fr 1fr}.cta{grid-template-columns:1fr}.rel ul{grid-template-columns:1fr}.nav__links{display:none}}
@media(max-width:480px){.grid{grid-template-columns:1fr}}

/* 缺图占位 */
.card .noimg{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#141416;border:1px dashed rgba(245,242,234,.14)}
.card .noimg span{font:600 8.5px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:rgba(245,242,234,.38);text-align:center;padding:0 1rem}

/* 锚点跳转不被固定头挡住 */
html{scroll-padding-top:86px}
section[id],[id]{scroll-margin-top:86px}

/* ---- 总览页（/brands/ /factories/） ---- */
.hubgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin-top:1.4rem}
.hubcard{display:block;border:1px solid rgba(245,242,234,.12);text-decoration:none;background:#0f0f10}
.hubcard__im{aspect-ratio:16/10;background:#141416;overflow:hidden}
.hubcard__im img{width:100%;height:100%;object-fit:cover;display:block}
.hubcard__b{padding:.9rem 1rem 1.1rem;position:relative}
.hubcard__n{position:absolute;right:1rem;top:.85rem;font:600 8.5px/1 var(--sans);letter-spacing:.2em;color:rgba(245,242,234,.35)}
.hubcard__b b{display:block;font:300 clamp(1.05rem,1.7vw,1.3rem)/1.2 var(--serif);color:var(--paper)}
.hubcard__b em{display:block;margin-top:.35rem;font-style:normal;font:600 8.5px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:rgba(245,242,234,.45)}
.hubcard:hover{border-color:rgba(216,64,44,.6)}
@media(max-width:900px){.hubgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hubgrid{grid-template-columns:1fr}}
/* ---- 搜索 ---- */
.searchform{display:flex;gap:.6rem;margin-top:1.6rem;max-width:620px}
.searchform input{flex:1;background:#111113;border:1px solid rgba(245,242,234,.18);color:var(--paper);padding:.85rem 1rem;font:400 .95rem/1 var(--sans);border-radius:2px}
.searchform input:focus{outline:none;border-color:rgba(216,64,44,.7)}
.searchform button{background:#d8402c;color:#fff;border:0;padding:.85rem 1.3rem;font:600 9px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
