/* D · 光轨空间。银灰材质与固定入口，装饰运动不承载正文。 */
:root {
  --paper:#e9ebf1; --surface:#f1f3f7; --ink:#2c323a; --muted:#555d68;
  --line:#bcc3ce; --wash:#dfe3ea; --radius:24px; --content-width:1240px;
  --accent:#b92b31; --accent-ink:#fff; --focus:#a92329; --warning:#853439;
  --display-font:"Noto Sans SC","Microsoft YaHei UI",sans-serif; --heading-weight:750;
  --good-wash:#e0e6ed; --bad-wash:#f2e5e6; --orbit-red:#c93436;
  --raise:15px 15px 30px #c7ccd6,-12px -12px 25px #ffffff;
  --raise-small:7px 7px 15px #c9ced8,-6px -6px 14px #ffffff;
  --press:inset 5px 5px 10px #cbd0da,inset -5px -5px 10px #ffffff;
  font-family:"Noto Sans SC","Microsoft YaHei UI",sans-serif;
}
body { background:var(--paper); }
h1,h2,h3,.hero-copy h1,.guide-section-head h2,.module-heading h2 { font-family:var(--display-font); letter-spacing:-.04em; font-weight:750; }
a { text-decoration-thickness:1px; }
.site-header { background:var(--paper); border:0; padding-top:14px; }
.header-inner { min-height:68px; max-width:calc(var(--content-width) - 48px); padding-inline:26px; border:1px solid #f7f8fb; border-radius:999px; background:var(--paper); box-shadow:var(--raise-small); }
.brand { font-size:21px; font-weight:800; letter-spacing:-.045em; }
.brand span { font-weight:500; font-size:12px; margin-left:11px; }
.brand::before { content:''; display:inline-block; width:9px; height:9px; margin-right:10px; border-radius:50%; background:var(--orbit-red); box-shadow:0 0 0 4px #f3d7d9; vertical-align:2px; }
.site-nav { gap:6px; }
.site-nav a { border-radius:999px; padding:11px 18px; font-size:15px; }
.site-nav a:hover { background:var(--paper); box-shadow:var(--press); }
.site-nav a[aria-current="page"] { text-decoration:none; color:var(--accent); box-shadow:var(--press); background:var(--paper); }
.location-bar { min-height:34px; padding-top:9px; padding-bottom:3px; font-size:12px; }
main { padding:34px 28px 76px; }
.page-head { max-width:960px; margin-bottom:44px; padding-block:8px; }
.eyebrow { font-size:12px; font-weight:600; letter-spacing:.045em; color:var(--muted); }
.page-head h1 { font-size:clamp(34px,4.4vw,53px); line-height:1.35; }
.heading-rule { width:56px; height:3px; background:var(--orbit-red); border-radius:99px; margin:24px 0; }
.lead { max-width:63ch; font-size:18px; line-height:1.9; }
.showcase-home { margin-top:-12px; }
.identity-hero { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); align-items:center; gap:22px; min-height:610px; }
.hero-text { position:relative; padding-block:28px; min-width:0; }
.hero-text .eyebrow { display:inline-flex; align-items:center; min-height:34px; padding:6px 14px; border:1px solid #f9fafc; border-radius:999px; box-shadow:var(--raise-small); font-size:13px; margin-bottom:28px; }
.hero-text h1 { font-size:clamp(43px,4.9vw,61px); max-width:11ch; line-height:1.28; letter-spacing:-.055em; font-weight:800; margin-bottom:26px; text-wrap:balance; }
.hero-text .lead { max-width:35ch; font-size:18px; line-height:1.95; }
.hero-text .heading-rule { margin-block:24px; }
.hero-visual { min-width:0; position:relative; }
.orbit-stage { position:relative; isolation:isolate; width:100%; max-width:660px; aspect-ratio:640/600; margin-inline:auto; }
.orbit-stage::before { content:''; position:absolute; z-index:-1; left:52.34375%; top:44.16667%; width:56%; aspect-ratio:1; transform:translate(-50%,-50%); border-radius:50%; background:var(--paper); box-shadow:inset 12px 12px 24px #c7ccd6,inset -12px -12px 24px #fff; }
.orbit-stage::after { content:''; position:absolute; z-index:-2; left:52.34375%; top:44.16667%; width:77%; aspect-ratio:1; transform:translate(-50%,-50%); border:1px solid #b9c0cd; border-radius:50%; box-shadow:0 1px 0 #fff; opacity:.62; pointer-events:none; }
.orbit-svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; z-index:1; }
.orbit-path { fill:none; stroke:#aab2c0; stroke-width:2; stroke-linecap:round; }
.orbit-trace { fill:none; stroke:var(--orbit-red); stroke-width:3.5; stroke-linecap:round; stroke-dasharray:90 900; animation:orbit-trace-travel 16s linear infinite; filter:drop-shadow(0 0 2px #d97377); }
.orbit-svg circle { fill:var(--paper); stroke:#a8b0bd; stroke-width:2; }
.orbit-core { position:absolute; left:52.34375%; top:44.16667%; width:31%; aspect-ratio:1; transform:translate(calc(-50% + var(--orbit-pointer-x,0px)),calc(-50% + var(--orbit-pointer-y,0px))); display:grid; place-items:center; pointer-events:none; z-index:2; }
.orbit-core::before { content:''; position:absolute; inset:0; border-radius:50%; border:1.5px solid #d35e63; border-right-color:transparent; border-bottom-color:#d8b2b5; box-shadow:0 0 0 7px #e9ebf1,0 0 0 8px #bbc2ce; animation:orbit-ring-turn 22s linear infinite; }
.orbit-core::after { content:''; position:absolute; width:5%; aspect-ratio:1; top:6%; left:20%; border-radius:50%; background:#db777b; box-shadow:0 0 12px #e39a9b; }
.orbit-ball { position:relative; width:83%; aspect-ratio:1; overflow:hidden; border-radius:50%; background:radial-gradient(circle at 33% 25%,#ffeae0 0,#ffb997 8%,#ed5b3d 17%,#cc292d 37%,#79232d 65%,#2b1c2b 90%); box-shadow:inset 0 0 3px 3px #ecb8b6,inset -14px -18px 22px #331627,8px 16px 20px #9f9ca8,0 0 31px #d66d7040; animation:orbit-ball-breathe 7s ease-in-out infinite; }
.orbit-ball::before { content:''; position:absolute; inset:1px; border-radius:50%; background:radial-gradient(ellipse at 32% 25%,#fff8eccc 0,transparent 23%),radial-gradient(circle at 78% 69%,#e3646159 0,transparent 32%); }
.orbit-ball::after { content:''; position:absolute; inset:10%; border-radius:50%; background:repeating-conic-gradient(from 22deg,#ffa76900 0 32deg,#fff0b233 33deg 35deg,#ffe9c400 37deg 66deg); filter:blur(3px); mix-blend-mode:screen; animation:orbit-material-turn 18s linear infinite; }
.orb-surface { position:absolute; inset:0; border-radius:50%; background:radial-gradient(circle at 24% 49%,#fff0b977 0 1%,transparent 2%),radial-gradient(circle at 60% 28%,#ffd29999 0 1%,transparent 2%),radial-gradient(circle at 74% 59%,#ffa45a99 0 2%,transparent 3%),radial-gradient(circle at 36% 71%,#fbb5a288 0 1%,transparent 3%); animation:orbit-material-turn 21s linear infinite reverse; }
.orbit-entry { position:absolute; display:block; z-index:3; width:43%; min-width:0; padding:19px 22px 18px; border:1px solid #f8f9fc; border-radius:22px; background:var(--paper); color:var(--ink); text-decoration:none; box-shadow:var(--raise-small); transition:box-shadow 220ms ease,transform 220ms ease,border-color 220ms ease; }
.resume-orbit { left:1%; top:9%; }
.ai-orbit { right:0; bottom:7%; }
.orbit-entry::before { content:''; display:block; position:absolute; top:19px; right:18px; width:8px; height:8px; border-radius:50%; background:var(--orbit-red); box-shadow:0 0 0 4px #eedbde; }
.orbit-label { display:block; color:var(--muted); font-size:12px; font-weight:600; margin-bottom:9px; padding-right:13px; }
.orbit-entry h2 { font-size:25px; line-height:1.4; font-weight:800; margin-bottom:10px; letter-spacing:-.045em; }
.orbit-description { font-size:16px; line-height:1.7; margin-bottom:14px; }
.orbit-link { display:block; padding-top:10px; border-top:1px solid #bfc5d0; color:var(--accent); font-size:14px; font-weight:700; }
.orbit-entry:hover { border-color:#deafb4; transform:translateY(-4px); box-shadow:11px 14px 23px #bec4cf,-9px -9px 21px #fff; }
.orbit-entry:active { transform:translateY(1px); box-shadow:var(--press); }
.orbit-entry:focus-visible { outline:3px solid var(--accent); outline-offset:6px; }
.hero-signal { display:inline-block; margin:10px 0 0; padding:10px 0; border-top:1px solid #b5becb; color:var(--accent); font-size:15px; font-weight:600; letter-spacing:.025em; }
.hero-visual > .prototype-tools { width:fit-content; margin:0 0 16px auto; border:0; padding:9px 17px; border-radius:18px; background:var(--paper); box-shadow:var(--press); font-size:12px; }
.hero-visual > .prototype-tools summary { font-size:12px; padding-block:2px; min-height:30px; }
.hero-visual > .prototype-tools label { font-size:14px; margin-bottom:4px; }
.hero-visual > .prototype-tools[open] { max-width:100%; }
.ai-projects { display:grid; grid-template-columns:minmax(0,1fr); gap:32px; margin-top:30px; }
.ai-projects .featured-project { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:40px; padding:38px; border:1px solid #f7f8fb; border-radius:28px; background:var(--paper); box-shadow:var(--raise); }
.project-intro,.project-contribution { min-width:0; }
.project-intro h3 { font-size:35px; line-height:1.4; margin-bottom:24px; }
.project-intro h3 a { text-decoration:none; }
.project-intro h3 a:hover { color:var(--accent); }
.project-intro > p { font-size:18px; line-height:1.85; }
.project-contribution { border-left:1px solid #b9c2cf; padding-left:30px; }
.project-contribution > p { font-size:16px; }
.project-contribution .case-role { border-left:0; padding-left:0; margin:0 0 22px; }
.project-contribution .case-role strong { display:block; font-size:19px; margin-bottom:12px; }
.project-contribution .toolbar { margin-top:24px; }
.ai-projects .reserved-card { width:min(100%,460px); justify-self:end; border:1px solid #bac3d0; border-radius:24px; padding:27px 30px; background:var(--paper); box-shadow:var(--press); }
.ai-projects .reserved-card h3 { font-size:25px; }
.ai-projects .reserved-card h3 a { text-decoration:none; }
.ai-projects .reserved-card h3 a:hover { color:var(--accent); text-decoration:underline; }
.ai-projects .reserved-card p { font-size:16px; }
.home-path-notes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px; margin:14px 0 58px; padding-top:30px; border-top:1px solid #b8bfcb; }
.home-path-notes > article { min-width:0; padding:8px 8px 8px 0; }
.home-path-notes h2 { font-size:23px; margin-bottom:22px; }
.home-path-notes strong { display:block; font-size:17px; font-weight:650; margin-top:16px; }
.home-path-notes p,.home-path-notes span { color:var(--muted); font-size:16px; line-height:1.8; }
.home-path-notes .content-preview { border:0; padding:0; gap:7px; }
.home-path-notes .content-preview strong { margin-top:0; }
.advantage { border-top:1px solid #b8bfcb; margin-top:40px; padding-top:32px; }
.advantage h2 { font-size:28px; margin-bottom:30px; }
.advantage-grid { gap:30px; }
.advantage-grid p { border-left:2px solid #9da7b5; padding-left:20px; font-size:16px; }
.advantage-grid strong { font-size:19px; font-weight:700; margin-bottom:12px; }
.resume-profile { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.65fr); gap:32px; margin:8px 0 58px; padding:32px 36px; border:1px solid #f9fafc; border-radius:26px; background:var(--paper); box-shadow:var(--raise); }
.profile-identity { padding-right:28px; border-right:1px solid #c2c9d3; }
.profile-identity h2 { font-size:29px; margin-bottom:14px; }
.profile-identity p { font-size:16px; color:var(--muted); line-height:1.9; }
.profile-responsibility h3 { font-size:21px; margin-bottom:18px; }
.profile-responsibility p { font-size:16px; }
.profile-responsibility ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; list-style:none; padding:0; margin:20px 0 0; }
.profile-responsibility li { font-size:16px; line-height:1.8; padding-top:12px; border-top:2px solid #a9b2c0; }
.resume-cases .section-bar { margin:0 0 28px; }
.resume-cases .section-bar h2 { font-size:29px; }
.resume-cases .item-row { display:grid; grid-template-columns:180px minmax(0,1fr); column-gap:36px; padding-block:34px; border:0; border-bottom:1px solid #b8bfcb; }
.resume-cases .item-row:first-child { border-top:1px solid #b8bfcb; }
.resume-cases .item-meta { grid-column:1; grid-row:1 / span 3; font-size:13px; align-self:start; width:fit-content; max-width:100%; padding:8px 13px; margin-top:4px; border-radius:999px; background:var(--paper); box-shadow:var(--press); color:var(--muted); line-height:1.7; }
.resume-cases .item-row h3,.resume-cases .item-row p { grid-column:2; }
.resume-cases .item-row h3 { font-size:27px; margin-bottom:15px; line-height:1.5; }
.resume-cases .item-row h3 a { text-decoration:none; }
.resume-cases .item-row h3 a:hover { color:var(--accent); text-decoration:underline; }
.resume-cases .item-row p { max-width:76ch; font-size:17px; }
.resume-cases .item-row .case-role { font-size:16px; color:var(--muted); margin-top:10px; }
.project-list { grid-template-columns:minmax(0,1.6fr) minmax(0,.85fr); gap:34px; align-items:start; margin-top:30px; }
.project-list .project-card { padding:36px; background:var(--paper); border:1px solid #f7f9fc; border-radius:28px; box-shadow:var(--raise); }
.project-list .project-card h3 { font-size:31px; line-height:1.45; margin-bottom:24px; }
.project-list .project-card h3 a { text-decoration:none; }
.project-list .project-card h3 a:hover { color:var(--accent); }
.project-list .project-card p { font-size:17px; }
.project-card .item-meta { font-size:13px!important; color:var(--accent); }
.project-card .case-role { padding-left:16px; border-left:2px solid var(--accent); margin-block:22px; }
.project-card .toolbar { padding-top:24px; }
.project-list .reserved-card { padding:30px; border-color:#bdc5d0; background:var(--paper); box-shadow:var(--press); margin-top:50px; }
.project-list .reserved-card h3 { font-size:27px; }
.primary,.secondary { min-height:48px; padding:12px 20px; border-radius:999px; font-size:16px; font-weight:650; }
.primary { background:var(--accent); box-shadow:4px 5px 10px #c8cbd2,-3px -3px 8px #fff; }
.primary:hover { background:#a8232a; filter:none; }
.inline-link { font-size:16px; }
.detail-layout { grid-template-columns:minmax(0,1fr) 300px; gap:64px; }
.content-column { max-width:76ch; }
.content-column > section { padding-top:24px; border-top:1px solid var(--line); margin-bottom:36px; }
.content-column h2 { font-size:25px; margin-bottom:18px; }
.content-column p { font-size:18px; line-height:1.95; }
.facts-panel { padding:30px; border:1px solid #f6f8fb; background:var(--paper); box-shadow:var(--raise-small); border-radius:24px; }
.facts-panel h2 { font-size:23px; margin-bottom:24px; }
.facts-panel dt { color:var(--accent); font-size:15px; font-weight:650; }
.facts-panel dd { font-size:16px; line-height:1.85; }
.harness-hero { grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); border:1px solid #f7f8fb; padding:34px; gap:28px 38px; border-radius:30px; background:var(--paper); box-shadow:var(--raise); margin-block:34px 58px; }
.hero-copy h1 { font-size:clamp(32px,3.9vw,45px); line-height:1.4; margin-bottom:22px; }
.hero-lead { font-size:18px; line-height:1.9; }
.hero-role { border-left:2px solid var(--accent); padding-left:16px; }
.hero-boundary { color:var(--muted); }
.judgment-list article { grid-template-columns:32px minmax(0,1fr); gap:16px; padding-block:22px; }
.judgment-number { font-family:"Bahnschrift",sans-serif; font-size:27px; color:var(--accent); }
.judgment-list h2 { font-size:21px; }
.hero-actions { border-top:1px solid var(--line); padding-top:24px; }
.chapter-directory { grid-template-columns:minmax(0,.65fr) minmax(0,1.5fr); border-radius:24px; padding:28px 30px; background:var(--paper); box-shadow:var(--press); gap:32px; margin-block:52px; }
.chapter-directory h2 { font-size:25px; }
.chapter-directory .directory-links a { padding-block:13px; }
.directory-links a:hover { color:var(--accent); }
.guide-section { border-top:1px solid #b9c1cd; padding-top:34px; margin-top:72px; }
.guide-section-head { max-width:890px; }
.guide-section-head h2,.module-heading h2 { font-size:34px; margin-bottom:20px; }
.guide-section-head h2::before,.module-heading h2::before { content:''; display:inline-block; width:8px; height:25px; margin-right:14px; background:var(--orbit-red); border-radius:99px; vertical-align:-1px; }
.guide-intro { max-width:900px; border-color:var(--line); padding-top:24px; }
.guide-nav { padding-block:22px; gap:12px 22px; }
.guide-deck { font-size:21px; }
.module-explanation { grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr); gap:50px; margin-block:30px; }
.module-explanation strong { font-size:18px; margin-bottom:10px; }
.evidence-ledger { gap:32px; }
.evidence-ledger article { border-top:2px solid #9aa5b5; padding-top:22px; }
.harness-overview,.atomic-flow,.mindmap,.directed-map,.collaboration-map,.work-flow,.constraints-map { border:1px solid #f7f8fb; background:var(--paper); border-radius:25px; padding:32px; box-shadow:var(--raise-small); }
.overview-origin,.map-root { padding:16px 25px; border-radius:999px; background:var(--ink); color:#fff; box-shadow:4px 5px 9px #c6ccd5; font-size:18px; }
.overview-relations { border-color:#a9b3c2; }
.overview-part { border:1px solid #f6f7fb; border-radius:18px; padding:22px; background:var(--paper); box-shadow:var(--raise-small); }
.overview-title { font-size:24px; font-weight:700; }
.overview-part span { color:var(--accent); }
.overview-collaboration { padding-block:20px; border-color:#a4aebe; border-width:1px; }
.flow-caption { padding-bottom:22px; border-bottom:1px solid var(--line); }
.flow-index { font-family:"Bahnschrift",sans-serif; font-size:25px; color:var(--accent); }
.vertical-flow { max-width:820px; }
.vertical-node { padding:20px 24px; border:1px solid #b7c0cc; border-radius:18px; background:#eff1f6; }
.action-node { border-left:3px solid #6f7c8e; background:#eff1f6; }
.decision-node { border:1px solid #b92b31; background:#f1e6e8; box-shadow:inset 3px 3px 8px #decdd0,inset -3px -3px 8px #fff; }
.decision-node > span { color:var(--accent); }
.vertical-arrow { font-size:25px; color:#6c788b; padding-block:9px; }
.yes-route,.no-route { padding:21px; border-radius:18px; border:1px solid #a9b7c8; border-top:3px solid #7f91a8; background:#e2e7ee; }
.no-route { border-color:#cda0a4; border-top-color:#b6515a; background:#f0e3e5; }
.return-route { background:#efe3e6; border-color:#ba727b; border-radius:15px; padding:20px; }
.construction-stage { border:1px solid #b7c0cd; border-radius:20px; overflow:visible; background:var(--paper); padding:0; margin-block:22px; }
.construction-stage > summary { padding:22px 24px; border-radius:20px; font-size:19px; background:var(--paper); }
.construction-stage[open] > summary { border-bottom:1px solid var(--line); border-radius:20px 20px 0 0; }
.stage-content { padding:10px 24px 24px; }
.stage-content .atomic-flow { padding:25px; }
.atomic-library { border:1px solid #c0c7d2; border-radius:20px; background:var(--paper); box-shadow:var(--press); padding:24px; }
.atomic-library > summary { font-size:18px; }
.atom-detail { padding-block:15px; }
.atom-detail > summary { padding-block:10px; line-height:1.8; }
.atom-name { font-size:17px; font-weight:700; }
.atom-expand { color:var(--muted); }
.atom-content { border-radius:18px; background:#f3f5f8; padding:26px; border:1px solid #d4dbe4; }
.atom-fields { grid-template-columns:130px minmax(0,1fr); gap:18px 26px; }
.atom-fields dt { color:#854248; font-weight:650; }
.map-node { border:1px solid #b6bfcc; border-radius:15px; background:#eff1f6; }
.map-node > strong { color:var(--ink); }
.knowledge-cabinet { border-color:#b3bdca; border-radius:20px; }
.flow-count { background:var(--ink); border-radius:12px; }
.comparison-table thead th { background:#353d48; }
.comparison-table th,.comparison-table td { padding:18px; }
.comparison-table td:last-child { background:#e0e5ed; }
.glossary,.evidence-classes { background:var(--wash); border-radius:16px; padding:24px; }
.prototype-tools { margin-top:52px; }
.prototype-tools summary { padding-block:10px; }
.site-footer { padding-top:28px; border-color:#b6bfcc; font-size:14px; }
select { border-radius:14px; box-shadow:var(--press); background:var(--paper); padding:12px 15px; border:1px solid #b1bbca; }
input[type="checkbox"] { accent-color:var(--accent); }
:where(button,a,input,select,textarea,summary):focus-visible { outline:3px solid var(--focus); outline-offset:5px; box-shadow:0 0 0 2px var(--paper); }
@keyframes orbit-trace-travel { to { stroke-dashoffset:-990; } }
@keyframes orbit-ring-turn { to { transform:rotate(360deg); } }
@keyframes orbit-material-turn { to { transform:rotate(360deg); } }
@keyframes orbit-ball-breathe { 0%,100% { transform:scale(1); filter:saturate(1); } 50% { transform:scale(1.035); filter:saturate(1.22); } }
@media(max-width:1050px) {
  .identity-hero { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); min-height:540px; gap:18px; }
  .hero-text h1 { font-size:49px; }
  .orbit-entry { width:46%; padding:17px; }
  .orbit-entry h2 { font-size:22px; }
  .orbit-description { font-size:16px; }
  .orbit-link { font-size:13px; }
  .resume-profile { grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr); padding:30px; gap:26px; }
  .profile-responsibility ul { grid-template-columns:minmax(0,1fr); gap:12px; }
  .profile-responsibility li { padding-top:9px; }
  .detail-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  .facts-panel { max-width:76ch; }
}
@media(max-width:800px) {
  .header-inner { margin-inline:20px; }
  main { padding-top:30px; }
  .identity-hero { grid-template-columns:minmax(0,1fr); min-height:0; gap:0; }
  .hero-text { padding-top:14px; padding-bottom:0; }
  .hero-text h1 { font-size:49px; max-width:18ch; }
  .hero-text .lead { max-width:52ch; }
  .hero-visual { width:min(100%,620px); margin-inline:auto; }
  .orbit-stage { margin-top:0; }
  .orbit-entry { width:43%; padding:20px; }
  .orbit-entry h2 { font-size:26px; }
  .home-path-notes { margin-top:18px; gap:30px; }
  .resume-profile { grid-template-columns:minmax(0,1fr); gap:22px; }
  .profile-identity { border-right:0; border-bottom:1px solid var(--line); padding-right:0; padding-bottom:20px; }
  .profile-responsibility ul { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .resume-cases .item-row { grid-template-columns:135px minmax(0,1fr); column-gap:25px; }
  .resume-cases .item-row h3 { font-size:24px; }
  .project-list { grid-template-columns:minmax(0,1fr); gap:28px; }
  .project-list .reserved-card { margin-top:0; }
  .ai-projects .featured-project { grid-template-columns:minmax(0,1fr); gap:26px; padding:30px; }
  .project-contribution { border-left:0; border-top:1px solid #b9c2cf; padding:25px 0 0; }
  .harness-hero { grid-template-columns:minmax(0,1fr); gap:26px; padding:28px; }
  .judgment-list article:first-child { border-top:1px solid var(--line); padding-top:22px; }
  .chapter-directory,.module-explanation { grid-template-columns:minmax(0,1fr); gap:22px; }
  .guide-section-head h2,.module-heading h2 { font-size:30px; }
}
@media(max-width:520px) {
  .site-header { padding-top:10px; }
  .header-inner { margin-inline:16px; border-radius:23px; padding:14px 18px 8px; gap:8px; }
  .brand { font-size:20px; }
  .site-nav { width:100%; gap:10px; justify-content:space-between; }
  .site-nav a,.site-nav a:first-child { padding:9px 12px; font-size:15px; }
  .location-bar { padding-inline:20px; padding-top:10px; }
  main { padding:27px 20px 52px; }
  .page-head { margin-bottom:32px; }
  .page-head h1 { font-size:34px; }
  .lead { font-size:17px; }
  .hero-text .eyebrow { margin-bottom:24px; }
  .hero-text h1 { font-size:41px; line-height:1.3; max-width:12ch; }
  .hero-text .lead { font-size:17px; }
  .orbit-stage { aspect-ratio:auto; height:550px; margin-top:22px; padding-bottom:0; }
  .orbit-stage::before { top:150px; left:50%; width:63%; }
  .orbit-stage::after { top:150px; left:50%; width:89%; }
  .orbit-svg { height:340px; top:0; opacity:.95; }
  .orbit-core { left:50%; top:150px; width:41%; }
  .orbit-entry { width:46%; padding:16px 13px 14px; border-radius:18px; }
  .resume-orbit { top:290px; left:0; bottom:auto; }
  .ai-orbit { top:290px; right:0; bottom:auto; }
  .orbit-entry::before { width:6px; height:6px; top:15px; right:12px; box-shadow:0 0 0 3px #eedbde; }
  .orbit-label { font-size:11px; margin-bottom:7px; }
  .orbit-entry h2 { font-size:22px; margin-bottom:8px; }
  .orbit-description { font-size:16px; line-height:1.65; margin-bottom:10px; }
  .orbit-link { font-size:13px; padding-top:8px; }
  .orbit-entry:hover { transform:none; box-shadow:var(--raise-small); }
  .home-path-notes { grid-template-columns:minmax(0,1fr); gap:18px; margin-top:34px; margin-bottom:38px; }
  .hero-visual > .prototype-tools { margin-top:8px; }
  .home-path-notes > article { padding:0; }
  .home-path-notes h2 { font-size:23px; margin-bottom:16px; }
  .advantage { padding-top:26px; margin-top:38px; }
  .advantage h2 { font-size:26px; }
  .advantage-grid { gap:22px; }
  .resume-profile { padding:25px 22px; border-radius:23px; margin-bottom:42px; box-shadow:var(--raise-small); }
  .profile-responsibility ul { grid-template-columns:minmax(0,1fr); gap:14px; }
  .resume-cases .section-bar h2 { font-size:25px; }
  .resume-cases .item-row { display:block; padding-block:29px; }
  .resume-cases .item-meta { margin-bottom:16px; font-size:12px; }
  .resume-cases .item-row h3 { font-size:24px; }
  .resume-cases .item-row p { font-size:16px; }
  .project-list .project-card { padding:25px 22px; border-radius:23px; box-shadow:var(--raise-small); }
  .project-list .project-card h3 { font-size:27px; }
  .project-list .project-card p { font-size:16px; }
  .ai-projects .featured-project { padding:25px 22px; border-radius:23px; box-shadow:var(--raise-small); }
  .project-intro h3 { font-size:29px; }
  .project-intro > p { font-size:17px; }
  .ai-projects .reserved-card { padding:24px; width:100%; }
  .content-column p { font-size:17px; line-height:1.95; }
  .facts-panel { padding:25px 22px; }
  .harness-hero { padding:25px 20px; border-radius:24px; box-shadow:var(--raise-small); margin-bottom:44px; }
  .hero-copy h1 { font-size:32px; }
  .hero-lead { font-size:17px; }
  .hero-actions { gap:17px; }
  .chapter-directory { padding:24px 20px; border-radius:20px; }
  .guide-section-head h2,.module-heading h2 { font-size:28px; }
  .guide-section-head h2::before,.module-heading h2::before { height:22px; width:6px; margin-right:10px; }
  .guide-section { margin-top:48px; padding-top:28px; }
  .module-explanation { gap:18px; }
  .harness-overview,.atomic-flow,.mindmap,.directed-map,.collaboration-map,.work-flow,.constraints-map { padding:22px 14px; border-radius:20px; }
  .overview-part { padding:19px 15px; }
  .overview-title { font-size:22px; }
  .overview-origin { padding:15px 18px; font-size:17px; }
  .vertical-node { padding:18px 15px; }
  .yes-route,.no-route,.return-route { padding:18px 15px; }
  .construction-stage > summary { padding:20px 15px; font-size:18px; }
  .stage-content { padding:6px 12px 18px; }
  .stage-content .atomic-flow { padding:20px 12px; }
  .atomic-library { padding:20px 14px; }
  .atom-content { padding:20px 15px; }
  .atom-fields { grid-template-columns:minmax(0,1fr); gap:4px; }
  .atom-fields dd { margin-bottom:16px; }
  .comparison-table th,.comparison-table td { padding:12px 8px; }
  .glossary,.evidence-classes { padding:20px 16px; }
}
@media(max-width:360px) {
  .hero-text h1 { font-size:37px; }
  .orbit-stage { height:630px; }
  .orbit-entry { width:47%; }
  .orbit-description { font-size:16px; }
  .orbit-entry h2 { font-size:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .orbit-stage { --orbit-pointer-x:0px!important; --orbit-pointer-y:0px!important; }
  .orbit-trace,.orbit-ball,.orbit-ball::after,.orb-surface,.orbit-core::before { animation:none!important; }
  .orbit-ball,.orbit-ball::after,.orb-surface,.orbit-core::before { transform:none!important; }
  .orbit-entry { transition:none!important; }
  .orbit-entry:hover,.orbit-entry:active { transform:none!important; }
}
body[data-motion="off"] .orbit-trace,body[data-motion="off"] .orbit-ball,body[data-motion="off"] .orbit-ball::after,body[data-motion="off"] .orb-surface,body[data-motion="off"] .orbit-core::before { animation:none!important; }
body[data-motion="off"] .orbit-ball,body[data-motion="off"] .orbit-ball::after,body[data-motion="off"] .orb-surface,body[data-motion="off"] .orbit-core::before { transform:none!important; }
body[data-motion="off"] .orbit-entry { transition:none!important; }
body[data-motion="off"] .orbit-entry:hover,body[data-motion="off"] .orbit-entry:active { transform:none!important; }
body[data-motion="off"] .orbit-stage { --orbit-pointer-x:0px!important; --orbit-pointer-y:0px!important; }
@media(max-width:760px) { :root { --header-clearance:180px; } }
/* One landing clearance: the target margin handles the floating header. */
html { scroll-padding-top:0; }
@media(min-width:761px) { :root { --header-clearance:150px; } }
