/* ============================================================
   structured.css — 结构化版式补充层
   原则（来自外部评审）：logo、导航、栏目标题、图片不创新；
   结构统一；状态诚实；少特效。
   仅叠加在 site.css 之上，不覆盖其设计变量。
   ============================================================ */

/* ---------- 导航简历按钮 ---------- */
.site-header .desktop-nav .nav-resume{padding:.32em .95em;border:1px solid var(--ink);border-radius:999px;color:var(--ink)}
.site-header .desktop-nav .nav-resume:hover{background:var(--ink);color:var(--white)}
.menu-overlay .nav-resume{border:1px solid var(--line);border-radius:999px;padding:.4em 1.2em}

/* ---------- 状态徽章 ---------- */
.badge{display:inline-flex;align-items:center;gap:.4em;padding:.28em .8em;border-radius:999px;font-size:.78rem;line-height:1.4;border:1px solid var(--line);background:var(--card-paper);color:var(--ink-2);white-space:nowrap}
.badge::before{content:"";width:.5em;height:.5em;border-radius:50%;background:var(--grey);flex:none}
.badge-wip{background:#FFF3E9;border-color:#F5C9A8;color:var(--orange-ink)}
.badge-wip::before{background:var(--orange)}
.badge-intern{background:#EDF3FF;border-color:#B9CCFF;color:var(--blue-ink)}
.badge-intern::before{background:var(--blue)}
.badge-course{background:#F6F5F2;border-color:var(--line);color:var(--muted)}
.badge-course::before{background:var(--grey)}
.badge-personal{background:#F4FBE9;border-color:#D3E8A8;color:#4E6B12}
.badge-personal::before{background:#7BA82A}

/* ---------- 首屏三句话 ---------- */
.hero-plain{padding:calc(var(--section-y)*.9) 0 calc(var(--section-y)*.55)}
.hero-plain .identity{display:flex;flex-wrap:wrap;gap:.6em 1.2em;align-items:baseline;margin-bottom:1.6rem}
.hero-plain .identity .name{font-size:1.05rem;font-weight:700}
.hero-plain .identity .meta{color:var(--muted);font-size:var(--fs-small)}
.hero-plain h1{font-size:var(--fs-display);line-height:1.14;letter-spacing:.01em;margin:0 0 1.2rem;font-weight:700}
.hero-plain h1 .accent{color:var(--orange)}
.hero-plain .lede{max-width:38em;color:var(--ink-2);font-size:1.125rem;line-height:1.8;margin:0 0 2rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}

/* ---------- 数字证据条 ---------- */
.fact-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin:clamp(2.5rem,5vw,4rem) 0 0}
.fact-strip .fact{background:var(--card-paper);padding:1.2rem 1.4rem}
.fact-strip .fact strong{display:block;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.2;font-weight:700;color:var(--ink)}
.fact-strip .fact strong em{font-style:normal;color:var(--orange)}
.fact-strip .fact span{display:block;margin-top:.35rem;font-size:var(--fs-small);color:var(--muted);line-height:1.55}
@media (max-width:900px){.fact-strip{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.fact-strip{grid-template-columns:1fr 1fr}}

/* ---------- 区块标题 ---------- */
.block-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.8rem 2rem;margin-bottom:clamp(1.6rem,3vw,2.6rem)}
.block-head h2{font-size:var(--fs-h2);margin:0;font-weight:700;line-height:1.25}
.block-head .more{color:var(--ink-2);font-size:var(--fs-small);text-decoration:none;border-bottom:1px solid var(--line)}
.block-head .more:hover{color:var(--orange);border-color:var(--orange)}

/* ---------- 项目卡片网格 ---------- */
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem)}
@media (max-width:1000px){.proj-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.proj-grid{grid-template-columns:1fr}}
.proj-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;text-decoration:none;color:var(--ink);transition:border-color var(--t-hover),box-shadow var(--t-hover)}
.proj-card:hover{border-color:var(--ink);box-shadow:var(--shadow-card)}
.proj-card .thumb{aspect-ratio:16/9;background:var(--card-paper);border-bottom:1px solid var(--line);overflow:hidden}
.proj-card .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.proj-card .body{display:flex;flex-direction:column;gap:.6rem;padding:1.1rem 1.2rem 1.3rem;flex:1}
.proj-card .badge-row{display:flex;justify-content:space-between;align-items:center;gap:.6rem}
.proj-card .no{font-size:var(--fs-eyebrow);color:var(--muted);letter-spacing:.08em}
.proj-card h3{margin:0;font-size:1.2rem;line-height:1.4;font-weight:700}
.proj-card p{margin:0;font-size:var(--fs-small);line-height:1.7;color:var(--muted);flex:1}
.proj-card .tags{margin-top:.2rem}
.proj-card .tags span{display:inline-block;font-size:.72rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.15em .7em;margin:0 .35rem .35rem 0;background:var(--card-paper)}

/* ---------- 主项目置顶大卡 ---------- */
.proj-feature{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-bottom:clamp(1.2rem,2.5vw,2rem);background:var(--white);text-decoration:none;color:var(--ink);transition:border-color var(--t-hover),box-shadow var(--t-hover)}
.proj-feature:hover{border-color:var(--ink);box-shadow:var(--shadow-card)}
.proj-feature .thumb{background:linear-gradient(135deg,#FFF3E9,#FFE3CE);display:flex;align-items:center;justify-content:center;padding:clamp(1.5rem,3vw,3rem);border-right:1px solid var(--line)}
.proj-feature .thumb img{width:auto;max-width:100%;height:clamp(340px,42vw,480px);object-fit:contain;border-radius:var(--r-sm);box-shadow:0 18px 44px -18px rgba(60,30,0,.35);margin:auto}
.proj-feature .body{padding:clamp(1.4rem,3vw,2.4rem);display:flex;flex-direction:column;gap:.7rem}
.proj-feature h3{margin:0;font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:700;line-height:1.3}
.proj-feature p{margin:0;color:var(--ink-2);line-height:1.75}
.proj-feature .tags{margin-top:auto;padding-top:1rem}
@media (max-width:800px){.proj-feature{grid-template-columns:1fr}.proj-feature .thumb{border-right:0;border-bottom:1px solid var(--line);padding:1.2rem}}

/* ---------- 次主力项目横向中卡 ---------- */
.proj-feature-sub{display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-bottom:clamp(1.2rem,2.5vw,2rem);background:var(--white);text-decoration:none;color:var(--ink);transition:border-color var(--t-hover),box-shadow var(--t-hover)}
.proj-feature-sub:hover{border-color:var(--ink);box-shadow:var(--shadow-card)}
.proj-feature-sub .thumb{background:var(--card-paper);border-right:1px solid var(--line);overflow:hidden}
.proj-feature-sub .thumb img{width:100%;height:100%;min-height:185px;object-fit:cover;display:block}
.proj-feature-sub .body{padding:clamp(1.2rem,2.4vw,1.9rem);display:flex;flex-direction:column;gap:.6rem}
.proj-feature-sub h3{margin:0;font-size:clamp(1.25rem,2vw,1.55rem);font-weight:700;line-height:1.35}
.proj-feature-sub p{margin:0;color:var(--ink-2);line-height:1.75;font-size:var(--fs-small)}
.proj-feature-sub .tags{margin-top:auto;padding-top:.8rem}
@media (max-width:800px){.proj-feature-sub{grid-template-columns:1fr}.proj-feature-sub .thumb{border-right:0;border-bottom:1px solid var(--line)}.proj-feature-sub .thumb img{min-height:0;aspect-ratio:16/9}}

/* ---------- 其余项目：小卡片网格（一笔带过但看得见） ---------- */
.proj-grid-sm{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.8rem,1.6vw,1.1rem)}
@media (max-width:980px){.proj-grid-sm{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.proj-grid-sm{grid-template-columns:1fr}}
.proj-card-sm{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;text-decoration:none;color:var(--ink);transition:border-color var(--t-hover),box-shadow var(--t-hover),transform var(--t-hover)}
.proj-card-sm:nth-child(odd){transform:rotate(-1.1deg)}
.proj-card-sm:nth-child(even){transform:rotate(1.1deg)}
.proj-card-sm:hover{border-color:var(--ink);box-shadow:var(--shadow-card);transform:rotate(0) translateY(-5px)}
.proj-card-sm:hover{border-color:var(--ink);box-shadow:var(--shadow-card)}
.proj-card-sm .thumb{aspect-ratio:16/10;background:var(--card-paper);border-bottom:1px solid var(--line);overflow:hidden;display:flex;align-items:center;justify-content:center}
.proj-card-sm .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.proj-card-sm .body{padding:.85rem 1rem 1rem;display:flex;flex-direction:column;gap:.45rem;flex:1}
.proj-card-sm h3{margin:0;font-size:1rem;line-height:1.45;font-weight:600}
.proj-card-sm p{margin:0;font-size:.82rem;line-height:1.6;color:var(--muted);flex:1}
.proj-card-sm .badge{align-self:flex-start;font-size:.7rem;padding:.18em .65em}

/* ---------- 关键词跑马灯（恢复自旧版交互） ---------- */
.keyword-ribbon{width:110%;margin-left:-5%;margin-top:clamp(2.5rem,5vw,4rem);padding:15px 0;overflow:hidden;transform:rotate(-1deg);background:var(--orange);color:#FFF;pointer-events:none}
.keyword-track{display:flex;width:max-content;animation:ribbon-flow 70s linear infinite}
.keyword-track>div{display:flex;gap:44px;padding-right:44px;white-space:nowrap;font-size:13px;letter-spacing:.05em;font-weight:600}
@keyframes ribbon-flow{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.keyword-track{animation:none}}

/* ---------- 关于速览 ---------- */
.about-brief{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(1.5rem,4vw,4rem);align-items:start}
@media (max-width:800px){.about-brief{grid-template-columns:1fr}}
.about-brief h2{font-size:var(--fs-h2);margin:.2rem 0 1.2rem;font-weight:700;line-height:1.3}
.about-brief p{margin:0 0 1rem;line-height:1.85;color:var(--ink-2)}
.about-facts{display:flex;flex-direction:column;gap:.1rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card-paper);padding:1.4rem 1.5rem}
.about-facts dl{display:grid;grid-template-columns:auto 1fr;gap:.55rem 1.2rem;margin:0}
.about-facts dt{color:var(--muted);font-size:var(--fs-small);white-space:nowrap}
.about-facts dd{margin:0;font-size:var(--fs-small);color:var(--ink)}

/* ---------- 联系条 ---------- */
.contact-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card-paper)}
.contact-band .inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(2rem,4vw,3rem) 0}
.contact-band h2{margin:0;font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:700}
.contact-band p{margin:.3rem 0 0;color:var(--muted);font-size:var(--fs-small)}

/* ---------- 术语说明（MES 页） ---------- */
.term-box{border:1px solid var(--line);border-left:4px solid var(--orange);border-radius:var(--r-sm);background:var(--card-paper);padding:1.2rem 1.4rem;margin:.5rem 0 0}
.term-box dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.2rem;margin:0}
.term-box dt{font-weight:700;font-size:var(--fs-small)}
.term-box dd{margin:0;font-size:var(--fs-small);color:var(--ink-2);line-height:1.7}

/* ---------- 项目性质与角色条 ---------- */
.role-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin:1.2rem 0 0}
.role-strip div{background:var(--card-paper);padding:1rem 1.2rem}
.role-strip dt{font-size:var(--fs-eyebrow);color:var(--muted);letter-spacing:.06em;margin-bottom:.3rem}
.role-strip dd{margin:0;font-size:var(--fs-small);line-height:1.65;color:var(--ink)}
@media (max-width:700px){.role-strip{grid-template-columns:1fr}}

/* ---------- 版本时间线 ---------- */
.timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:1.2rem}
.timeline li{position:relative;padding-left:1.4rem}
.timeline li::before{content:"";position:absolute;left:-7px;top:.35em;width:12px;height:12px;border-radius:50%;background:var(--white);border:3px solid var(--orange)}
.timeline .when{font-size:var(--fs-small);color:var(--muted);display:block;margin-bottom:.15rem}
.timeline .what{display:block;font-weight:600}
.timeline .why{display:block;color:var(--muted);font-size:var(--fs-small);line-height:1.7;margin-top:.2rem}

/* ---------- 单据实测表 ---------- */
.evidence-table{width:100%;border-collapse:collapse;font-size:var(--fs-small);margin:1rem 0 0}
.evidence-table th,.evidence-table td{border:1px solid var(--line);padding:.6rem .8rem;text-align:left;vertical-align:top;line-height:1.6}
.evidence-table th{background:var(--card-paper);font-weight:600;color:var(--ink)}
.evidence-table td{color:var(--ink-2)}
.evidence-table caption{caption-side:top;text-align:left;color:var(--muted);font-size:var(--fs-small);padding-bottom:.5rem}

/* ---------- 诚实标注块 ---------- */
.note-open{border:1px dashed #E5B96B;background:#FFFAEF;color:#8A6116;border-radius:var(--r-sm);padding:.9rem 1.2rem;font-size:var(--fs-small);line-height:1.7;margin:1rem 0 0}
.note-open strong{color:#6E4E0F}

/* ---------- 归档区 ---------- */
.archive-head{margin:clamp(2.5rem,5vw,4rem) 0 1.4rem;display:flex;align-items:baseline;gap:1rem}
.archive-head h3{margin:0;font-size:1.15rem;font-weight:700}
.archive-head span{color:var(--muted);font-size:var(--fs-small)}

/* ---------- 页脚（结构化覆盖） ---------- */
site-footer .footer-inner{flex-direction:row}

/* ---------- 全部项目区：主力/归档分隔 ---------- */
.list-divider{display:flex;align-items:baseline;gap:1.2rem;flex-wrap:wrap;padding:1.6rem .2rem .2rem;border-top:1px dashed var(--line);margin-top:.6rem}
.list-divider .divider-note{margin:0;color:var(--muted);font-size:var(--fs-small);line-height:1.7}
.list-divider + .proj-grid-sm{margin-top:1.2rem}
/* 07 节 Demo 入口：铺满行宽、边距对称 */
.demo-cta{margin-top:1.25rem}
.demo-cta .btn{width:100%}
@media(max-width:600px){.demo-cta .btn{white-space:normal;height:auto;min-height:48px;padding:12px 18px}}
