/* Template 29: Swiss Editorial — 瑞士编辑 · 蓝灰理性 */
:root {
  --blue: #2563eb;
  --blue-hover: #1d4ed8;
  --bg: #f0f4f8;
  --surface: #ffffff;
  --border: #cbd5e1;
  --border-dark: #0f172a;
  --text: #0f172a;
  --text-muted: #475569;
  --radius: 4px;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { background:var(--bg); color:var(--text); font-family:-apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, "PingFang SC", sans-serif; line-height:1.6; overflow-x:hidden; }
a { color:inherit; text-decoration:none; transition:all .2s; }
.container { max-width:1180px; margin:0 auto; padding:0 1.5rem; }

/* Swiss Header */
.swiss-header { background:var(--surface); border-bottom:2px solid var(--border-dark); padding:1rem 0; position:sticky; top:0; z-index:100; }
.swiss-header-inner { display:flex; justify-content:space-between; align-items:center; }
.swiss-logo { font-size:1.6rem; font-weight:900; letter-spacing:-.03em; color:var(--border-dark); }
.swiss-logo span { color:var(--blue); }
.swiss-nav { display:flex; gap:2rem; list-style:none; }
.swiss-nav a { font-size:.9rem; font-weight:700; color:var(--text-muted); text-transform:uppercase; letter-spacing:.05em; }
.swiss-nav a:hover, .swiss-nav a.active { color:var(--blue); border-bottom:2px solid var(--blue); padding-bottom:2px; }
.btn-swiss-blue { background:var(--blue); color:#fff; font-weight:700; padding:.55rem 1.4rem; border-radius:var(--radius); font-size:.88rem; display:inline-flex; align-items:center; gap:.5rem; }
.btn-swiss-blue:hover { background:var(--blue-hover); }

/* Swiss Hero Grid */
.swiss-hero { padding:6rem 0 5rem; background:var(--surface); border-bottom:1px solid var(--border); }
.swiss-hero-grid { display:grid; grid-template-columns:1.2fr 0.8fr; gap:3rem; align-items:center; }
.swiss-kicker { font-size:.8rem; font-weight:800; text-transform:uppercase; letter-spacing:.15em; color:var(--blue); margin-bottom:1rem; }
.swiss-hero h1 { font-size:clamp(2.4rem, 4.8vw, 3.8rem); font-weight:900; line-height:1.15; letter-spacing:-.03em; margin-bottom:1.5rem; }
.swiss-hero-desc { color:var(--text-muted); font-size:1.05rem; line-height:1.8; margin-bottom:2rem; }
.swiss-hero-actions { display:flex; gap:1.2rem; }
.btn-swiss-outline { border:2px solid var(--border-dark); color:var(--border-dark); font-weight:700; padding:.55rem 1.5rem; border-radius:var(--radius); font-size:.88rem; }
.btn-swiss-outline:hover { background:var(--border-dark); color:#fff; }

/* Hero Right Info Card */
.swiss-hero-box { border:2px solid var(--border-dark); padding:2rem; border-radius:var(--radius); background:var(--bg); }
.swiss-hero-box h4 { font-size:1.15rem; font-weight:800; margin-bottom:.8rem; }
.swiss-hero-box p { color:var(--text-muted); font-size:.92rem; line-height:1.7; }

/* Sections */
.swiss-section { padding:5.5rem 0; border-bottom:1px solid var(--border); }
.swiss-sec-head { margin-bottom:3.5rem; border-left:4px solid var(--blue); padding-left:1.2rem; }
.swiss-sec-head h2 { font-size:2.2rem; font-weight:900; letter-spacing:-.02em; }
.swiss-sec-head p { color:var(--text-muted); font-size:1rem; margin-top:.4rem; }

/* Horizontal Cards */
.swiss-card-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1.5rem; }
.swiss-card-h { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:2rem; transition:border-color .2s; }
.swiss-card-h:hover { border-color:var(--blue); }
.swiss-card-h .index { font-size:.85rem; font-weight:900; color:var(--blue); margin-bottom:.8rem; }
.swiss-card-h h3 { font-size:1.25rem; font-weight:800; margin-bottom:.5rem; }
.swiss-card-h p { color:var(--text-muted); font-size:.92rem; line-height:1.7; }

/* Download Grid */
.swiss-dl-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1.5rem; }
.swiss-dl-box { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:2.2rem; text-align:center; }
.swiss-dl-box i { font-size:2.6rem; color:var(--blue); margin-bottom:1rem; display:block; }
.swiss-dl-box h4 { font-size:1.2rem; font-weight:800; margin-bottom:.5rem; }
.swiss-dl-box p { color:var(--text-muted); font-size:.88rem; margin-bottom:1.5rem; }

/* Club Grid */
.swiss-club-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1.5rem; }
.swiss-club-box { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:1.8rem; }
.swiss-club-box .tag { font-size:.78rem; font-weight:800; text-transform:uppercase; color:var(--blue); margin-bottom:.5rem; display:block; }
.swiss-club-box h4 { font-size:1.15rem; font-weight:800; margin-bottom:.3rem; }
.swiss-club-box p { color:var(--text-muted); font-size:.88rem; }

/* FAQ Grid */
.swiss-faq-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:1.5rem; max-width:920px; margin:0 auto; }
.swiss-faq-box { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:1.75rem; }
.swiss-faq-box h4 { font-size:1.05rem; font-weight:800; color:var(--blue); margin-bottom:.6rem; }
.swiss-faq-box p { color:var(--text-muted); font-size:.92rem; line-height:1.7; }

/* Minimal Strip CTA */
.swiss-cta-strip { background:var(--border-dark); color:#fff; border-radius:var(--radius); padding:4rem 2rem; text-align:center; }
.swiss-cta-strip h2 { font-size:2.3rem; font-weight:900; margin-bottom:1rem; }
.swiss-cta-strip p { color:#94a3b8; font-size:1.05rem; margin-bottom:2rem; }

/* 4-Col Mega Footer */
.swiss-footer { background:var(--surface); padding:4.5rem 0 2rem; border-top:2px solid var(--border-dark); }
.swiss-footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:2.5rem; margin-bottom:3rem; }
.swiss-footer h4 { font-size:1rem; font-weight:900; text-transform:uppercase; margin-bottom:1.2rem; color:var(--border-dark); }
.swiss-footer p { color:var(--text-muted); font-size:.88rem; line-height:1.8; }
.swiss-footer ul { list-style:none; }
.swiss-footer li { margin-bottom:.5rem; }
.swiss-footer a { color:var(--text-muted); font-size:.88rem; }
.swiss-footer a:hover { color:var(--blue); }
.swiss-footer-bottom { border-top:1px solid var(--border); padding-top:1.5rem; text-align:center; font-size:.82rem; color:var(--text-muted); }

/* Subpage */
.swiss-subpage { padding:5rem 0; min-height:80vh; }
.swiss-sub-box { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:3rem; }
.swiss-sub-box h1 { font-size:2.2rem; font-weight:900; margin-bottom:1.5rem; color:var(--border-dark); }
.breadcrumb { font-size:.88rem; color:var(--text-muted); margin-bottom:1.5rem; }
.breadcrumb a { color:var(--blue); font-weight:700; }

@media (max-width:850px) {
  .swiss-hero-grid { grid-template-columns:1fr; }
  .swiss-nav { display:none; }
  .swiss-card-grid, .swiss-dl-grid, .swiss-club-grid, .swiss-faq-grid, .swiss-footer-grid { grid-template-columns:1fr; }
}
