:root{--paper:#faf9f5;--ink:#29392f;--muted:#697067;--line:#dedfd5;--green:#506548}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'PingFang SC','Microsoft YaHei',sans-serif;font-size:15px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #55754b;outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Songti SC','STSong',serif;font-weight:500}h1{font-size:clamp(36px,3.8vw,62px);line-height:1.5;letter-spacing:.06em}h2{font-size:36px;line-height:1.6;letter-spacing:.04em}h3{font-size:24px;line-height:1.6}.wrap{max-width:1240px;margin:auto;padding-left:48px;padding-right:48px}header{height:112px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-family:'Songti SC',serif;font-size:27px;letter-spacing:.12em}.brand img{width:57px;height:57px;border-radius:50%}.brand small{display:block;font:9px sans-serif;letter-spacing:.18em;margin-top:3px}nav{display:flex;gap:30px;font-size:13px}nav a:hover{color:#758563}.nav-contact{border-bottom:1px solid var(--ink);padding-bottom:4px}.menu{display:none}.hero{position:relative;padding:52px 4% 0;display:grid;grid-template-columns:40% 60%}.hero-copy{padding:50px 20px 30px 6%}.eyebrow{display:block;font-size:11px;letter-spacing:.18em;margin-bottom:22px;color:var(--green)}.hero p{color:var(--muted);margin:24px 0 32px}.hero-photo{height:535px;position:relative;overflow:hidden;border-radius:2px 2px 100px 2px}.hero-photo img{object-position:center}.photo-note{position:absolute;bottom:26px;left:30px;color:white;text-shadow:0 1px 5px #000;font-size:12px;letter-spacing:.13em}.text-link{display:inline-flex;gap:35px;background:none;border:0;border-bottom:1px solid #a5ac9c;padding:8px 0;font-size:13px}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;padding:24px 0;color:var(--muted);font-size:10px;letter-spacing:.16em}.intro{text-align:center;padding-top:100px;padding-bottom:110px}.intro p{margin-top:25px;color:var(--muted);line-height:2.2}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.section-top .eyebrow{margin-bottom:10px}.section-note{font-size:12px;color:var(--muted)}.worlds{padding-bottom:110px}.world-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}.world-image{height:330px;overflow:hidden}.world-image img{transition:transform .4s}.world:hover img{transform:scale(1.025)}.world-title{display:flex;justify-content:space-between;font-size:18px;font-family:'Songti SC',serif;margin-top:22px}.world p{font-size:12px;color:var(--muted);margin-top:6px}.green{padding-top:48px}.moss{padding-top:96px}.moss-art{background:#e8ebdf;display:flex;align-items:center;justify-content:center;flex-direction:column}.moss-art svg{width:78%;height:78%;fill:none;stroke:#667e51;stroke-width:1.2}.moss-art .fill{fill:#b4c29a}.moss-art span{font-size:11px;color:#536345}.moss-section{background:#edf0e7;padding:72px 0}.moss-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px}.moss-inner p{margin-bottom:18px;color:#56624f}.journal{padding-top:110px;padding-bottom:110px}.journal-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px}.story{background:none;border:0;padding:0;text-align:left}.story img{height:230px;margin-bottom:24px}.story small{font-size:10px;letter-spacing:.1em;color:var(--green)}.story h3{font-size:21px;margin:12px 0}.story p{font-size:12px;color:var(--muted)}.story>span{display:inline-block;margin-top:22px;font-size:12px;border-bottom:1px solid var(--line)}.text-story{padding:30px;background:#efede4}.large-number{font-family:Georgia,serif;font-size:48px;line-height:1.1;margin:35px 0;color:#728168}.large-number i{font-size:29px;font-weight:normal}.service{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-bottom:110px}.service-photo{height:600px}.service-copy p{margin:22px 0;color:var(--muted)}ul{list-style:none;padding:0;margin:28px 0}li{border-bottom:1px solid var(--line);padding:15px 0}li span{color:#839179;font-size:11px;margin-right:18px}li small{float:right;color:var(--muted);font-size:11px}.service-copy .muted{font-size:11px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--green);color:white;padding:13px 24px;border:1px solid var(--green);font-size:13px}.about{padding-top:70px;padding-bottom:100px;border-top:1px solid var(--line)}.people{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:45px}.people h3{margin:10px 0}.people p{color:var(--muted)}.role{font-size:11px;color:var(--green)}.visit{background:#e9e9df;padding:75px 0}.visit-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px}.visit p{margin-top:20px}.visit small{color:var(--muted);font-size:11px}.contact-box{border-left:1px solid #c9cdbf;padding-left:60px;padding-top:10px}.contact-box>span{font-size:12px}.phone{display:block;font-family:Georgia,serif;font-size:36px;margin-top:15px}.contact-box p{margin:5px 0 22px;font-size:12px}.outline{background:transparent;color:var(--ink)}#copy-status{min-height:22px;margin:8px 0}footer{display:flex;gap:30px;align-items:center;padding-top:30px;padding-bottom:30px;font-size:12px}.footer-brand{font:24px 'Songti SC',serif}footer small{margin-left:auto;color:var(--muted)}dialog{border:0;background:var(--paper);color:var(--ink);max-width:720px;width:calc(100% - 32px);padding:50px;max-height:85vh;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#10231699}dialog h2{font-size:30px;margin:25px 0}dialog p{margin:16px 0}dialog img{max-height:320px;object-fit:cover}.close{display:block;margin-left:auto;background:none;border:0;border-bottom:1px solid var(--line)}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:white;z-index:10}.menu{background:none;border:1px solid var(--line);padding:5px 10px}@media(max-width:850px){header{height:90px}.brand{font-size:23px}.brand img{width:43px;height:43px}.menu{display:block}nav{display:none;position:absolute;top:90px;left:0;right:0;padding:28px;background:var(--paper);z-index:10;border-bottom:1px solid var(--line);flex-direction:column;gap:18px}nav.open{display:flex}.wrap{padding-left:24px;padding-right:24px}.hero{grid-template-columns:1fr;padding:30px 24px 0}.hero-copy{padding:10px 0 35px}.hero-photo{height:370px;border-radius:0 0 65px 0}.hero-foot{font-size:8px}.intro{padding-top:70px;padding-bottom:70px}h2{font-size:29px}.section-note{display:none}.world-grid{gap:24px;grid-template-columns:1fr}.world-image{height:370px}.green,.moss{padding-top:0}.worlds{padding-bottom:65px}.moss-inner,.service,.people,.visit-inner{grid-template-columns:1fr;gap:28px}.moss-section{padding:55px 0}.journal{padding-top:65px;padding-bottom:65px}.journal-grid{grid-template-columns:1fr}.story img{height:280px}.story{padding-bottom:20px}.text-story{padding:30px}.service{padding-bottom:65px}.service-photo{height:360px}.about{padding-top:50px;padding-bottom:60px}.people{gap:35px}.visit{padding:50px 0}.contact-box{border-left:0;border-top:1px solid #c9cdbf;padding:30px 0 0}footer{flex-wrap:wrap;gap:12px}footer small{margin-left:0;width:100%}dialog{padding:24px}.phone{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Shared reading pages and consultation; original QR files remain unchanged. */
.reading{max-width:900px;margin:auto;padding:55px 32px 80px}.reading h1{font-size:clamp(32px,4vw,48px);line-height:1.5}.reading>.eyebrow{margin-top:32px}.reading h2{font-size:29px;margin:40px 0 16px}.reading h3{margin:24px 0 12px}.reading p{margin:18px 0;font-size:17px;line-height:2}.reading .lead{font-size:20px;color:var(--muted)}.reading .reading-meta{font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:24px}.reading-photo{height:390px;margin:30px 0;object-fit:cover}.reading ul{list-style:disc;padding-left:24px}.reading li{border:0;padding:5px 0}.journal-entry{display:block;border-top:1px solid var(--line);padding:30px 0}.journal-entry h2{margin:8px 0 14px}.journal-entry small,.journal-entry span{color:var(--green)}.consult{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;padding-top:65px;padding-bottom:65px;border-top:1px solid var(--line)}.consult p{margin:20px 0;color:var(--muted)}.consult small{color:var(--muted)}.consult-person{border-left:1px solid var(--line);padding-left:50px}.consult-person h3{margin:6px 0 15px}.consult-person p{font-size:12px;margin:12px 0}.qr-preview{display:block;position:relative;overflow:hidden;width:174px;height:174px;background:white;border:8px solid white;padding:0;margin:15px 0 20px}.qr-preview img{position:absolute;width:188.8%;height:auto;max-width:none;left:-44.4%;top:-122%;object-fit:initial}#qr-dialog{width:min(560px,calc(100% - 28px));padding:25px}#qr-dialog h2{font-size:24px;margin:12px 0}#qr-dialog p{font-size:13px}#qr-dialog #qr-full{height:48vh;max-height:none;width:100%;object-fit:contain;background:#fff}#qr-download{margin-top:12px}#owner-contact{margin-top:45px;border-top:1px solid var(--line)}.service-copy>.text-link{margin-top:12px}
@media(max-width:850px){.reading{padding:30px 24px 55px}.reading-photo{height:270px}.consult{grid-template-columns:1fr;gap:30px;padding-top:45px;padding-bottom:45px}.consult-person{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.consult h2 br{display:none}.consult p br{display:none}.reading p{font-size:16px}.reading h2{font-size:25px}#qr-dialog #qr-full{height:44vh}}
#qr-dialog .qr-enlarged{position:relative;width:min(290px,43vh);aspect-ratio:1;margin:20px auto;overflow:hidden;background:#fff;border:12px solid #fff}#qr-dialog .qr-enlarged #qr-full{position:absolute;width:188.8%;height:auto;max-height:none;max-width:none;left:-44.4%;top:-122%;object-fit:initial}#qr-dialog[data-kind="owner"] .qr-enlarged #qr-full{width:126.35%;left:-12.94%;top:-41.17%}
/* Keep both encyclopedia links readable at tablet widths. */
@media(min-width:851px) and (max-width:1100px){header nav{gap:14px;font-size:12px}header .brand{font-size:23px}header .brand img{width:48px;height:48px}}
@media(min-width:1151px){header nav{gap:18px}}@media(min-width:851px) and (max-width:1150px){header{height:90px}.menu{display:block}header nav{display:none;position:absolute;top:90px;left:0;right:0;padding:28px;background:var(--paper);z-index:10;border-bottom:1px solid var(--line);flex-direction:column;gap:18px;font-size:13px}header nav.open{display:flex}}
