@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;700&display=swap');
:root{--bg:#07131f;--panel:#0c2030;--line:#28404e;--cyan:#64eff0;--muted:#b4c4ce;--white:#f5f8fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--white);font:16px/1.7 'DM Sans','Noto Sans SC',sans-serif}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #fff;outline-offset:5px}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid var(--line);background:#081623}.brand{font-size:25px;letter-spacing:5px;font-weight:700;white-space:nowrap}.mark{color:var(--cyan);font-size:32px;vertical-align:middle}nav{display:flex;gap:35px;font-size:14px;color:var(--muted)}nav a:hover{color:var(--cyan)}.languages{display:flex;gap:4px;border:1px solid var(--line);padding:4px;border-radius:5px}.languages button{color:var(--muted);background:transparent;border:0;border-radius:2px;padding:5px 11px;font-size:14px;cursor:pointer}.languages button[aria-pressed=true]{background:var(--cyan);color:#07131f}.hero{position:relative;min-height:680px;display:flex;align-items:center;overflow:hidden}.hero-art{position:absolute;inset:0;background:linear-gradient(120deg,#102839,#183d4c);background-size:cover;background-position:center}.hero-art.ready{background-image:url('hero.png')}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,16,29,.96) 0%,rgba(5,16,29,.78) 34%,rgba(5,16,29,.15) 72%),linear-gradient(0deg,#07131f 0%,transparent 25%)}.hero-copy{position:relative;width:660px;padding:64px 0 90px;margin-left:8%;z-index:1}.eyebrow{font-size:13px;letter-spacing:2.2px;font-weight:700;color:var(--cyan);margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1{font-family:'Barlow Condensed','Noto Sans SC',sans-serif;font-size:clamp(52px,5.9vw,88px);font-weight:700;line-height:1.02;letter-spacing:-1px;margin-bottom:28px}em{color:var(--cyan);font-style:normal}.intro{max-width:470px;font-size:18px;color:#d0dce4;line-height:1.8}.actions{display:flex;gap:12px;margin:30px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:52px;padding:12px 24px;font-size:15px;font-weight:700;border:1px solid var(--line);border-radius:4px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.primary{background:var(--cyan);color:#071822;border-color:var(--cyan)}.secondary{background:#0b2030b8;color:#fff}.hero-note{font-size:14px;color:var(--muted);line-height:1.8}.scene-label{position:absolute;bottom:28px;right:6%;left:8%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px;color:#c7dce8}.scene-label span:first-child{color:var(--cyan)}.ribbon{display:flex;justify-content:center;gap:55px;align-items:center;padding:24px;border-bottom:1px solid var(--line);border-top:1px solid var(--line);font-size:13px;letter-spacing:2px;color:#d4e5ef}.ribbon b{color:var(--cyan)}.section{padding:100px 8%}.purpose{display:grid;grid-template-columns:1fr 1fr;gap:8%}h2{font-family:'Barlow Condensed','Noto Sans SC',sans-serif;font-size:clamp(36px,4vw,54px);line-height:1.15;font-weight:600;letter-spacing:-.4px;margin-bottom:28px}.purpose-copy>p{color:var(--muted)}.purpose-copy>p:first-child{font-size:20px;color:#e8f0f5}.origin{display:flex;gap:20px;border-top:1px solid var(--line);padding-top:24px}.origin>span{font-size:32px;color:var(--cyan)}.origin p{font-size:14px;color:var(--muted);margin:0}.journey{background:#0a1927;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.status{border:1px solid #597061;border-radius:30px;padding:6px 16px;color:#d6dfb8;white-space:nowrap;font-size:14px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:20px}.cards article{padding:30px;background:linear-gradient(145deg,#10293b,#0a1b2b);border:1px solid #294858;border-top:2px solid #55cfd7;border-radius:5px;display:flex;flex-direction:column}.step{font-size:12px;letter-spacing:2px;color:var(--muted)}.symbol{font-size:55px;color:var(--cyan);line-height:1.2;margin:30px 0 24px}h3{font-size:23px;line-height:1.35;font-weight:600;margin-bottom:16px}.cards p{color:var(--muted);flex:1}.card-foot{font-size:14px;border-top:1px solid var(--line);padding-top:20px;color:#d7e9ee}.development-note{font-size:14px;color:var(--muted);margin:26px 0 0}.family{text-align:center}.audiences{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:45px}.audiences h3{font-size:19px;color:var(--cyan)}.audiences p{color:var(--muted);margin:0}.connect{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:radial-gradient(ellipse at 90% 90%,#13434b,transparent 65%),#0c2130;border-block:1px solid var(--line)}.connect>div>p:not(.eyebrow){color:var(--muted);max-width:450px}.contact-panel{border:1px solid #376576;background:#081a27b8;padding:34px;border-radius:6px;align-self:center}.small-label{font-size:12px;letter-spacing:2px;color:var(--cyan)}.contact-panel h3{margin-top:22px}.contact-panel .button{display:flex;margin-top:14px}.contact-panel p{font-size:14px;margin:20px 0 0}footer{padding:36px 8%;display:flex;align-items:center;justify-content:space-between;gap:25px;color:var(--muted)}footer .brand{color:#fff;font-size:19px}footer p{margin:0;font-size:14px}footer>span{font-size:12px}html[lang=zh-Hans] h1{font-size:clamp(42px,5vw,68px);line-height:1.25}html[lang=zh-Hans] h2{line-height:1.4}html[lang=zh-Hans] .eyebrow{letter-spacing:2px}@media(min-width:900px){.hero-copy{animation:arrive .8s ease-out}@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}}.contact-highlight{outline:2px solid var(--cyan);outline-offset:8px}@media(max-width:800px){header{padding:0 5%;height:76px}nav{display:none}.brand{font-size:20px;letter-spacing:3px}.languages button{padding:5px 8px}.hero{min-height:760px;align-items:flex-end}.hero-art{background-position:65% center}.hero-shade{background:linear-gradient(0deg,#07131f 4%,rgba(7,19,31,.9) 43%,rgba(7,19,31,.2) 100%)}.hero-copy{margin:0;padding:220px 6% 70px;width:100%}h1{font-size:60px}.intro{font-size:17px;max-width:520px}.hero-note{font-size:13px}.scene-label{left:6%;right:6%;font-size:10px;letter-spacing:1px}.ribbon{gap:15px;font-size:10px;letter-spacing:1px;padding:20px 12px}.section{padding:66px 6%}.purpose,.connect{grid-template-columns:1fr;gap:25px}.cards{grid-template-columns:1fr}.cards article{padding:26px}.symbol{margin:18px 0}.audiences{grid-template-columns:1fr;gap:28px}.section-heading{align-items:flex-start;flex-direction:column;gap:0;margin-bottom:25px}.section-heading h2{margin-bottom:20px}.contact-panel{padding:26px}footer{flex-wrap:wrap;padding:30px 6%}footer p{width:100%;order:3}h2{font-size:42px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:380px){h1{font-size:50px}.actions{flex-direction:column}.ribbon{gap:7px;font-size:9px}.brand{letter-spacing:2px}}
/* Family story illustrations */
.brand{display:inline-flex;align-items:center;gap:12px}.brand-dot{width:8px;height:8px;flex:none;border-radius:50%;background:#65ec91;box-shadow:0 0 12px #65ec9160;animation:brand-blink 2.6s ease-in-out infinite}@keyframes brand-blink{0%,100%{opacity:1}50%{opacity:.25}}
.purpose{grid-template-columns:1.2fr 1fr;gap:7%;align-items:center}.purpose-copy{padding-top:65px}.map-visual{margin:35px 0 0;border:1px solid #315060;border-radius:8px;overflow:hidden;background:#102635}.map-visual img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}.map-visual figcaption{padding:14px 18px;color:var(--muted);font-size:14px;border-top:1px solid #315060}.journey-image{margin:22px -30px 25px;overflow:hidden;aspect-ratio:3/2;border-block:1px solid #315060}.journey-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.cards article:hover .journey-image img{transform:scale(1.035)}.family{background:radial-gradient(ellipse at 50% 45%,#123548 0%,#07131f 65%);overflow:hidden}.memory-bubbles{display:flex;align-items:center;justify-content:center;gap:34px;max-width:1000px;margin:48px auto 60px}.memory{border-radius:50%;overflow:hidden;border:2px solid #69d8dd77;box-shadow:0 0 0 8px #3b83971a,0 20px 60px #020c18;width:27%;aspect-ratio:1;flex-shrink:0}.memory img{width:100%;height:100%;object-fit:cover;display:block}.memory-dinner{width:34%;margin-top:45px;border-color:#cfa87499;box-shadow:0 0 0 10px #bf8f4410,0 20px 60px #020c18}.memory-learn{transform:rotate(-5deg)}.memory-play{transform:rotate(5deg)}.family .audiences{padding-top:25px;border-top:1px solid var(--line)}.connect{grid-template-columns:1.2fr 1fr;gap:7%}.founding-visual{margin:30px 0 0;border:1px solid #426070;border-radius:8px;overflow:hidden}.founding-visual img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.contact-panel{position:relative}.contact-panel:before{content:'';position:absolute;inset:-8px;border:1px solid #35627355;border-radius:10px;pointer-events:none}
@media(max-width:800px){.purpose,.connect{grid-template-columns:1fr}.purpose-copy{padding-top:10px}.journey-image{margin-inline:-26px}.memory-bubbles{gap:17px;margin:35px -1% 45px}.memory{width:28%;box-shadow:0 0 0 4px #3b83971a}.memory-dinner{width:34%;margin-top:28px;box-shadow:0 0 0 5px #bf8f4410}.contact-panel{margin-top:16px}.brand{gap:9px}.brand-dot{width:7px;height:7px}}
@media(prefers-reduced-motion:reduce){.brand-dot{animation:none;opacity:1}}
/* A constellation of shared moments */
.memory-bubbles{position:relative;display:block;max-width:1100px;height:510px;margin:45px auto 40px}.memory{position:absolute;margin:0;animation:memory-drift 8s ease-in-out infinite;transform:translateY(0) rotate(var(--tilt,0deg));will-change:transform}.memory-learn{width:25%;left:1%;top:28px;--tilt:-5deg;animation-delay:-2s}.memory-dinner{width:29%;left:24%;top:178px;--tilt:3deg;animation-duration:10s;animation-delay:-5s}.memory-school{width:29%;left:48%;top:0;--tilt:-3deg;animation-duration:9s;animation-delay:-3s}.memory-play{width:25%;right:0;top:188px;--tilt:5deg;animation-duration:11s;animation-delay:-7s}@keyframes memory-drift{0%,100%{transform:translateY(0) rotate(var(--tilt,0deg))}50%{transform:translateY(-16px) rotate(calc(var(--tilt,0deg) + 2deg))}}
@media(min-width:801px) and (max-width:1100px){.memory-bubbles{height:440px}.memory-dinner{top:150px}.memory-play{top:175px}}
@media(max-width:800px){.memory-bubbles{height:auto;aspect-ratio:1/1.12;margin:40px 0 25px}.memory-learn{width:43%;left:1%;top:4%}.memory-school{width:46%;left:auto;right:0;top:0}.memory-dinner{width:47%;left:3%;top:54%;margin:0}.memory-play{width:42%;right:1%;top:44%}.memory{animation-name:memory-drift-mobile}@keyframes memory-drift-mobile{0%,100%{transform:translateY(0) rotate(var(--tilt,0deg))}50%{transform:translateY(-8px) rotate(calc(var(--tilt,0deg) + 1deg))}}}
@media(prefers-reduced-motion:reduce){.memory{animation:none;will-change:auto}}
/* Responsive readability and touch targets */
.languages button{min-width:44px;min-height:44px;padding:5px 9px}.languages{gap:2px}
@media(max-width:360px){header{padding-inline:4%}.brand{font-size:18px;letter-spacing:2px;gap:7px}.languages button{padding-inline:6px}.languages{padding:3px}}
@media(min-width:601px) and (max-width:1100px){.cards{grid-template-columns:1fr}.cards article{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);column-gap:26px;row-gap:14px;padding:24px}.cards .journey-image{grid-column:1;grid-row:1/5;align-self:stretch;margin:0;aspect-ratio:auto;border:0;border-radius:4px;min-height:240px}.cards .journey-image img{height:100%;object-fit:cover}.cards .step,.cards h3,.cards p,.cards .card-foot{grid-column:2;margin:0}.cards .card-foot{padding-top:14px}.section-heading{flex-wrap:wrap}}
@media(max-width:600px){.actions{flex-direction:column;align-items:stretch}.actions .button{width:100%}.hero-copy{padding-top:175px}.eyebrow{font-size:13px}.scene-label{gap:14px}.scene-label span:last-child{text-align:right}}
.ribbon-dot{display:inline-block;width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:#65ec91;box-shadow:0 0 7px #65ec9150;animation:brand-blink 2.6s ease-in-out infinite}.ribbon-dot:nth-of-type(4){animation-delay:.6s}@media(prefers-reduced-motion:reduce){.ribbon-dot{animation:none}}
