/* Shanhu material and motion layer. The site remains readable without JavaScript. */
:root{--sh-ease:cubic-bezier(.22,1,.36,1);--sh-shadow:0 2px 5px #163d2e04,0 16px 40px -24px #163d2e29;--sh-shadow-lift:0 5px 12px #163d2e08,0 24px 48px -22px #163d2e35;--sh-edge:#e0e8df}
body{background:#fcfdfb}.sh-header{background:#fcfdfbed;border-bottom-color:#dfe5dc80;transition:box-shadow .3s ease,background .3s ease}.sh-header.is-scrolled{background:#fcfdfbf5;box-shadow:0 5px 25px #163d2e09}.sh-brand{box-shadow:inset 0 1px 0 #ffffff26,0 3px 7px #173f3014}.sh-header nav a{position:relative}.sh-header nav a[aria-current]:after{content:"";position:absolute;bottom:5px;left:50%;width:4px;height:4px;border-radius:50%;background:var(--green);transform:translateX(-50%)}
.sh-platform-hero{position:relative;isolation:isolate;overflow:hidden;margin-top:22px;padding:62px 32px 52px;border:1px solid #e2eadf;border-radius:36px;background:linear-gradient(130deg,#f5f8f1 0%,#fffefa 48%,#eaf2e9 100%);box-shadow:inset 0 1px 0 #fff,0 15px 42px -35px #2b62463d}
.sh-platform-hero:before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 90% 10%,#a6c4a527,transparent 46%),radial-gradient(ellipse at 5% 90%,#b2cba229,transparent 44%)}
.sh-platform-hero:after{content:"";position:absolute;z-index:-1;width:72%;height:110%;right:-32%;top:-20%;border:1px solid #8fa9931a;border-radius:50%;box-shadow:0 0 0 45px #a7bea408,0 0 0 100px #a7bea406;transform:rotate(-27deg);pointer-events:none}
.sh-platform-hero>.sh-eyebrow{display:inline-flex;align-items:center;border:1px solid #d5e2d3;padding:7px 15px;border-radius:99px;background:#ffffffb8;font-size:13px;letter-spacing:.09em;color:var(--green);box-shadow:inset 0 1px 0 white}.sh-platform-hero h1{margin-top:26px}.sh-platform-hero .sh-root-note{color:#566b5c}.sh-platform-hero .sh-platform-intro{color:#617063}
.sh-company-art img{border:1px solid #e1e8df;box-shadow:0 24px 60px -37px #163d2e40}.sh-fund-art{background:linear-gradient(145deg,#305b49,#163d31);box-shadow:inset 0 1px 0 #ffffff32,0 20px 45px -30px #163d2e65;border:1px solid #365d4b}.sh-space-map{background:linear-gradient(145deg,#f7f8f4,#edf1e9);border:1px solid var(--sh-edge);box-shadow:var(--sh-shadow)}
.sh-pillar-card,.sh-product,.sh-recruit-card,.sh-space-solution,.sh-download,.sh-dayin-experience,.sh-plans article,.sh-space-pair article{border:1px solid var(--sh-edge);background:linear-gradient(145deg,#fcfdfa,#f2f5ef);box-shadow:var(--sh-shadow);transition:transform .32s var(--sh-ease),box-shadow .32s var(--sh-ease),border-color .25s ease}
.sh-pillar-card,.sh-recruit-card,.sh-space-solution{position:relative}.sh-pillar-card:before,.sh-recruit-card:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px 0 #fff}.sh-pillar-card svg{color:#356951}.sh-product-art{background:radial-gradient(ellipse at 50% 20%,#f8fbf3,#e5ecdf)}.sh-product-art img{transition:transform .7s var(--sh-ease)}.sh-product-body{background:#fbfcf9}.sh-product-kind>span{border:1px solid #dbe6d8;background:#edf3e9}.sh-recruit-tags li{border:1px solid #e3eade;box-shadow:0 1px 2px #163d2e03;background:#ffffffbd}.sh-space-zones>span{box-shadow:inset 0 1px 0 #fff,0 3px 6px #163d2e05}.sh-demo{border:1px solid var(--sh-edge);box-shadow:var(--sh-shadow)}.sh-demo-result{background:#ffffffc9;box-shadow:inset 0 1px 0 white}
.sh-button,.sh-small-button{background:linear-gradient(160deg,#2c634b,#174d40);border-color:#245540;box-shadow:inset 0 1px 0 #ffffff29,0 5px 13px -6px #174d4066;transition:transform .22s var(--sh-ease),box-shadow .22s ease,background .22s ease}.sh-button:active,.sh-small-button:active{transform:translateY(1px) scale(.985);box-shadow:inset 0 2px 3px #071e2426,0 1px 3px #174d401a}.sh-link{transition:color .2s ease}.sh-link>span[aria-hidden]{transition:transform .24s var(--sh-ease)}.sh-link:hover>span[aria-hidden]{transform:translateX(3px)}.sh-menu,.sh-modes button{transition:background .24s ease,box-shadow .24s ease,transform .24s var(--sh-ease)}.sh-menu:active,.sh-modes button:active{transform:scale(.97)}.sh-modes .is-active{box-shadow:0 2px 7px #174d4026,inset 0 1px 0 #ffffff24}
.sh-needs{background:linear-gradient(165deg,#f2f6ee,#f7f8f3)}.sh-opportunities{display:grid;gap:12px;border-top:0}.sh-opportunity{border:1px solid var(--sh-edge);padding:26px 28px;border-radius:22px;background:#ffffffc9;transition:background .28s ease,border-color .28s ease,box-shadow .28s ease}.sh-opportunity[open]{background:#fff;border-color:#b9cdb4;box-shadow:0 8px 25px -18px #214c3040}.sh-opportunity-label b{font-size:25px}.sh-opportunity summary>span:last-child{display:grid;place-items:center;width:30px;height:30px;border:1px solid #dbe6d8;border-radius:50%;font-size:18px;background:#f8faf5;color:var(--green)}
summary{border-radius:5px}summary>span[aria-hidden]{transition:transform .28s var(--sh-ease),color .2s ease}details>summary:hover{color:var(--green)}.sh-source,.sh-reader-detail{border-top-color:#dce5d8}.sh-history-list time{font-variant-numeric:tabular-nums}.sh-footer{background:#eff3eb}
@media(hover:hover) and (pointer:fine){.sh-pillar-card:hover,.sh-product:hover,.sh-recruit-card:hover,.sh-space-solution:hover{transform:translateY(-4px);box-shadow:var(--sh-shadow-lift);border-color:#c6d7be}.sh-download:hover{transform:translateY(-2px);box-shadow:var(--sh-shadow-lift)}.sh-button:hover,.sh-small-button:hover{background:linear-gradient(160deg,#376f55,#235b46);transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff35,0 9px 17px -7px #174d4057}.sh-button:active,.sh-small-button:active{transform:translateY(1px) scale(.985)}.sh-opportunity:hover{border-color:#c9d9c2}.sh-product-art:hover img{transform:scale(1.025)}}
@media(max-width:820px){.sh-header nav a[aria-current]:after{display:none}.sh-header nav{background:#fcfdfb}.sh-opportunity{padding:24px}.sh-platform-hero{padding-inline:24px}}
@media(max-width:600px){.sh-platform-hero{margin-top:16px;border-radius:26px;padding:38px 16px 30px}.sh-platform-hero>.sh-eyebrow{font-size:12px;padding:6px 13px}.sh-platform-hero h1{font-size:clamp(44px,12.3vw,59px);margin-top:23px}.sh-platform-hero .sh-platform-services{font-size:16px}.sh-platform-hero .sh-platform-services>span+span:before{margin-inline:7px}.sh-platform-hero .sh-root-note{font-size:12px;margin-top:24px}.sh-platform-hero .sh-platform-intro{font-size:15px}.sh-opportunity{border-radius:18px;padding:22px 20px}.sh-opportunity-label b{font-size:23px}.sh-opportunity-label small{font-size:15px}.sh-opportunity summary{gap:18px}.sh-opportunity summary>span:last-child{flex-shrink:0}.sh-opportunity>div{margin-top:22px}.sh-needs-context{font-size:16px}.sh-pillar-card,.sh-recruit-card,.sh-space-solution{box-shadow:0 3px 14px #163d2e06}.sh-button,.sh-small-button{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.sh-pillar-card:hover,.sh-product:hover,.sh-recruit-card:hover,.sh-space-solution:hover,.sh-download:hover,.sh-button:hover,.sh-small-button:hover,.sh-button:active,.sh-small-button:active,.sh-link:hover>span[aria-hidden]{transform:none!important}}

/* Project scene covers share one frame across desktop and mobile. */
.sh-product-art{position:relative;aspect-ratio:16/10;height:auto}
.sh-product-art.sh-scene-art img{display:block;object-fit:cover;object-position:center;mix-blend-mode:normal}
.sh-scene-label{position:absolute;right:12px;bottom:12px;z-index:1;padding:4px 9px;border:1px solid #ffffff8c;border-radius:99px;background:#fffffff0;color:#4c6053;font-size:11px;line-height:1.5;letter-spacing:.02em;pointer-events:none}
.sh-reader-art.sh-reader-scene{padding:0;overflow:hidden;border:1px solid var(--sh-edge);background:#f3f6ef;box-shadow:var(--sh-shadow)}
.sh-reader-art.sh-reader-scene img{display:block;width:100%;height:auto;aspect-ratio:16/10;max-height:none;object-fit:cover;object-position:center;mix-blend-mode:normal;border-radius:0}
.sh-reader-scene figcaption{font-size:11px;line-height:1.5;color:#63716a;padding:10px 16px;text-align:right}
@media(min-width:601px){.sh-reader-hero:has(.sh-reader-scene){grid-template-columns:1fr 1.25fr;gap:36px}}
@media(max-width:600px){.sh-reader-art.sh-reader-scene{margin-top:30px;border-radius:22px}}
