*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#1a1a1a;background:#fff;line-height:1.75;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:#c2410c;text-decoration:none}
a:hover{text-decoration:underline}
.shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
section{scroll-margin-top:78px}

.site-top{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid #ebebeb}
.top-inner{display:flex;align-items:center;justify-content:space-between;min-height:66px;gap:16px}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:17px;color:#111}
.brand img{width:40px;height:40px;border-radius:11px}
.top-nav{display:flex;gap:20px;align-items:center}
.top-nav a{color:#555;font-size:14px;font-weight:500}
.top-nav a:hover{color:#111;text-decoration:none}
.menu-btn{display:none;border:1px solid #ddd;background:#fff;border-radius:9px;padding:8px 13px;cursor:pointer;font-size:15px}
.mobile-nav{display:none;flex-direction:column;padding:10px 20px 18px;border-top:1px solid #eee;background:#fff}
.mobile-nav.open{display:flex}
.mobile-nav a{padding:11px 0;border-bottom:1px solid #f3f3f3;color:#444;font-size:15px}

.ads-wrap{border-bottom:1px solid #f0f0f0;background:#fafafa}

/* Card Mosaic — asymmetric grid */
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(68px,auto);gap:15px;padding:38px 0 60px}
.mc{background:#fff;border:1px solid #e8e8e8;border-radius:20px;overflow:hidden;box-shadow:0 6px 28px rgba(0,0,0,.045);transition:transform .25s,box-shadow .25s}
.mc:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(0,0,0,.07)}
.mc-inner{padding:26px 28px}
.mc h2,.mc h3{margin:0 0 10px;line-height:1.35}
.mc p{margin:0 0 12px;color:#555;font-size:14px}
.mc p:last-child{margin-bottom:0}
.mc-label{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.14em;color:#ea580c;margin-bottom:10px;text-transform:uppercase}

.mc-hero{grid-column:1/8;grid-row:span 4;background:linear-gradient(145deg,#fff7ed 0%,#fff 55%);padding:34px 36px;display:flex;flex-direction:column;justify-content:center}
.mc-hero h1{font-size:clamp(26px,3.6vw,40px);margin:0 0 14px;line-height:1.22;color:#111}
.mc-hero .lead{font-size:16px;color:#444;margin-bottom:16px}
.mc-hero .note{font-size:13px;color:#777}

.mc-portrait{grid-column:8/10;grid-row:span 5;padding:0;min-height:280px}
.mc-portrait img{width:100%;height:100%;object-fit:cover;min-height:280px}

.mc-stack{grid-column:10/13;grid-row:span 3;padding:22px 24px;background:#fefce8;border-color:#fde68a}
.mc-stack h3{font-size:16px}

.mc-wide{grid-column:1/5;grid-row:span 3}
.mc-mid{grid-column:5/9;grid-row:span 2}
.mc-slim{grid-column:9/13;grid-row:span 2;padding:20px 22px}

.mc-img-wide{grid-column:1/7;grid-row:span 3;padding:0;min-height:220px}
.mc-img-wide img{width:100%;height:100%;object-fit:cover;min-height:220px}

.mc-tall-text{grid-column:7/10;grid-row:span 4}
.mc-accent{grid-column:10/13;grid-row:span 4;background:#f0fdf4;border-color:#bbf7d0}

.mc-offset{grid-column:2/6;grid-row:span 2;margin-top:8px}
.mc-offset-r{grid-column:6/11;grid-row:span 3}
.mc-mini{grid-column:11/13;grid-row:span 2;padding:18px;background:#faf5ff;border-color:#e9d5ff;text-align:center;display:flex;flex-direction:column;justify-content:center}
.mc-mini strong{font-size:22px;color:#7c3aed;display:block}

.mc-cover{grid-column:span 3;grid-row:span 4;padding:0}
.mc-cover img{width:100%;height:100%;object-fit:cover;aspect-ratio:2/3;min-height:240px}
.mc-cover .cap{padding:14px 16px;font-size:13px}
.mc-cover .cap b{display:block;font-size:15px;color:#111;margin-bottom:4px}

.strip{margin:48px 0;padding:36px 0;border-top:1px solid #eee;border-bottom:1px solid #eee}
.strip h2{font-size:clamp(22px,2.8vw,30px);margin:0 0 22px;text-align:center}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.faq-item{border:1px solid #ececec;border-radius:14px;padding:18px 20px;background:#fff}
.faq-item summary{cursor:pointer;font-weight:600;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item p{margin-top:10px;font-size:14px;color:#555}

.link-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.chip{display:inline-flex;align-items:center;padding:8px 16px;border:1px solid #fed7aa;border-radius:999px;font-size:13px;color:#9a3412;background:#fff7ed}
.chip:hover{text-decoration:none;background:#ffedd5}

.prose{max-width:740px;margin:0 auto;padding:44px 0 56px}
.prose h1{font-size:clamp(28px,3vw,36px);margin:0 0 20px;line-height:1.3}
.prose h2{font-size:22px;margin:32px 0 12px}
.prose p,.prose li{color:#444;font-size:15px}
.prose ul{padding-left:22px}

.site-foot{padding:40px 0 48px;background:#fafafa;border-top:1px solid #eee;font-size:13px;color:#888}
.site-foot a{color:#666;margin-right:16px}
.site-foot p{margin:12px 0 0}

.err-page{min-height:62vh;display:grid;place-items:center;text-align:center;padding:40px 20px}
.err-page h1{font-size:72px;margin:0;color:#ddd;font-weight:800}
.err-page p{font-size:17px;color:#666}

@media(max-width:960px){
  .mosaic{grid-template-columns:repeat(6,1fr)}
  .mc-hero{grid-column:1/7;grid-row:span 3}
  .mc-portrait{grid-column:1/4;grid-row:span 4}
  .mc-stack{grid-column:4/7;grid-row:span 3}
  .mc-wide,.mc-mid,.mc-slim,.mc-img-wide,.mc-tall-text,.mc-accent,.mc-offset,.mc-offset-r,.mc-mini,.mc-cover{grid-column:1/7;grid-row:span 2;margin-top:0}
  .faq-grid{grid-template-columns:1fr}
  .menu-btn{display:inline-flex}
  .top-nav{display:none}
}

@media(max-width:520px){
  .mosaic{grid-template-columns:1fr;gap:12px}
  .mc-hero,.mc-portrait,.mc-stack,.mc-wide,.mc-mid,.mc-slim,.mc-img-wide,.mc-tall-text,.mc-accent,.mc-offset,.mc-offset-r,.mc-mini,.mc-cover{grid-column:1;grid-row:auto}
}
