:root { --ink:#171717; --paper:#f6f6f3; --white:#fff; --accent:#b3262d; --gold:#b28a4a; --line:#d9d9d4; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, "Microsoft YaHei", sans-serif; letter-spacing:0; }
a { color:inherit; }
.site-header { height:78px; padding:0 4vw; display:flex; align-items:center; justify-content:space-between; gap:28px; background:var(--white); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; min-width:230px; }
.brand-mark { width:40px; height:40px; display:grid; place-items:center; background:var(--ink); color:var(--white); font-weight:700; }
.brand strong,.brand small { display:block; }
.brand strong { font-size:15px; }
.brand small { margin-top:3px; color:#666; font-size:11px; }
nav { display:flex; gap:30px; }
nav a { font-size:13px; text-decoration:none; }
nav a:hover { color:var(--accent); }
.language { display:flex; border:1px solid var(--line); }
.language button { min-width:46px; height:34px; border:0; background:transparent; cursor:pointer; }
.language button.active { background:var(--ink); color:var(--white); }
.hero { min-height:calc(92vh - 78px); position:relative; display:flex; align-items:flex-end; overflow:hidden; }
.hero>img,.hero-shade { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-shade { background:rgba(0,0,0,.5); }
.hero-content { position:relative; width:min(760px,90vw); margin:0 0 8vh 7vw; color:var(--white); }
.eyebrow,.section-label { text-transform:uppercase; font-size:12px; font-weight:700; color:var(--gold); }
.hero h1 { margin:10px 0 14px; font-family:Georgia,serif; font-size:clamp(48px,8vw,112px); line-height:.96; font-weight:400; }
.hero-content>p:not(.eyebrow) { max-width:620px; font-size:18px; line-height:1.6; }
.primary-action { display:inline-block; margin-top:20px; padding:15px 20px; background:var(--accent); color:var(--white); text-decoration:none; font-weight:700; }
.intro { max-width:1180px; margin:auto; padding:90px 5vw 70px; display:grid; grid-template-columns:1.5fr 1fr; gap:40px 70px; }
.intro .section-label { grid-column:1/-1; }
h2 { margin:0; font-family:Georgia,"Microsoft YaHei",serif; font-size:clamp(34px,5vw,64px); line-height:1.08; font-weight:400; }
.intro>p:last-child { margin:0; align-self:end; color:#585858; line-height:1.8; }
.products { display:grid; grid-template-columns:repeat(2,1fr); background:var(--ink); }
.product-card { min-height:480px; position:relative; overflow:hidden; color:var(--white); }
.product-card img { width:100%; height:100%; position:absolute; object-fit:cover; filter:brightness(.67); transition:transform .5s ease; }
.product-card:hover img { transform:scale(1.03); }
.product-card>div { position:absolute; inset:auto 0 0; padding:38px; }
.product-card span { color:#ddd; font-size:12px; }
.product-card h3 { margin:8px 0; font-size:32px; }
.product-card p { margin:0; max-width:440px; line-height:1.55; }
.services { padding:100px 6vw; display:grid; grid-template-columns:1fr 1fr; gap:8vw; }
.services ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.services li { display:grid; grid-template-columns:48px 1fr; gap:5px 20px; padding:25px 0; border-bottom:1px solid var(--line); }
.services li span { grid-row:1/3; color:var(--accent); }
.services li p { margin:5px 0 0; color:#666; line-height:1.5; }
.contact { padding:100px 7vw; background:var(--accent); color:var(--white); }
.contact .section-label { color:#ffd8c3; }
.contact h2 { max-width:950px; }
.contact p:not(.section-label) { max-width:680px; line-height:1.7; }
.contact-link { display:inline-block; margin-top:28px; padding-bottom:5px; border-bottom:2px solid var(--white); font-size:clamp(20px,3vw,34px); text-decoration:none; overflow-wrap:anywhere; }
footer { padding:26px 5vw; display:flex; justify-content:space-between; gap:20px; background:var(--white); font-size:12px; color:#555; }
@media (max-width:760px) {
  .site-header { height:auto; min-height:72px; padding:12px 18px; flex-wrap:wrap; }
  .site-header nav { order:3; width:100%; justify-content:space-between; padding-top:10px; border-top:1px solid var(--line); }
  .brand { min-width:0; }
  .hero { min-height:78vh; }
  .hero-content { margin:0 24px 48px; }
  .intro,.services { grid-template-columns:1fr; padding:70px 24px; }
  .products { grid-template-columns:1fr; }
  .product-card { min-height:390px; }
  .product-card>div { padding:28px 24px; }
  footer { flex-direction:column; }
}
