:root{--blue:#168bc7;--deep:#142a48;--sky:#dff5ff;--yellow:#ffd928;--pink:#ff6688;--green:#65c48d;--cream:#fffaf0;--white:#fff;--ink:#172536;--muted:#607084;--line:#dce8ef;--radius:28px;--shadow:0 22px 60px rgba(20,42,72,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans TC",sans-serif;background:var(--cream);line-height:1.7;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,28px);background:rgba(255,250,240,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(20,42,72,.08);position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:12px}.brand b{display:block;font:700 1.1rem/1 "Fredoka",sans-serif;letter-spacing:.02em}.brand small{display:block;margin-top:6px;font-size:.68rem;letter-spacing:.16em;color:var(--muted)}.brand-eyes{width:49px;height:39px;border-radius:16px 16px 19px 19px;background:var(--yellow);display:flex;gap:5px;align-items:center;justify-content:center;transform:rotate(-3deg)}.brand-eyes i{width:10px;height:15px;background:var(--deep);border-radius:50%}.brand-eyes i+ i{background:var(--white);border:3px solid var(--deep);width:14px;height:17px}.main-nav{display:flex;align-items:center;gap:28px;font-size:.88rem;font-weight:700}.main-nav>a{transition:.2s}.main-nav>a:hover{color:var(--blue)}.nav-cta{background:var(--deep);color:#fff!important;padding:11px 20px;border-radius:999px}.menu-button{display:none;border:0;background:none;font-size:1.5rem}.hero{min-height:calc(100vh - 88px);padding:80px max(5vw,32px) 70px;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);gap:7vw;align-items:center;position:relative;background:radial-gradient(circle at 78% 25%,rgba(255,217,40,.24),transparent 27%),linear-gradient(135deg,#fffaf0 0%,#f3fbff 100%)}.hero:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:14px;background:repeating-linear-gradient(90deg,var(--pink) 0 14%,var(--blue) 14% 28%,var(--yellow) 28% 42%,var(--green) 42% 56%)}.eyebrow,.kicker{font:700 .78rem/1.3 "Fredoka","Noto Sans TC",sans-serif;letter-spacing:.2em;color:var(--blue);margin:0 0 18px}.hero h1{font-size:clamp(3rem,5.4vw,6.2rem);line-height:1.08;letter-spacing:-.055em;margin:0 0 28px;font-weight:900}.hero h1 em,.learn h2 em{font-style:normal;color:var(--blue)}.hero-lead{max-width:690px;font-size:1.08rem;color:#435267;margin:0 0 32px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.button{min-height:52px;padding:13px 24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:16px;font-weight:900;transition:.25s;border:2px solid transparent}.button:hover{transform:translateY(-3px)}.primary{background:var(--yellow);box-shadow:0 10px 25px rgba(255,217,40,.32)}.ghost{border-color:var(--deep);background:white}.hero-note{margin-top:30px;font-size:.86rem;color:var(--muted)}.hero-note span{color:var(--pink);margin-right:8px}.hero-visual{position:relative}.hero-visual>img{position:relative;z-index:2;border-radius:50% 42% 46% 38%;border:9px solid white;box-shadow:var(--shadow);aspect-ratio:1.25/1;object-fit:cover}.sun-disc{position:absolute;width:70%;aspect-ratio:1;background:var(--yellow);border-radius:50%;right:-8%;top:-13%;z-index:0}.floating-card{position:absolute;z-index:3;background:white;border-radius:20px;padding:15px 20px;box-shadow:0 12px 35px rgba(20,42,72,.15);display:flex;flex-direction:column;border:2px solid var(--deep);transform:rotate(-3deg)}.floating-card strong{font:700 1.65rem/1 "Fredoka",sans-serif;color:var(--blue)}.floating-card span{font-size:.75rem;font-weight:700}.card-a{left:-28px;bottom:9%}.card-b{right:-22px;top:15%;transform:rotate(4deg)}.card-b strong{color:var(--pink)}.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--deep);color:white;padding:30px max(5vw,32px)}.proof-strip article{display:flex;flex-direction:column;align-items:center;border-right:1px solid rgba(255,255,255,.2)}.proof-strip article:last-child{border:0}.proof-strip strong{font:700 1.8rem/1.2 "Fredoka",sans-serif;color:var(--yellow)}.proof-strip span{font-size:.82rem;margin-top:5px;color:#dceaf7}.section,.audience{padding:120px max(5vw,32px)}.section-heading{display:grid;grid-template-columns:76px 1fr;gap:18px;align-items:start;margin-bottom:62px}.section-number{font:700 1rem "Fredoka",sans-serif;color:var(--pink);border-top:3px solid var(--pink);padding-top:8px}.section h2,.audience h2,.cta h2{font-size:clamp(2.2rem,4.4vw,4.8rem);line-height:1.16;letter-spacing:-.045em;margin:0;font-weight:900}.story{background:#fff}.story-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:center}.big-quote{font-size:1.4rem;line-height:1.6;font-weight:900;color:var(--deep)}.story-copy>p:not(.big-quote){color:var(--muted)}.values{list-style:none;padding:0;margin:34px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:13px}.values li{padding:18px;border-radius:16px;background:#f6fbfe;border-left:5px solid var(--blue)}.values li:nth-child(2){border-color:var(--pink)}.values li:nth-child(3){border-color:var(--yellow)}.values li:nth-child(4){border-color:var(--green)}.values b,.values span{display:block}.values b{font-size:.85rem}.values span{font-size:.77rem;color:var(--muted);margin-top:5px}.image-frame{margin:0;position:relative}.image-frame img{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}.image-frame figcaption{background:var(--yellow);padding:15px 20px;border-radius:16px;font-weight:700;font-size:.85rem;margin:-18px 24px 0;position:relative}.method{background:var(--sky)}.path-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.path-card{background:white;border:2px solid var(--deep);border-radius:22px;padding:22px;min-height:340px;position:relative;transition:.25s;box-shadow:5px 6px 0 var(--deep)}.path-card:hover{transform:translateY(-8px) rotate(-1deg)}.path-card>span{font:700 .78rem "Fredoka",sans-serif}.path-card .shape{font-size:3.3rem;line-height:1;margin:28px 0 22px}.path-card h3{font-size:1.25rem;margin:0 0 10px}.path-card p{font-size:.88rem;color:var(--muted)}.path-card>b{position:absolute;bottom:20px;font-size:.75rem;padding:5px 11px;border-radius:999px;background:var(--sky)}.path-card.pink .shape{color:var(--pink)}.path-card.yellow .shape{color:#eabf00}.path-card.green .shape{color:var(--green)}.path-card.navy{background:var(--deep);color:white}.path-card.navy p{color:#c5d4e7}.path-card.navy>b{background:var(--yellow);color:var(--deep)}.path-card.blue .shape{color:var(--blue)}.flywheel{margin-top:52px;display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap;font:700 .85rem "Fredoka",sans-serif;letter-spacing:.08em}.flywheel span{padding:12px 18px;background:white;border-radius:999px}.flywheel i{font-style:normal;color:var(--pink)}.cases{background:white}.feature-case{display:grid;grid-template-columns:1.05fr .95fr;background:#fff3f5;border-radius:34px;overflow:hidden;margin-bottom:34px}.feature-image img{width:100%;height:100%;object-fit:cover;max-height:700px}.feature-copy{padding:7vw 6vw}.case-tag{color:var(--pink);font:700 .75rem "Fredoka",sans-serif;letter-spacing:.15em}.feature-copy h3{font-size:clamp(2rem,3.4vw,3.6rem);line-height:1.15;margin:14px 0}.feature-copy p{color:var(--muted)}.case-flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:28px 0}.case-flow span{background:white;border:1px solid #ffd1db;border-radius:99px;padding:7px 13px;font-weight:700;font-size:.8rem}.case-flow i{font-style:normal;color:var(--pink)}blockquote{margin:32px 0 0;padding:18px 0 18px 22px;border-left:5px solid var(--pink);font-weight:900;font-size:1.15rem}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.case-card{border:1px solid var(--line);border-radius:28px;overflow:hidden;background:white;box-shadow:0 12px 40px rgba(20,42,72,.07)}.case-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.case-card div{padding:28px}.case-card span{font-size:.72rem;font-weight:900;color:var(--blue);letter-spacing:.15em}.case-card h3{font-size:1.5rem;margin:8px 0}.case-card p{color:var(--muted);font-size:.92rem}.learn{background:var(--deep);color:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.learn h2{font-size:clamp(2.3rem,4vw,4.4rem)}.learn-intro>p:last-child{color:#b8c8da;max-width:530px}.curriculum details{border-top:1px solid rgba(255,255,255,.2);padding:24px 0}.curriculum details:last-child{border-bottom:1px solid rgba(255,255,255,.2)}.curriculum summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:110px 1fr 30px;gap:18px;align-items:center}.curriculum summary::-webkit-details-marker{display:none}.curriculum summary span{font:600 .75rem "Fredoka",sans-serif;color:var(--yellow);letter-spacing:.1em}.curriculum summary b{font-size:1.1rem}.curriculum summary i{font-style:normal;font-size:1.5rem;transition:.2s}.curriculum details[open] summary i{transform:rotate(45deg)}.curriculum details p{color:#b8c8da;margin:16px 48px 0 128px;font-size:.9rem}.audience{background:var(--yellow)}.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.audience-grid article{background:white;border:2px solid var(--deep);border-radius:22px;padding:28px;box-shadow:5px 6px 0 var(--deep)}.audience-grid article>span{color:var(--pink);font-size:1.5rem}.audience-grid h3{font-size:1.12rem}.audience-grid p{font-size:.86rem;color:var(--muted)}.cta{min-height:650px;background:var(--blue);color:white;display:flex;align-items:center;justify-content:center;text-align:center;padding:100px 28px;position:relative;overflow:hidden}.cta-content{max-width:1000px;position:relative;z-index:2}.cta .kicker{color:var(--yellow)}.cta p:not(.kicker){font-size:1.06rem;color:#e0f3ff;max-width:720px;margin:26px auto}.center{justify-content:center}.dark{background:var(--deep);color:white}.light{background:white;color:var(--deep)}.cta-shape{position:absolute;border:45px solid rgba(255,255,255,.13);width:340px;height:340px}.cta-shape.one{border-radius:50%;left:-110px;top:-100px}.cta-shape.two{transform:rotate(25deg);right:-100px;bottom:-120px}footer{background:#0e1f36;color:white;padding:54px max(5vw,32px);display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:32px}.footer-brand small,footer p{color:#aebfd3}.copyright{font-size:.78rem}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){.path-grid{grid-template-columns:repeat(3,1fr)}.audience-grid{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr 1fr;gap:4vw}.main-nav{gap:16px}.story-grid{gap:36px}}
@media(max-width:820px){.site-header{height:76px}.menu-button{display:block}.main-nav{position:absolute;left:18px;right:18px;top:70px;padding:20px;background:white;border-radius:20px;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.hero{min-height:auto;padding-top:60px;grid-template-columns:1fr}.hero h1{font-size:clamp(2.9rem,12vw,5rem)}.hero-visual{margin:25px 20px 10px}.proof-strip{grid-template-columns:1fr 1fr;gap:24px}.proof-strip article:nth-child(2){border:0}.story-grid,.learn,.feature-case{grid-template-columns:1fr}.path-grid{grid-template-columns:1fr 1fr}.section,.audience{padding:85px 24px}.section-heading{grid-template-columns:54px 1fr}.values{grid-template-columns:1fr}.case-grid{grid-template-columns:1fr}.feature-copy{padding:42px 28px}.learn{gap:50px}.curriculum details p{margin-left:0}.audience-grid{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr;text-align:center}.footer-brand{justify-content:center}}
@media(max-width:520px){.brand b{font-size:.93rem}.brand small{font-size:.58rem}.brand-eyes{width:42px;height:34px}.hero{padding:48px 20px 55px}.hero-lead{font-size:1rem}.button{width:100%}.floating-card{padding:10px 14px}.card-a{left:-12px}.card-b{right:-12px}.proof-strip strong{font-size:1.4rem}.proof-strip span{text-align:center}.section h2,.audience h2,.cta h2{font-size:2.15rem}.section-heading{display:block}.section-number{display:inline-block;width:48px;margin-bottom:18px}.path-grid,.audience-grid{grid-template-columns:1fr}.path-card{min-height:290px}.case-flow{gap:6px}.learn{padding-left:22px;padding-right:22px}.curriculum summary{grid-template-columns:85px 1fr 22px}.curriculum summary b{font-size:.95rem}.cta{min-height:560px}.hero-visual>img{border-width:6px}}
.brand-logo{width:49px;height:49px;object-fit:contain;flex:0 0 auto}
@media(max-width:520px){.brand-logo{width:42px;height:42px}}
.brand-values-visual{padding:72px max(5vw,32px);background:#f4fbff}
.brand-values-visual img{width:100%;height:auto;margin:0 auto}
@media(max-width:520px){.brand-values-visual{padding:38px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button:hover,.path-card:hover{transform:none}}

/* Keep the full front-and-back character reference visible inside the hero frame. */
.hero-visual>img{object-fit:contain;object-position:center;background:#fff;padding:8% 10%;border-radius:50%;border:10px solid #fff;box-shadow:0 0 0 4px var(--yellow),var(--shadow);aspect-ratio:1.35/1}
.card-b{right:-22px;top:15%;transform:rotate(4deg);border-radius:24px;padding:17px 24px}
.card-b:before{content:"";position:absolute;left:24px;bottom:-15px;width:26px;height:26px;background:#fff;border-right:2px solid var(--deep);border-bottom:2px solid var(--deep);transform:rotate(45deg);border-radius:0 0 6px 0;z-index:-1}
@media(max-width:520px){.card-b{right:-12px}.hero-visual>img{border-width:7px;box-shadow:0 0 0 3px var(--yellow),var(--shadow)}}
.hero-visual>img{padding:10% 13% 14%;object-fit:contain;object-position:center}
.card-b:before{content:"";position:absolute;left:25px;bottom:-34px;width:30px;height:38px;background:var(--deep);border:0;transform:none;border-radius:0;clip-path:polygon(0 0,100% 0,16% 100%);z-index:-2}
.card-b:after{content:"";position:absolute;left:28px;bottom:-29px;width:24px;height:32px;background:#fff;clip-path:polygon(0 0,100% 0,16% 100%);z-index:-1}
@media(max-width:520px){.hero-visual>img{padding:10% 12% 15%}.card-b:before{bottom:-29px;height:33px}.card-b:after{bottom:-25px;height:28px}}

/* Match the hero headline scale to the main section headline reference. */
.hero h1{font-size:clamp(2.2rem,4.4vw,4.8rem)}
@media(max-width:820px){.hero h1{font-size:clamp(2.25rem,9vw,3.8rem)}}
.headline-line{display:block;white-space:nowrap}
@media(max-width:520px){.headline-line{white-space:normal}}

/* Hero character frame: keep the complete feet safely inside the oval. */
.hero-oval{position:relative;z-index:2;width:100%;aspect-ratio:1.35/1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;border:10px solid #fff;border-radius:50%;box-shadow:0 0 0 4px var(--yellow),var(--shadow);padding:8% 11% 12%}
.hero-oval img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}

/* HeiHei speech bubble, matched to the supplied rounded reference. */
.card-b{right:-22px;top:12%;min-width:170px;padding:20px 25px 22px;align-items:center;border:3px solid var(--deep);border-radius:34px;transform:rotate(2deg);text-align:center}
.card-b strong{font-size:1.9rem;color:var(--pink)}
.card-b span{margin-top:8px;font-size:.9rem;line-height:1.2;color:var(--deep);font-weight:900}
.card-b:before{content:"";position:absolute;left:34px;bottom:-53px;width:38px;height:56px;background:var(--deep);border:0;border-radius:0;transform:none;clip-path:polygon(0 0,100% 0,12% 100%);z-index:-2}
.card-b:after{content:"";position:absolute;left:38px;bottom:-45px;width:30px;height:49px;background:#fff;clip-path:polygon(0 0,100% 0,12% 100%);z-index:-1}
@media(max-width:520px){.hero-oval{border-width:7px;box-shadow:0 0 0 3px var(--yellow),var(--shadow);padding:9% 11% 14%}.card-b{right:-12px;min-width:145px;padding:15px 20px 18px;border-radius:28px}.card-b strong{font-size:1.55rem}.card-b span{font-size:.8rem}.card-b:before{left:29px;bottom:-43px;width:32px;height:47px}.card-b:after{left:33px;bottom:-36px;width:24px;height:40px}}

/* Keep the speech-bubble tail clear of HeiHei's screw hand. */
.card-b:before{left:108px}
.card-b:after{left:112px}
@media(max-width:520px){.card-b:before{left:88px}.card-b:after{left:92px}}

.card-b span{font-size:1.12rem;letter-spacing:.04em}
@media(max-width:520px){.card-b span{font-size:.94rem;letter-spacing:.03em}}

.story .image-frame img{width:100%;max-height:720px;object-fit:contain;object-position:center;background:#eaf8ff}

/* Curved speech-bubble tail from the annotated reference; no annotation color. */
.card-b:before,.card-b:after{display:none}
.card-b{border-radius:28px;padding:16px 19px 18px;min-width:148px;width:max-content}
.card-b strong,.card-b span{white-space:nowrap;text-align:center}
.bubble-tail{position:absolute;left:39px;bottom:-30px;width:68px;height:42px;overflow:visible;z-index:2;pointer-events:none}
.bubble-tail-fill{fill:#fff;stroke:none}
.bubble-tail-mask{fill:#fff;stroke:none}
.bubble-tail-outline{fill:none;stroke:var(--deep);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:520px){.card-b{border-radius:25px;min-width:136px;padding:14px 17px 16px}.bubble-tail{left:35px;bottom:-25px;width:58px;height:36px}}

/* Align the story image with the headline and remove the pale-blue outer frame. */
.story-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr);gap:70px;align-items:start}
.story-left .section-heading{margin-bottom:48px}
.story .section-heading h2{font-size:clamp(2.6rem,4.2vw,4.65rem);line-height:1.08}
.story .section-heading h2 span{display:block;white-space:nowrap}
.story-layout>.image-frame{margin:0;align-self:start}
.story .image-frame img{width:100%;max-height:760px;object-fit:contain;object-position:top center;background:transparent;border:0;border-radius:0;box-shadow:none}
@media(max-width:980px){.story-layout{grid-template-columns:1fr;gap:48px}.story-layout>.image-frame{max-width:620px;margin:0 auto}.story-left .section-heading{margin-bottom:42px}}
@media(max-width:520px){.story .section-heading h2{font-size:clamp(1.55rem,6.8vw,2rem)}}
.story-note{margin-top:18px;padding:13px 22px;background:#fff5d8;border-radius:16px;color:#9b7200;text-align:center;font-weight:700;line-height:1.75;white-space:nowrap}
.story-note span{display:inline}
@media(max-width:520px){.story-note{padding:13px 16px;font-size:.9rem;white-space:normal}.story-note span{display:inline}}

/* Keep all content-section headings at the same refined scale. */
.section h2,.audience h2,.cta h2,.learn h2{font-size:clamp(2.6rem,4.2vw,4.65rem);line-height:1.08}
@media(max-width:520px){.section h2,.audience h2,.cta h2,.learn h2{font-size:clamp(1.55rem,6.8vw,2rem)}}

/* Keep the bottom labels clear of card copy and use the available upper space on phones. */
.path-card{padding-bottom:72px}
@media(max-width:520px){
  .path-card{min-height:290px;padding:18px 20px 72px}
  .path-card .shape{margin:10px 0 12px}
  .path-card h3{margin:0 0 6px}
  .path-card p{margin:0}
}

/* Lift HeiHei's speech bubble on phones so the rear character stays visible. */
@media(max-width:520px){.hero-visual .card-b{top:-10%!important;right:-12px;transform:rotate(4deg) scale(.86);transform-origin:top right}}
