/* Local brand fonts: no font service or third-party stylesheet is required. */
@font-face{font-family:Montserrat;src:url('/fonts/Montserrat-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('/fonts/Montserrat-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Montserrat;src:url('/fonts/Montserrat-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Montserrat;src:url('/fonts/Montserrat-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:CoffeCake;src:url('/fonts/CoffeCake.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:ChillRound;src:url('/fonts/ChillRoundF.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:ChillRoundHeading;src:url('/fonts/ChillRoundGothic-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--font:Montserrat,ChillRound,'Microsoft YaHei',sans-serif;--display-font:CoffeCake,ChillRound,sans-serif}
body{font-size:17px;line-height:1.8}
input,select,textarea{font-size:16px}
.brand-hero p,.feature p,.detail-copy,.section-head p,.simple-title p{font-size:18px;line-height:1.9}
.event-meta{font-size:14px}.event-date,.package small{font-size:13px}.package ul{font-size:14px;line-height:1.9}
html[lang=en] .brand-hero h1,html[lang=en] .feature h2{font-family:var(--display-font);letter-spacing:0}
html[lang=zh-Hans] h1,html[lang=zh-Hans] h2{font-family:Montserrat,ChillRoundHeading,ChillRound,sans-serif;font-weight:700;letter-spacing:.015em;line-height:1.45}
.community-page{font-size:18px;--cm-muted:#64705e}
.community-page h1,.community-page h2,.community-page h3{font-weight:400;letter-spacing:.01em}
.cm-top{height:108px}.cm-top-note{font-size:12px;letter-spacing:1.8px}.cm-top .language,.cm-signin{font-size:15px}
.cm-kicker{font-size:12px;letter-spacing:2px;line-height:1.7}
.cm-hero{grid-template-columns:1.05fr 1fr;gap:45px;padding-top:30px;padding-bottom:105px;min-height:850px}
.cm-hero h1{font-size:clamp(46px,4.3vw,66px);line-height:1.35;letter-spacing:.01em}
html[lang=en] .cm-hero h1{font-family:var(--display-font);font-size:clamp(56px,5.2vw,80px);line-height:1.08;letter-spacing:.005em}
.cm-hero-intro{font-size:18px;line-height:1.9;max-width:560px;margin-bottom:28px!important}
.cm-entry-label{font-size:14px;letter-spacing:.5px}.cm-doors-top{max-width:540px}
.cm-door{min-height:88px;gap:15px;padding:13px 16px}.cm-door-copy{min-width:0}
.cm-door-copy strong,.cm-doors-bottom .cm-door-copy strong{font-size:18px;line-height:1.5;font-weight:500}
.cm-door-copy small,.cm-doors-bottom .cm-door-copy small{font-size:12px;line-height:1.5;letter-spacing:0}
.cm-scroll-link{font-size:14px;margin-top:23px}.cm-door-arrow{flex-shrink:0}
.cm-scene{height:670px}.cm-photo-window{height:430px}.cm-photo-caption{height:106px}
.cm-photo-caption>span{font-size:10px;letter-spacing:1px}.cm-photo-caption strong{font-family:var(--display-font);font-size:27px;line-height:1.5}
.cm-photo-caption>svg{display:none}.cm-photo-small span{font-size:11px;letter-spacing:0}
.cm-float{font-size:14px;line-height:1.5;padding:14px 18px}.cm-float-family{left:-6%}.cm-float-educator{right:-2%;bottom:16%}
.cm-story h2{font-size:clamp(42px,4.4vw,65px);line-height:1.5;letter-spacing:0}
.cm-story{--cm-forest:#86a9a5;color:#173f3a}.cm-story .cm-kicker{color:#173f3a!important}.cm-story h2 em{color:#234c46}
.cm-story .cm-summary{color:#173f3a!important}.cm-story .cm-story-paragraphs p{color:#173f3a}
.cm-story .cm-story-tags>span{color:#173f3a;border-color:#244e4960;background:#ffffff16}
.cm-story-flower{color:#e7c58d}.cm-story-watermark{color:#244e490c}
.cm-summary,html[lang=en] .cm-summary{font-size:25px;line-height:1.85}
.cm-story-paragraphs p{font-size:18px;line-height:2;color:#d5decd;margin-bottom:21px}
.cm-story-tags>span{font-size:13px;padding:8px 14px}
.cm-section-heading h2{font-size:clamp(38px,3.7vw,55px);line-height:1.5}
html[lang=en] .community-page h2{font-family:var(--display-font);font-size:clamp(44px,4.2vw,62px);line-height:1.2;letter-spacing:.01em}
.cm-section-heading>p:last-child{font-size:18px;line-height:1.9;max-width:730px}
.cm-brand-tree>span{font-size:12px;letter-spacing:.8px}.cm-brand-tree{height:160px}
.cm-brand-grid{gap:20px}.cm-brand-card{padding:13px}.cm-brand-index{font-size:10px;line-height:1.8;white-space:normal;letter-spacing:.6px;min-height:58px}
.cm-brand-image{height:205px}.cm-brand-image>span{font-size:11px;letter-spacing:0}
.cm-brand-body{padding:20px 8px 14px}.cm-brand-body h3,html[lang=en] .cm-brand-body h3{font-family:Montserrat,ChillRound,sans-serif;font-size:21px;line-height:1.5;letter-spacing:-.4px;min-height:64px;font-weight:500}
.cm-brand-body>p{font-size:16px;line-height:1.9;color:#62735a}.cm-brand-cta{font-size:14px;line-height:1.6;gap:6px}
.cm-partner-wordmark{font-family:var(--display-font);font-size:23px}.cm-partner-wordmark em{font-size:15px}
.cm-connection-copy h2{font-size:47px;line-height:1.5}.cm-connection-instruction{font-size:17px;line-height:1.9;max-width:430px}
.cm-connection-detail h3{font-size:23px;line-height:1.5}.cm-connection-detail p{font-size:17px;line-height:1.9;color:#63725c}.cm-connection-detail{min-height:180px}
.cm-orbit-node{width:150px;padding:17px 9px}.cm-orbit-node strong{font-size:16px;line-height:1.5}.cm-orbit-node small{font-size:11px;line-height:1.5}
.cm-node-play{width:178px}.cm-child-centre>strong{font-size:20px}.cm-child-centre>small{font-size:9px;letter-spacing:.3px}
.cm-stat{padding:30px 25px;min-height:215px}.cm-stat>strong{font-family:var(--display-font);font-size:clamp(48px,4.5vw,66px);letter-spacing:0}
.cm-stat p{font-size:18px;margin-top:15px}.cm-stat small{font-size:12px}
.cm-doors-bottom{gap:17px}.cm-doors-bottom .cm-door{min-height:122px;gap:14px;padding:18px 16px}
.cm-connect h2{font-size:38px}.cm-connect>div>p:last-child{font-size:17px}.cm-socials{gap:24px}.cm-social>span{width:55px;height:55px}.cm-social small{font-size:12px}
.cm-social b.cm-xhs{font-family:ChillRound,sans-serif;font-size:14px;letter-spacing:-1px}.cm-bottom-line>span,.cm-bottom-line>small{font-size:12px;letter-spacing:.7px}
@media(max-width:1150px){
 .cm-hero{gap:30px}.cm-hero h1{font-size:47px}.cm-hero-intro{font-size:17px}.cm-door-copy strong{font-size:16px}
 .cm-scene{height:590px}.cm-photo-window{height:370px}.cm-photo-caption strong{font-size:23px}.cm-float{font-size:12px}
 .cm-story-grid{gap:55px}.cm-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.cm-brand-image{height:260px}.cm-brand-index{min-height:0;font-size:12px}
 .cm-brand-body h3{min-height:0}.cm-brand-logo{width:155px;height:52px}.cm-brand-body>p{font-size:17px}.cm-brand-cta{font-size:15px}
 .cm-connection-grid{grid-template-columns:1fr;gap:20px}.cm-connection-copy{max-width:740px}.cm-connection-instruction{max-width:650px}.cm-connection-detail{min-height:0;max-width:650px;margin-top:25px}.cm-orbit-map{height:600px;max-width:760px;width:100%;margin:auto}
 .cm-child-centre{width:180px;height:214px}.cm-child-centre svg{width:145px;height:145px}.cm-impact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
 .cm-stat>strong{font-size:65px}.cm-doors-bottom{grid-template-columns:1fr;max-width:600px;margin:auto}.cm-doors-bottom .cm-door{max-width:none;min-height:95px}
}
@media(max-width:700px){
 .brand-hero p,.feature p,.detail-copy,.section-head p,.simple-title p{font-size:17px}
 .cm-wrap{padding-left:24px;padding-right:24px}.cm-top{height:88px;gap:12px}.cm-logo .logo{width:99px}.cm-top-note{display:none}.cm-top-tools{gap:17px}.cm-top .language,.cm-signin{font-size:14px}
 .cm-hero{padding-top:21px;gap:38px;padding-bottom:70px;min-height:0}.cm-kicker{font-size:11px;letter-spacing:1.6px;margin-bottom:16px}
 .cm-hero h1{font-size:clamp(32px,8.8vw,45px);line-height:1.42;letter-spacing:0;margin-bottom:20px}
 html[lang=en] .cm-hero h1{font-size:clamp(44px,11.5vw,58px);line-height:1.1;letter-spacing:0}
 .cm-hero-intro{font-size:16px;line-height:1.85;margin-bottom:24px!important}.cm-entry-label{font-size:14px;letter-spacing:0}
 .cm-door,.cm-doors-bottom .cm-door{min-height:82px;padding:12px;gap:12px;border-radius:17px}.cm-door-logo,.cm-doors-bottom .cm-door-logo{width:47px;height:46px}
 .cm-door-copy strong,.cm-doors-bottom .cm-door-copy strong,html[lang=en] .cm-door-copy strong{font-size:16px;line-height:1.55}
 .cm-door-copy small,.cm-doors-bottom .cm-door-copy small{font-size:11px;line-height:1.6}
 .cm-scroll-link{font-size:13px;margin-top:20px}.cm-scene{height:505px;width:94%;max-width:460px}
 .cm-photo-window{height:300px}.cm-photo-main{left:10%;width:86%;padding:9px 9px 0}.cm-photo-caption{height:90px;padding-right:5px}
 .cm-photo-caption strong{font-size:23px}.cm-photo-caption>span{font-size:9px;letter-spacing:0}.cm-photo-small{left:-5%;bottom:11%;width:128px}.cm-photo-small span{font-size:10px;line-height:1.5;padding-top:7px}
 .cm-float{font-size:12px;gap:7px;padding:12px}.cm-float-family{left:-3%;top:10%}.cm-float-educator{right:-3%;bottom:22%}
 .cm-story{padding:65px 0 100px}.cm-story h2{font-size:39px;line-height:1.5}.cm-story-flower{right:20px;top:25px}
 .cm-summary,html[lang=en] .cm-summary{font-size:23px;line-height:1.85}.cm-story-paragraphs p{font-size:17px;line-height:2}.cm-story-tags>span{font-size:12px;padding:7px 11px}
 .cm-section-heading h2,.cm-connection-copy h2{font-size:34px;line-height:1.5;letter-spacing:0}
 html[lang=en] .community-page h2{font-size:43px;line-height:1.23;letter-spacing:0}.cm-section-heading>p:last-child{font-size:17px;line-height:1.9}
 .cm-brand-tree{height:145px}.cm-brand-tree>span{font-size:11px}.cm-brand-tree:after{display:none}
 .cm-brand-grid{grid-template-columns:1fr;gap:30px;padding-top:10px}.cm-brand-card{padding:15px;border-radius:26px;max-width:440px;margin:auto;width:100%}
 .cm-brand-index{font-size:11px;min-height:0;padding:6px 6px 15px}.cm-brand-image{height:240px;border-radius:17px}.cm-brand-image>span{font-size:12px;bottom:13px;left:13px;padding:6px 10px}
 .cm-brand-body{padding:18px 7px 10px}.cm-brand-logo{max-width:170px;width:170px;height:55px;margin-bottom:18px}
 .cm-brand-body h3,html[lang=en] .cm-brand-body h3{font-size:24px;min-height:0;margin-bottom:12px}.cm-brand-body>p{font-size:17px;line-height:1.9;margin-bottom:22px}.cm-brand-cta{font-size:16px;padding-top:18px}
 .cm-partner-wordmark{font-size:27px;max-width:200px;height:58px}.cm-partner-wordmark em{font-size:17px}
 .cm-connection-grid{display:flex;gap:0}.cm-connection-instruction{font-size:17px}.cm-orbit-map{height:485px;margin-top:22px}
 .cm-orbit-node{width:116px;padding:13px 5px;line-height:1.5}.cm-orbit-node strong{font-size:14px}.cm-orbit-node small{font-size:9px}
 .cm-node-play{width:163px}.cm-child-centre{width:128px;height:178px}.cm-child-centre svg{width:103px;height:103px}.cm-child-centre>strong{font-size:17px}.cm-child-centre>small{font-size:7px;letter-spacing:0}
 .cm-connection-detail{padding:22px 17px;gap:12px;margin-top:25px}.cm-connection-detail h3{font-size:21px}.cm-connection-detail p{font-size:16px;line-height:1.9}
 .cm-impact-grid{gap:14px}.cm-stat{padding:26px 18px;min-height:186px;border-radius:30px}.cm-stat>strong{font-size:clamp(37px,10.4vw,55px);letter-spacing:-.5px}.cm-stat p{font-size:16px;line-height:1.5}.cm-stat small{font-size:11px;line-height:1.6}
 .cm-connect h2{font-size:32px}.cm-connect>div>p:last-child{font-size:17px}.cm-socials{gap:20px;justify-content:space-between}.cm-social>span{width:51px;height:51px}.cm-social small{font-size:11px}.cm-bottom-line>span,.cm-bottom-line>small{font-size:10px;letter-spacing:0}
}
@media(max-width:360px){.cm-wrap{padding-left:18px;padding-right:18px}.cm-top-tools{gap:12px}.cm-orbit-node{width:103px}.cm-node-play{width:155px}.cm-orbit-node strong{font-size:13px}.cm-door-copy strong{font-size:15px}.cm-stat{padding:24px 14px}.cm-stat>strong{font-size:35px}}
/* Five original line illustrations share the logo's teal and warm accent details. */
.community-page .cm-orbit-node>span.cm-topic-art{width:70px;height:70px;margin-bottom:8px;background:transparent;border-radius:0}
.cm-topic-icon{display:block;width:100%;height:100%;object-fit:contain}
.cm-orbit-node{padding:13px 8px 16px}
.cm-detail-icon{width:64px;height:64px;border-radius:18px;padding:4px}
@media(min-width:1151px){.cm-orbit-map{height:590px}.cm-orbit-node{width:164px}.cm-node-play{width:188px}}
@media(max-width:700px){
 .cm-orbit-map{height:560px}.community-page .cm-orbit-node>span.cm-topic-art{width:54px;height:54px;margin-bottom:5px}
 .cm-orbit-node{padding:11px 5px 12px}.cm-node-community,.cm-node-healthcare{top:74%}.cm-node-play{top:95%}
 .cm-connection-detail{margin-top:58px}.cm-detail-icon{width:52px;height:52px;border-radius:14px;padding:3px}
}
