/* Approved Chinese Programs desktop reference. Route-local; homepage CSS unchanged. */
@font-face{font-family:"Noto Sans SC";src:url("fonts/noto-sans-sc-pathway.ttf") format("truetype");font-weight:400;font-display:swap}
.page-chinese-programs{--cp-red:#9c0000;background:linear-gradient(#fff 0,#f6fbff 70%,#fff)}
.page-chinese-programs main{overflow:hidden;color:#00269a;font-size:15px}

.cp-hero{position:relative;background:#fffcf5}
.cp-hero-grid{display:grid;grid-template-columns:46% 54%;min-height:245px;align-items:center;position:relative}
.cp-hero-copy{padding:17px 0 28px;z-index:1}
.cp-eyebrow{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px}
.cp-hero h1{font-size:40px;line-height:1.04;letter-spacing:-.045em;margin:0 0 18px}
.cp-hero h1 span{position:relative;display:inline-block}
.cp-hero h1 span:after{content:"";position:absolute;bottom:-8px;left:0;width:78%;height:4px;background:#ffd66b;border-radius:50%;transform:rotate(-1deg)}
.cp-hero-copy>p:last-child{font-size:15px;line-height:1.35}
.cp-photo{height:245px;align-self:stretch;overflow:hidden;border-radius:48% 43% 18% 20% / 55% 53% 22% 25%}
.cp-photo img{width:100%;height:100%;object-fit:cover;object-position:center 34%}
.cp-bamboo{position:absolute;width:84px;height:160px;bottom:0;background:url('home-v3-bamboo.svg') center/contain no-repeat;opacity:.65;pointer-events:none}
.cp-bamboo-left{left:10px;transform:rotate(-10deg)}.cp-bamboo-right{right:10px;transform:scaleX(-1)}
.cp-cloud{position:absolute;width:66px;height:40px;pointer-events:none;color:#77bdcb}
.cp-cloud-gold{left:6%;top:30px;color:#e8ba55}.cp-cloud-blue{left:42%;top:20px}
.cp-curriculum{position:relative;margin-top:-26px;z-index:2}
.curriculum-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto repeat(4,auto);gap:0 16px}
.curriculum-pathway{grid-row:1/span 5;display:grid;grid-template-rows:subgrid;padding:14px 16px 12px;min-width:0;border-radius:20px;background:#ffedf0;scroll-margin-top:90px}
.curriculum-heritage{grid-column:1}.curriculum-csl{grid-column:2;background:#e5f9f3}
.curriculum-intro{display:flex;gap:16px;padding:2px 10px 14px;position:relative;align-items:flex-start}
.curriculum-character{font:400 58px/1 "Noto Sans SC",sans-serif;color:var(--cp-red);background:#ffffffa0;width:78px;height:82px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.curriculum-intro h2{font-size:24px;line-height:1.18;letter-spacing:-.045em;margin:0 0 4px}
.curriculum-intro p{font-size:13px;line-height:1.3;margin:0}
.curriculum-intro .curriculum-audience{font-size:15px;margin-bottom:3px}
.cp-path-cloud{right:0;top:15px;width:48px;opacity:.5}.curriculum-csl .cp-path-cloud{top:65px}
.curriculum-stage{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) 94px;align-items:start;column-gap:14px;min-width:0;margin-bottom:8px;padding:12px 14px;background:#ffffffd9;border-radius:16px}
.curriculum-stage:last-child{margin-bottom:0}
.curriculum-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#ffedf0;border-radius:50%;color:#bb1734;align-self:center}
.curriculum-icon svg{width:29px;height:29px;stroke-width:1.5}
.curriculum-csl .curriculum-icon{background:#e5f9f3;color:#00838a}
.curriculum-copy{min-width:0;padding-bottom:1px}
.curriculum-stage-label{display:block;font-size:12px;line-height:1.2;font-weight:800;text-transform:uppercase;color:var(--cp-red);margin-bottom:2px}
.curriculum-stage h3{font-size:16px;line-height:1.15;letter-spacing:-.035em;margin:0 0 2px}
.curriculum-books{font-size:13px;line-height:1.1;font-weight:700;margin-bottom:2px}
.curriculum-description{font-size:13px;line-height:1.24;margin:0}
.curriculum-age{display:flex;align-items:center;justify-content:center;background:#ffedf0;font-size:12px;line-height:1.25;font-weight:800;border-radius:20px;min-height:30px;padding:5px 8px;white-space:nowrap;margin-top:2px}
.curriculum-csl .curriculum-age{background:#eaf2ff}
.curriculum-connector{position:absolute;left:calc(50% - 15px);bottom:-15px;width:30px;height:22px;z-index:3;pointer-events:none;filter:drop-shadow(0 1px 0 #eaa5ad)}
.curriculum-connector:after{content:"";display:block;width:100%;height:100%;background:#ffdde3;clip-path:polygon(25% 0,75% 0,75% 43%,100% 43%,50% 100%,0 43%,25% 43%);border-radius:3px}
.curriculum-csl .curriculum-connector{filter:drop-shadow(0 1px 0 #83cfc5)}.curriculum-csl .curriculum-connector:after{background:#cef5ec}
.cp-guidance{position:relative;isolation:isolate;display:flex;align-items:center;gap:22px;padding:9px 28px;margin-top:8px;margin-bottom:8px;border-radius:15px;background:#e7f2ff;min-height:52px;overflow:hidden}
.cp-guidance>svg:first-child{width:36px;height:36px;background:white;border-radius:50%;padding:5px}
.cp-guidance strong{font-size:13px;font-weight:800}.cp-guidance p{font-size:12px;line-height:1.3;margin-top:1px}.cp-guidance .v3-landscape{width:210px;opacity:.3}

@media(min-width:901px) and (max-width:1250px){.cp-bamboo{width:38px;opacity:.35}.cp-hero h1{font-size:36px}.curriculum-stage{grid-template-columns:45px minmax(0,1fr) 76px;gap:10px;padding:12px 10px}.curriculum-icon{width:42px;height:42px}.curriculum-intro{gap:10px;padding-inline:0}.curriculum-character{width:62px;height:72px;font-size:50px}.curriculum-intro h2{font-size:21px}}
@media(max-width:900px){.cp-hero-grid{grid-template-columns:1fr;gap:12px;padding-bottom:38px}.cp-hero-copy{padding:28px 0 4px}.cp-hero h1{font-size:38px}.cp-hero-copy>p:last-child{font-size:16px;line-height:1.5}.cp-photo{height:clamp(190px,54vw,350px);width:100%;border-radius:70px 45px 35px 45px}.cp-bamboo{width:40px;bottom:35px;opacity:.3}.cp-cloud-blue{left:auto;right:18px;top:30px}.cp-cloud-gold{display:none}.curriculum-grid{display:block}.curriculum-pathway{display:flex;flex-direction:column;padding:18px 14px 14px}.curriculum-pathway+.curriculum-pathway{margin-top:18px}.curriculum-intro{padding:0 0 18px;gap:12px;min-height:110px}.curriculum-character{width:64px;height:76px;font-size:52px}.curriculum-intro h2{font-size:24px;line-height:1.16}.curriculum-intro p{font-size:14px;line-height:1.4}.curriculum-intro p br{display:none}.curriculum-intro .curriculum-audience{font-size:14px;margin:6px 0}.cp-path-cloud{display:none}.curriculum-stage{grid-template-columns:40px minmax(0,1fr);gap:7px 10px;padding:14px 12px;margin-bottom:12px;min-height:112px}.curriculum-icon{width:40px;height:40px;grid-row:1/3;align-self:start;margin-top:4px}.curriculum-icon svg{width:25px;height:25px}.curriculum-copy{grid-column:2;grid-row:2}.curriculum-stage-label{font-size:11px;margin-bottom:4px}.curriculum-stage h3{font-size:17px;line-height:1.25;margin-bottom:4px}.curriculum-books{font-size:14px;line-height:1.4}.curriculum-description{font-size:14px;line-height:1.45}.curriculum-age{grid-column:2;grid-row:1;justify-self:end;min-height:25px;font-size:11px;padding:4px 10px;margin:0}.curriculum-connector{bottom:-17px;height:24px}.cp-guidance{padding:14px;gap:12px;margin-top:14px;margin-bottom:14px;align-items:flex-start}.cp-guidance p,.cp-guidance strong{font-size:13px;line-height:1.5}.cp-guidance .v3-landscape{display:none}}
@media(max-width:380px){.curriculum-pathway{padding-inline:10px}.curriculum-intro{gap:9px}.curriculum-character{width:54px;font-size:46px}.curriculum-intro h2{font-size:22px}.curriculum-stage{grid-template-columns:34px minmax(0,1fr);padding-inline:10px;column-gap:8px}.curriculum-icon{width:34px;height:34px}.cp-hero h1{font-size:35px}}

/* Keep the stage label and age on one line without consuming a mobile grid row. */
@media(max-width:900px){.curriculum-copy{grid-row:1}.curriculum-icon{grid-row:1}.curriculum-age{position:absolute;grid-area:auto;right:12px;top:12px}.curriculum-stage-label{padding-right:88px;min-height:25px}.curriculum-stage{row-gap:0}.curriculum-stage h3{margin-top:2px}}

/* Shared Home CTA inherits the homepage body color/size, independent of curriculum typography. */
.page-chinese-programs .v3-cta{color:var(--v3-ink);font-size:17px}
