/* The opening composition uses a local photo and no scripts. */
.topbar{background:#f6f2e7;color:#123f33;border-bottom:0}.topbar nav{color:#35554a}.top-contact{border-color:#285347}.topbar nav a:hover,.top-contact:hover{color:#177258}.wordmark small{color:#5a7165;border-left-color:#aab8aa}.hero{background:#f6f2e7;color:#103e32;overflow:visible}.hero-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:5.4%;align-items:center;min-height:0;padding-top:35px;padding-bottom:88px}.hero-visual{position:relative;width:100%;height:min(610px,52vw);min-height:500px;border-radius:42px;overflow:hidden;background:linear-gradient(180deg,#0c392e 0%,#245745 61%,#9f7b5c 100%);box-shadow:none}.poster-script{position:absolute;z-index:4;left:9%;top:5%;font-family:"STXingkai","华文行楷","KaiTi","STKaiti",serif;font-weight:900;font-size:clamp(79px,8vw,145px);line-height:1.18;letter-spacing:-.07em;color:#f9f4e9;transform:rotate(-7deg);text-shadow:0 2px 1px #f9f4e933}.poster-sun{position:absolute;z-index:1;width:126px;height:126px;right:19%;bottom:21%;border-radius:50%;background:#f8c66c;box-shadow:0 0 26px #f8c66c22}.poster-mountain{position:absolute;left:0;right:0;bottom:0}.poster-mountain-back{z-index:2;height:38%;background:#376956;clip-path:polygon(0 67%,23% 23%,43% 59%,65% 13%,84% 57%,100% 32%,100% 100%,0 100%)}.poster-mountain-front{z-index:3;height:20%;background:#0c3a30;clip-path:polygon(0 56%,31% 6%,59% 49%,80% 0,100% 51%,100% 100%,0 100%)}.poster-caption{position:absolute;z-index:5;bottom:5%;left:7%;font-size:12px;line-height:1.85;letter-spacing:.23em;color:#f9f4e9;margin:0}.hero-content{padding:20px 0;align-self:center}.eyebrow{color:#3d5b50;font-size:13px;letter-spacing:.24em;gap:0;display:block;white-space:nowrap}.eyebrow span{padding:0 .55em}.hero h1{font-family:"Songti SC","SimSun",serif;font-size:clamp(59px,5.25vw,87px);line-height:1.23;letter-spacing:-.085em;margin:48px 0 38px;font-weight:700}.hero h1 em{color:#103e32;font-style:normal;white-space:nowrap}.hero-lead{max-width:640px;color:#526a60;font-size:17px;line-height:2.15}.hero-lead strong{color:#113d31}.hero-actions{margin-top:37px}.button{border-radius:5px;padding:14px 20px}.button-light{background:#123f32;color:#fff}.button-outline{border-color:#4e6d61;color:#1d4b3b}.button:hover{transform:translateY(-2px)}.journey{padding-top:45px}.about{background:#f6f2e7}.research{background:#e9ece0}@media(max-width:1100px){.hero-grid{gap:4%}.hero-visual{height:560px}.hero h1{font-size:clamp(52px,5.4vw,70px)}.hero-lead{font-size:15px}.poster-script{font-size:clamp(75px,9vw,120px)}}@media(max-width:760px){.hero-grid{grid-template-columns:1fr;gap:32px;padding-top:16px;padding-bottom:66px}.hero-visual{height:430px;min-height:0;border-radius:28px}.poster-script{font-size:115px}.hero-content{padding:0}.hero h1{font-size:clamp(52px,9vw,72px);margin:25px 0}.hero-lead{font-size:15px}.poster-caption{font-size:10px}}@media(max-width:640px){.topbar{height:68px}.hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:29px}.hero-visual{order:0;height:390px}.hero-content{order:1}.poster-script{font-size:105px}.poster-sun{width:98px;height:98px}.eyebrow{font-size:10px;letter-spacing:.16em;white-space:normal}.hero h1{font-size:clamp(46px,11vw,62px);line-height:1.3;margin:22px 0}.hero h1 em{white-space:normal}.hero-lead{line-height:1.9}.hero-actions{margin-top:27px}.button-outline{border-color:#416357;color:#204736}.poster-caption{font-size:9px}.journey{padding-top:36px}}
/* The user's event photo fills the hero card at every viewport size. */
.portrait-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:53% 50%;transform:translateY(-8px) scale(1.05)}
@media(max-width:640px){.portrait-photo{object-position:53% 45%}}
.research.section-pad{padding:78px 0 85px}
.research-body{grid-template-columns:.34fr .66fr;margin-top:32px}
.reward{display:flex;flex-direction:column;justify-content:center;padding:28px 32px}
.orgs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:16px}
.org-logo{min-width:0;min-height:72px;display:flex;align-items:center;justify-content:center;padding:8px 10px;background:#fff;border:1px solid #e2e8df;border-radius:6px}
.org-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:52px;object-fit:contain}
@media(max-width:780px){.research-body{grid-template-columns:1fr}}
@media(max-width:640px){.research.section-pad{padding:60px 0 64px}.research-body{margin-top:25px}.orgs{grid-template-columns:1fr;padding:12px;gap:7px}.org-logo{min-height:64px}.org-logo img{max-height:48px}}
