/* About and not-found pages. They borrow the welcome page's header, footer and
   headline face, and keep their own quiet layout. */
.about-main,.lost-main{padding-top:0}
.about-hero{max-width:820px;padding:72px 0 44px}
.about-hero h1,.lost-copy h1{margin:0;font-family:var(--welcome-headline);font-weight:800;font-size:clamp(36px,4.4vw,62px);line-height:1.04;letter-spacing:-1px;color:var(--welcome-ink)}
html[lang="zh-CN"] .about-hero h1,html[lang="zh-CN"] .lost-copy h1{letter-spacing:0;font-weight:900}
.about-lead{margin:24px 0 0;max-width:640px;color:var(--welcome-muted);font-size:19px;line-height:1.6;font-weight:500}
.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:0 0 64px}
.about-card{position:relative;padding:28px 28px 30px;border:1px solid #d8e2d9;border-radius:16px;background:#fff;color:var(--welcome-ink);display:flex;flex-direction:column;gap:12px}
.about-card>svg{width:46px;height:46px;color:#2d5f55;fill:none}
.about-card h2{margin:4px 0 0;font-size:22px;line-height:1.2}
.about-card p{margin:0;color:var(--welcome-muted);font-size:15px;line-height:1.65}
.about-card a{margin-top:auto;padding-top:6px;color:var(--welcome-teal);font-weight:800;font-size:14px;text-decoration:none}
.about-card a:hover{text-decoration:underline;text-underline-offset:4px}
.welcome-main .about-story{--welcome-band:#edf3e6;padding:72px 0 76px;margin:0 0 72px}
.about-story-inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:start}
.about-story-copy p{margin:0 0 18px;color:var(--welcome-muted);font-size:17px;line-height:1.7}
.about-story-copy p:last-child{margin:26px 0 0}
.about-story-copy .welcome-button{gap:12px}
/* Not found */
.lost-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center;padding:56px 0 96px;min-height:60vh}
.lost-card{position:relative;display:grid;place-items:center;min-height:360px}
.lost-card::before{content:"";position:absolute;inset:10% 8%;background:#e7efe3;border-radius:49% 51% 48% 52%;rotate:-8deg}
.lost-piece{position:relative;width:min(100%,300px);rotate:-6deg;animation:welcome-card-float 7s ease-in-out infinite}
.lost-piece b{display:block;font-weight:900;font-size:33px;line-height:1;text-align:center;letter-spacing:-.8px;color:var(--welcome-ink)}
.lost-piece .piece-picture{margin:13px 0 12px}
.lost-copy .about-lead{margin-top:18px}
.lost-links{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 0}
.lost-help{margin:28px 0 0;color:var(--welcome-muted);font-size:14px;line-height:1.6;max-width:520px}
.lost-help a{color:var(--welcome-ink);font-weight:800}
@media(max-width:900px){
  .about-hero{padding:48px 0 32px}.about-grid{grid-template-columns:minmax(0,1fr);padding-bottom:48px}
  .welcome-main .about-story{padding:52px 0 56px;margin-bottom:48px}.about-story-inner{grid-template-columns:minmax(0,1fr);gap:22px}
  .lost-hero{grid-template-columns:minmax(0,1fr);gap:20px;padding:32px 0 64px}.lost-card{min-height:300px;order:2}
}
@media(max-width:460px){.about-lead{font-size:17px}.about-card{padding:22px}.lost-links .welcome-button{width:100%}}

/* Short pages keep the footer at the bottom of the window. */
body.lost-page{min-height:100vh;display:flex;flex-direction:column}body.lost-page .lost-main{flex:1}
