@import url("/fonts/lxgw-wenkai/lxgwwenkai-regular.css");
:root{--ink:#1b1c1a;--paper:#f1efe9;--muted:#737770;--line:rgba(27,28,26,.16);--blue:#456d7d;--amber:#bd8b3f;--rust:#9f5140;--green:#5e7c62}
*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:Inter,"Noto Sans SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit}button{font:inherit;color:inherit}.grain{position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E");mix-blend-mode:multiply}.topbar,main,footer{width:min(1440px,calc(100% - 72px));margin:auto}.topbar{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand-mark{width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:italic 17px Georgia,serif}.brand b,.brand small{display:block}.brand b{font:17px Georgia,"Songti SC",serif;letter-spacing:.08em}.brand small{margin-top:4px;color:var(--muted);font-size:12px;letter-spacing:.12em}.topbar nav{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:13px}.topbar nav a{text-decoration:none}.hero{min-height:590px;display:grid;grid-template-columns:.82fr 1.18fr;gap:44px;align-items:center;border-bottom:1px solid var(--line)}.eyebrow,.section-heading>p,.collaboration>p{color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.17em}.hero h1{font:400 clamp(45px,5vw,78px)/1.12 Georgia,"Songti SC",serif;letter-spacing:-.04em;margin:22px 0}.lead{font:20px/1.75 Georgia,"Songti SC",serif;color:#50534e;max-width:600px}.legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:34px;color:var(--muted);font-size:12px}.legend span{display:flex;align-items:center;gap:7px}.legend i{width:7px;height:7px;border-radius:50%}.open{background:var(--blue)}.building{background:var(--amber)}.pilot{background:var(--rust)}.available{background:var(--green)}.private{background:#7c7c78}.hero-visual{margin:0;height:520px;position:relative;overflow:hidden;border-radius:46% 46% 6px 6px;border:1px solid var(--line);background:radial-gradient(circle at 62% 40%,rgba(69,109,125,.14),transparent 30%),rgba(255,255,255,.22)}.hero-visual img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.hero-visual figcaption{position:absolute;right:22px;bottom:18px;color:var(--muted);font:italic 13px Georgia,serif}.projects,.field-notes,.collaboration{padding:94px 0;border-bottom:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:240px 1fr;gap:30px;align-items:start;margin-bottom:46px}.section-heading p{margin:6px 0}.section-heading h2,.collaboration h2{margin:0;font:400 clamp(30px,3vw,48px)/1.25 Georgia,"Songti SC",serif;max-width:900px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.project-card{min-height:330px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;background:rgba(255,255,255,.12);transition:background .25s}.project-card:hover{background:rgba(255,255,255,.42)}.project-card.featured{background:rgba(69,109,125,.07)}.card-top{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.status{letter-spacing:.08em}.status.building{color:#98702f}.status.pilot{color:var(--rust)}.status.available{color:var(--green)}.project-card h3{font:400 32px Georgia,serif;margin:38px 0 14px}.project-card .cn{font-size:16px;line-height:1.8;max-width:560px}.meta{color:var(--muted);font-size:12px;letter-spacing:.05em}.project-card button{align-self:flex-start;margin-top:auto;border:0;border-bottom:1px solid var(--ink);background:none;padding:0 0 8px;cursor:pointer;font-weight:650}.project-card button span{margin-left:34px;color:var(--blue)}.section-heading.compact{margin-bottom:20px}.notes-list{margin-left:270px;border-top:1px solid var(--line)}.notes-list article{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}.notes-list time{font:13px Georgia,serif;color:var(--muted)}.notes-list h3{margin:0 0 9px;font:400 22px Georgia,"Songti SC",serif}.notes-list p{margin:0;color:var(--muted);line-height:1.7}.collaboration>p{margin-top:0}.collaboration h2{margin:18px 0 48px}.collab-columns{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.collab-columns>div{padding:26px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:12px}.collab-columns>div:last-child{border:0}.collab-columns b{font:400 20px Georgia,"Songti SC",serif;margin-bottom:8px}.collab-columns span{color:var(--muted);line-height:1.5}.contact-state strong{color:var(--green);letter-spacing:.12em}footer{min-height:120px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}footer a{text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:6px}dialog{width:min(620px,calc(100% - 32px));border:1px solid var(--line);border-radius:2px;padding:42px;background:#f3f1eb;color:var(--ink);box-shadow:0 30px 90px rgba(27,28,26,.25)}dialog::backdrop{background:rgba(27,28,26,.42);backdrop-filter:blur(6px)}dialog .close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:28px;cursor:pointer}#dialogStatus{color:var(--blue);font-size:12px;letter-spacing:.13em}dialog h2{font:400 34px Georgia,serif;margin:18px 0}#dialogBody,#dialogPoints{line-height:1.75;color:#555951}
@media(max-width:900px){.topbar,main,footer{width:min(100% - 36px,720px)}.hero{grid-template-columns:1fr;padding:54px 0;gap:28px}.hero-visual{height:410px}.section-heading{grid-template-columns:1fr;gap:5px}.project-grid{grid-template-columns:1fr}.notes-list{margin-left:0}.collab-columns{grid-template-columns:1fr}.collab-columns>div{border-right:0;border-bottom:1px solid var(--line)}.collab-columns>div:last-child{border-bottom:0}}
@media(max-width:520px){.brand small,.topbar nav span,.topbar nav a{display:none}.hero h1{font-size:42px}.hero-visual{height:330px}.projects,.field-notes,.collaboration{padding:64px 0}.project-card{padding:24px;min-height:350px}.notes-list article{grid-template-columns:1fr;gap:8px}footer{gap:16px}footer span{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* A2-R1 · Original interaction system */
.journey-rail{position:fixed;z-index:20;right:16px;top:50%;transform:translateY(-50%);width:44px;height:310px;display:flex;flex-direction:column;align-items:center;gap:11px;color:var(--muted);font-size:10px;letter-spacing:.12em}.rail-label{writing-mode:vertical-rl}.rail-track{position:relative;width:1px;flex:1;background:var(--line)}.rail-track i{position:absolute;left:0;top:0;width:1px;height:0;background:var(--blue)}.rail-track b{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--blue);border-radius:50%;background:var(--paper);color:var(--blue);font:italic 10px Georgia,serif;transition:top .2s ease-out}.journey-rail #railCurrent{writing-mode:vertical-rl;min-height:65px}
.project-card{min-height:440px}.js .project-card{opacity:0;transform:translateY(18px);transition:background .25s,opacity .55s ease,transform .55s ease}.js .project-card.visible{opacity:1;transform:none}.micro-lab{margin:18px 0 24px;padding:15px;border:1px solid var(--line);background:rgba(255,255,255,.24)}.micro-lab>div{display:flex;gap:7px;flex-wrap:wrap}.micro-lab .lab-node{margin:0;padding:6px 8px;border:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;color:var(--muted);font-size:10px;letter-spacing:.07em;font-weight:500}.micro-lab .lab-node.active{border-color:var(--blue);background:var(--blue);color:var(--paper)}.micro-lab output{display:block;min-height:44px;margin-top:13px;color:#4d514c;font-size:13px;line-height:1.55}
.notes-list{position:relative}.notes-list::before{content:"";position:absolute;left:150px;top:0;bottom:0;width:1px;background:linear-gradient(var(--blue),var(--amber))}.js .notes-list article{opacity:0;transform:translateX(15px);transition:opacity .55s ease,transform .55s ease}.js .notes-list article.visible{opacity:1;transform:none}.notes-list article>div{padding-left:22px;position:relative}.notes-list article>div::before{content:"";position:absolute;left:-5px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--paper);border:1px solid var(--blue)}.notes-list article>div>span{display:block;margin-bottom:7px;color:var(--blue);font-size:10px;letter-spacing:.13em}
.section-traveler{margin:62px 0 0;min-height:330px;position:relative;overflow:hidden;border-top:1px solid var(--line)}.js .section-traveler{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}.js .section-traveler.visible{opacity:1;transform:none}.section-traveler img{width:100%;height:360px;object-fit:contain;object-position:center bottom}.section-traveler figcaption{position:absolute;right:8px;bottom:12px;color:var(--muted);font:italic 13px Georgia,"Songti SC",serif}.notes-traveler img{height:340px;object-position:left bottom}
@media(max-width:900px){.journey-rail{display:none}.notes-list::before{left:90px}.notes-list article{grid-template-columns:90px 1fr}.section-traveler img{height:300px}}
@media(max-width:520px){.notes-list::before{left:4px}.notes-list article{grid-template-columns:1fr;padding-left:18px}.notes-list article>div{padding-left:0}.notes-list article>div::before{left:-18px}.section-traveler{min-height:250px}.section-traveler img{height:250px}.micro-lab .lab-node{font-size:9px}}
@media(prefers-reduced-motion:reduce){.js .project-card,.js .note-step,.js .section-traveler{opacity:1!important;transform:none!important}}

/* A2-R2 · JJ + Xiao Cai visual continuity */
:root{--paper:#f6f3eb}
.hero-visual{border:0;border-radius:0;background:transparent}
.hero-visual img{width:76%;height:76%;margin:9% 12% 15%;object-fit:contain;object-position:center bottom}
.hero-visual figcaption{right:12%;bottom:4%;font:13px/1.6 "PingFang SC","Noto Sans SC","Microsoft YaHei",sans-serif}
.section-traveler img{width:62%;height:300px;margin:30px 19% 0;object-fit:contain;object-position:center bottom}
.section-traveler figcaption{right:10%;bottom:10px;font:13px/1.6 "PingFang SC","Noto Sans SC","Microsoft YaHei",sans-serif}
.notes-traveler img{width:58%;height:290px;margin-left:7%;object-position:left bottom}
@media(max-width:900px){.hero-visual img{width:82%;height:82%;margin:6% 9% 12%}.section-traveler img{width:78%;margin-left:11%}}

/* A2-R3 · Approved humanist typography */
:root{--site-font:"LXGW WenKai","Noto Serif SC",serif}
body{font-family:var(--site-font)}
.brand b,.hero h1,.lead,.section-heading h2,.collaboration h2,.notes-list h3,.collab-columns b,dialog h2{font-family:var(--site-font)}
.hero h1{font-weight:400;line-height:1.2;letter-spacing:.02em}
.section-heading h2,.collaboration h2{line-height:1.3}
.hero-visual figcaption,.section-traveler figcaption{font-family:var(--site-font)}

/* A2-R4 · Fixed wayfinding, resilient document scrolling */
html,body{min-height:100%;height:auto;overflow-x:hidden;overflow-y:auto}
body{display:block;background:var(--paper)}
.topbar{position:sticky;top:0;z-index:30;background:rgba(246,243,235,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
main{height:auto;min-height:calc(100vh - 104px);overflow:visible;scroll-behavior:smooth}
main>footer{width:100%;margin:0}

/* Motion is enhancement only: real content must remain readable if JavaScript fails. */
.js .project-card,.js .notes-list article,.js .section-traveler{opacity:1;transform:none}

/* A2-R5 · Stable full-width composition across Home and Intelligence */
:root{--page-gutter:clamp(18px,4.5vw,72px)}
.topbar,main,footer{width:calc(100% - clamp(36px,9vw,144px));max-width:none}
.hero{min-height:min(610px,calc(100dvh - 104px));grid-template-columns:minmax(0,1fr) minmax(520px,1fr);gap:clamp(36px,8vw,160px)}
.hero-copy{width:min(100%,650px)}
.hero h1{max-width:680px;font-size:clamp(45px,3.65vw,72px)}
.hero-visual{width:min(100%,620px);height:520px;justify-self:end;align-self:center}
.hero-visual img{width:78%;height:78%;margin:8% 11% 14%;object-fit:contain;object-position:center bottom}
@media(max-width:900px){
  :root{--page-gutter:18px}
  .topbar,main,footer{width:calc(100% - 36px)}
  .hero{min-height:0;grid-template-columns:minmax(0,1fr);gap:32px;padding:48px 0 54px}
  .hero-copy{width:min(100%,650px)}
  .hero-visual{width:100%;max-width:640px;height:clamp(310px,55vw,420px);justify-self:center}
  .hero-visual img{width:82%;height:82%;margin:6% 9% 12%}
}
@media(max-width:520px){
  .hero{gap:24px;padding:36px 0 44px}
  .hero h1{font-size:clamp(38px,11vw,48px)}
  .hero-visual{height:clamp(270px,82vw,340px)}
}

/* A2-R6 · Original field-paper material and quiet observation coordinates */
body{background-color:#f6f3eb;background-image:linear-gradient(rgba(246,243,235,.48),rgba(246,243,235,.48)),url("../assets/jj-field-paper-v2-rhythm.webp");background-position:center,center;background-size:auto,cover;background-attachment:fixed,fixed}
.hero{position:relative}
.hero::after{content:"";position:absolute;right:5%;bottom:24px;width:102px;height:31px;pointer-events:none;opacity:.54;background:linear-gradient(rgba(89,127,138,.58),rgba(89,127,138,.58)) right 15px/1px 30px no-repeat,linear-gradient(90deg,rgba(89,127,138,.58),rgba(89,127,138,.58)) right top 28px/1px no-repeat,repeating-linear-gradient(90deg,rgba(119,113,102,.38) 0 1px,transparent 1px 16px) left 15px/65px 1px no-repeat}
@media(max-width:900px){body{background-attachment:scroll,scroll}.hero::after{display:none}}

/* A2-R7 · Editable collaboration and project-scoped pricing */
.collab-columns{grid-template-columns:repeat(4,minmax(0,1fr))}
.collab-columns>div{min-height:276px;gap:0}
.collab-list{display:grid;gap:15px}
.collab-entry{display:grid;gap:5px}
.collab-entry strong{font:400 16px/1.4 var(--site-font);letter-spacing:.015em}
.contact-state .collab-entry strong{color:var(--green);letter-spacing:.11em}
.collab-entry small{color:var(--muted);font-size:12px;line-height:1.65}
.collab-brief{display:flex;align-items:center;gap:34px;margin:22px 0 0 auto;padding:0 0 8px;border:0;border-bottom:1px solid var(--ink);background:transparent;cursor:pointer;font-family:var(--site-font);font-size:14px}
.collab-brief span{color:var(--blue)}
#collabDialogStatus{color:var(--blue);font-size:12px;letter-spacing:.13em}
#collabDialogBody{display:grid;gap:24px;color:#555951}
.collab-dialog-section{display:grid;gap:12px;padding-top:20px;border-top:1px solid var(--line)}
.collab-dialog-section h3{margin:0;font:400 21px var(--site-font)}
.collab-dialog-section .collab-entry{padding-left:13px;border-left:1px solid var(--amber)}
@media(max-width:1120px){.collab-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.collab-columns>div:nth-child(2){border-right:0}.collab-columns>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:900px){.collab-columns{grid-template-columns:1fr}.collab-columns>div{min-height:0}.collab-columns>div:nth-child(2){border-bottom:1px solid var(--line)}.collab-brief{margin-left:0;margin-right:auto}}
