/* MIX website — shared styles (all pages) */
@font-face{font-family:'Nunito';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/nunito-latin-700.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Nunito';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/nunito-latin-ext-700.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Nunito';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/nunito-latin-800.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Nunito';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/nunito-latin-ext-800.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/nunito-sans-latin-400.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/nunito-sans-latin-ext-400.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/nunito-sans-latin-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/nunito-sans-latin-ext-600.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/nunito-sans-latin-700.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/nunito-sans-latin-ext-700.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{--ink:#1a1a1a;--red:#E2001A;--green:#009036;--blue:#0079AD;--dot:#009EE0;--muted:#555;--line:#e3e3e3;--paper:#f6f6f6;--grid:#e6e6e6;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:'Nunito Sans','PingFang SC','Hiragino Sans GB','Noto Sans SC','Microsoft YaHei',Arial,sans-serif;font-size:17px;line-height:1.55}
a{color:inherit}img{display:block;max-width:100%}
.wrap{max-width:1240px;margin:0 auto;padding-inline:clamp(16px,4vw,48px)}
h1,h2,h3{font-family:'Nunito','PingFang SC','Hiragino Sans GB','Noto Sans SC','Microsoft YaHei',Arial,sans-serif;margin:0;line-height:1.08;text-wrap:balance}
.g{color:var(--green);font-style:italic}.r{color:var(--red)}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:0 0 14px}
.dots{display:inline-flex;gap:5px}.dots i{width:8px;height:8px;border-radius:50%;display:block}
.k{background:var(--ink)}.rd{background:var(--red)}.gr{background:var(--green)}.bl{background:var(--dot)}
.btn{display:inline-flex;align-items:center;min-height:50px;background:var(--red);color:#fff;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:15px 24px;border:0;cursor:pointer;font-family:inherit}
.btn:hover{background:#B80015}
.btn{gap:0;transition:background .15s}.btn::after{content:"";width:0;height:6px;margin-left:0;background:radial-gradient(circle,currentColor 2.4px,transparent 2.9px) 0 0/8px 6px repeat-x;transition:width .25s,margin .25s}.btn:hover::after,.btn:focus-visible::after{width:24px;margin-left:10px}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}.btn.ghost:hover{border-color:var(--red);color:var(--red)}
.more{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;text-decoration:none}
.more:hover{color:var(--red)}
section{padding-block:clamp(44px,6vw,76px)}
.head2{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:32px}
h2{font-size:clamp(30px,3.6vw,46px);font-weight:800}
.lead{color:var(--muted);font-size:18px;max-width:56ch;margin:12px 0 0}

/* header */
header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #eee}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.bar img{height:clamp(40px,4.5vw,58px);width:auto}
nav ul{display:flex;gap:clamp(14px,2vw,26px);list-style:none;margin:0;padding:0}
nav a{text-decoration:none;font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;padding-block:8px;display:inline-block}
nav a:hover,nav a[aria-current]{color:var(--red)}
.tools{display:flex;align-items:center;gap:12px}
.lang{display:flex;border:1px solid var(--line);white-space:nowrap}.lang button{background:none;border:0;font:700 12px var(--body,inherit);padding:9px 10px;cursor:pointer;color:var(--muted)}
.lang button[aria-pressed=true]{background:var(--ink);color:#fff}
.burger{display:none;background:none;color:var(--ink);border:1px solid var(--line);padding:9px 12px;font:700 13px inherit;cursor:pointer}

/* hero */
.hero{position:relative;height:min(84vh,720px);min-height:500px;overflow:hidden;background:#222;color:#fff}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,0) 65%),linear-gradient(0deg,rgba(0,0,0,.65),rgba(0,0,0,.1) 60%)}
.hero .wrap{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(36px,8vh,76px)}
.hero h1{font-size:clamp(34px,5vw,68px);font-weight:800}.hero h1 .g{color:#8be3a3}
.hero .sub{font-size:clamp(17px,1.6vw,20px);margin:16px 0 0;max-width:52ch}
.hero .zh{margin:6px 0 0;opacity:.9}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero .btn.ghost{color:#fff;border-color:#fff}
.pp{color:var(--ink);position:absolute;z-index:3;right:18px;bottom:18px;background:rgba(255,255,255,.92);border:0;border-radius:20px;padding:8px 14px;font:700 12px inherit;cursor:pointer}

/* numbers */
.nums{background:var(--ink);color:#fff;padding-block:28px}
.nums .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.nums b{display:block;font-family:'Nunito',sans-serif;font-size:clamp(28px,3vw,38px);font-weight:800;font-variant-numeric:tabular-nums}
.nums span{font-size:14px;opacity:.8}
.nums .c1 b{color:var(--dot)}.nums .c2 b{color:#2fbf63}.nums .c3 b{color:#ff3b4f}

/* life mosaic */
.life .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(24px,4vw,56px);align-items:center}
.mos{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(90px,12vw,168px);gap:10px}
.mos div{border-radius:14px;background:#ddd center/cover;transition:opacity .8s}
.mos .a{grid-row:span 2}.mos .b{grid-column:span 2}.mos .e{grid-column:span 2}

/* doors */
.doors{background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:22px 22px}
.door-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.door{background:#fff;border:1px solid var(--line);padding:28px;text-decoration:none;display:flex;flex-direction:column;gap:8px;transition:border-color .15s}
.door:hover{border-color:var(--ink)}
.door h3{font-size:26px;display:flex;align-items:center;gap:10px}.door h3 i{width:13px;height:13px;border-radius:50%}
.door p{color:var(--muted);margin:0 0 8px}

/* courses */
.ages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.age{border:1px solid var(--line);padding:26px;border-top:6px solid var(--c)}
.age .yr{font-family:'Nunito',sans-serif;font-weight:800;font-size:15px;color:var(--ct,var(--c));letter-spacing:.04em}
.age h3{font-size:26px;margin:4px 0 10px}.age p{margin:0;color:var(--muted)}
.age .tag{display:inline-block;margin-top:14px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--paper);padding:5px 10px}
.fmt{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.fmt .fl{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-left:8px}.fmt .fl:first-child{margin-left:0}
.chip{border:1px solid var(--ink);padding:8px 14px;font-size:14px;font-weight:600}

/* method */
.method{background:#fff9ef}
.method .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.steps{display:flex;flex-wrap:wrap;gap:18px;margin:20px 0 26px;padding:0}
.steps span{display:flex;align-items:center;gap:8px;font-weight:700}
.steps b{width:28px;height:28px;border-radius:50%;color:#fff;font:800 14px 'Nunito',sans-serif;display:flex;align-items:center;justify-content:center}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:center}
.cards img{width:100%;aspect-ratio:5/7;object-fit:cover;border-radius:10px;box-shadow:0 8px 22px rgba(0,0,0,.14);transform:rotate(var(--t));transition:transform .3s}
.cards img:hover{transform:rotate(0) scale(1.06)}
.cardnote{grid-column:1/-1;margin:10px 0 0;font-size:13px;color:var(--muted);text-align:center}

/* events */
.ev{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ev a{text-decoration:none;display:flex;flex-direction:column;gap:10px}
.ev .ph{aspect-ratio:4/3;background:#ddd center/cover;border-radius:12px}
.ev small{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-weight:700}
.ev h3{font-size:21px}.ev p{margin:0;color:var(--muted);font-size:15px}

/* story */
.story{background:var(--ink);color:#fff}
.story .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.story .lead{color:#cfcfcf}
.vid{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#333 center/cover;display:block;text-decoration:none}
.vid:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.25)}
.vid .play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center}
.vid .cap{position:absolute;z-index:2;left:16px;bottom:14px;font-weight:700;font-size:14px}
.mixword{display:flex;gap:22px;margin-top:24px;flex-wrap:wrap}
.mixword div{font-size:14px;color:#cfcfcf}.mixword b{display:block;font:800 26px 'Nunito',sans-serif}
.mixword .m b{color:#ff3b4f}.mixword .i b{color:#2fbf63}.mixword .x b{color:var(--dot)}

/* quote */
.quote{text-align:center}
.quote blockquote{margin:0 auto;max-width:30ch;font:800 clamp(24px,2.8vw,34px)/1.25 'Nunito',sans-serif}
.quote cite{display:block;margin-top:14px;font-style:normal;color:var(--muted);font-size:15px}
.quote .ph{display:inline-block;margin-top:10px;font-size:12px;background:#fff3c4;padding:4px 10px}

/* trial */
.trial{background:var(--paper)}
.trial .wrap{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}.trial .tc{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
form{background:#fff;border:1px solid var(--line);padding:26px;display:grid;gap:14px}
label{font-size:13px;font-weight:700;display:grid;gap:6px}
input,select,textarea{font:inherit;font-weight:400;padding:12px;border:1px solid #cfcfcf;background:#fff;width:100%}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.small{font-size:13px;color:var(--muted);font-weight:400}

/* footer */
footer{background:var(--paper);color:var(--muted);border-top:1px solid var(--line);padding-block:48px 28px;font-size:15px}
footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}
footer img{height:52px;width:auto}
footer h4{color:var(--ink);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
footer a{text-decoration:none}footer a:hover{color:var(--red)}
footer .legal{border-top:1px solid var(--line);margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:#888}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media(max-width:1020px){header nav{display:none}.burger{display:block}header .bar{position:relative}header nav.open{display:block;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid #eee;padding:4px clamp(16px,4vw,48px) 14px;box-shadow:0 10px 20px rgba(0,0,0,.06)}header nav.open ul{flex-direction:column;gap:0}header nav.open a{display:block;padding:13px 0;border-bottom:1px solid #f0f0f0}}
@media(max-width:860px){.life .wrap,.method .wrap,.story .wrap{grid-template-columns:1fr}.ages{grid-template-columns:1fr}.door-row{grid-template-columns:1fr}.nums .wrap{grid-template-columns:1fr 1fr}footer .cols{grid-template-columns:1fr 1fr}.life .mos{order:-1}}
@media(max-width:560px){.two{grid-template-columns:1fr}footer .cols{grid-template-columns:1fr}.tools{gap:8px}.bar img{height:36px}.lang button,.lang a{padding:8px 7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mos div,.cards img{transition:none}}


/* dot line divider (MIX dots) */
.dotline{height:8px;background:radial-gradient(circle,#E2001A 3px,transparent 3.5px) 0 0/36px 8px repeat-x,radial-gradient(circle,#009036 3px,transparent 3.5px) 12px 0/36px 8px repeat-x,radial-gradient(circle,#009EE0 3px,transparent 3.5px) 24px 0/36px 8px repeat-x}
.door h3 i,.steps b{transition:transform .35s cubic-bezier(.34,1.8,.5,1)}.door:hover h3 i{transform:scale(1.5)}
/* inner pages */
.phead{background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:22px 22px;padding-block:clamp(40px,6vw,72px) clamp(32px,5vw,56px)}
.phead h1{font-size:clamp(34px,4.6vw,58px);font-weight:800}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.jump a{border:1px solid var(--ink);background:#fff;padding:8px 14px;font-size:14px;font-weight:600;text-decoration:none;border-radius:999px}.jump a:hover{border-color:var(--red);color:var(--red)}
.age ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:6px;font-size:15px}.age li{display:flex;gap:9px;align-items:baseline}.age li:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--c);transform:translateY(-1px)}
.fcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fcard{background:#fff;border:1px solid var(--line);padding:26px;border-radius:18px}.fcard h3{font-size:24px;margin:14px 0 8px}.fcard p{margin:0;color:var(--muted)}
.fcard .ic{width:52px;height:52px;border-radius:50%;background:var(--c);display:flex;align-items:center;justify-content:center;color:#fff;font:800 22px 'Nunito',sans-serif}
.fcard .note{margin-top:12px;font-size:14px;font-weight:700;color:var(--ink)}
.lsteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:s}
.lstep{padding:24px 0 0;border-top:2px dotted var(--line)}.lstep b{width:40px;height:40px;border-radius:50%;color:#fff;font:800 18px 'Nunito',sans-serif;display:flex;align-items:center;justify-content:center;background:var(--c)}
.lstep h3{font-size:22px;margin:12px 0 6px}.lstep p{margin:0;color:var(--muted)}
.exam{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.ladder{display:flex;align-items:flex-end;gap:10px;height:180px}.ladder div{flex:1;border-radius:12px 12px 0 0;background:var(--c);color:#fff;font:800 14px 'Nunito',sans-serif;padding:10px 8px;display:flex;align-items:flex-start;justify-content:center;text-align:center}
.faq{max-width:820px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font:800 20px 'Nunito','PingFang SC','Hiragino Sans GB','Noto Sans SC','Microsoft YaHei',sans-serif;list-style:none;display:flex;justify-content:space-between;gap:16px}.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";color:var(--red);font-size:26px;line-height:1;transition:transform .2s}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{margin:10px 0 0;color:var(--muted)}
.legaltext{max-width:780px}.legaltext h2{font-size:clamp(22px,2.4vw,28px);margin:34px 0 10px;display:flex;align-items:center;gap:10px}.legaltext h2 i{width:10px;height:10px;border-radius:50%;flex:none;background:var(--c,var(--red))}
.legaltext p,.legaltext li{color:#333}.legaltext ul{padding-left:20px}
@media(max-width:860px){.fcards,.lsteps,.exam{grid-template-columns:1fr}}

/* Leone highlight */
.news{display:block;background:#fff;border-bottom:1px solid var(--line);text-decoration:none}
.news .wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-block:14px}
.news .nb{background:var(--red);color:#fff;font:800 12px 'Nunito',sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-radius:999px}
.news .nt{font-weight:600;flex:1;min-width:220px}.news:hover .more{color:var(--red)}
.lband{padding-block:clamp(28px,4vw,48px) 0}
.lcard{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;border:2px dashed var(--green);border-radius:22px;padding:clamp(22px,3vw,36px);background:#f3fbf5}
.lcard h2{font-size:clamp(26px,3vw,38px)}
.facts-s{padding-block:clamp(28px,4vw,44px)}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.facts div{display:flex;flex-direction:column;gap:4px;padding-left:18px;position:relative}
.facts i{position:absolute;left:0;top:7px;width:10px;height:10px;border-radius:50%;background:var(--c)}
.facts b{font:800 19px 'Nunito','PingFang SC','Hiragino Sans GB','Noto Sans SC','Microsoft YaHei',sans-serif}.facts span{color:var(--muted);font-size:15px}
.badge{display:inline-block;margin:14px 0 0 10px;vertical-align:middle;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--paper);padding:5px 10px;border-radius:999px}
.fcard .ic+.badge{margin-left:10px}.fcard .ic{display:inline-flex;vertical-align:middle}
@media(max-width:860px){.facts{grid-template-columns:1fr 1fr}}

.fcard.star{border:2px solid var(--red);text-decoration:none;display:block;transition:transform .2s}.fcard.star:hover{transform:translateY(-3px)}
.fcard .b0{margin:0 0 4px 0}.fcard.star .note{color:var(--red)}
.fline{margin:22px 0 0;font-size:17px}.subh{font-size:clamp(22px,2.4vw,28px);margin:clamp(36px,5vw,56px) 0 16px}
.schoolb{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.refs{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.refs ul{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:10px}.refs li{display:flex;gap:10px;align-items:center;font:800 18px 'Nunito',sans-serif}.refs i{width:10px;height:10px;border-radius:50%;flex:none}
@media(max-width:860px){.schoolb{grid-template-columns:1fr}}

.split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.pimg{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:22px;box-shadow:0 14px 34px rgba(0,0,0,.12)}
.pstrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:clamp(28px,4vw,44px)}.pstrip img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px}
.fcard .cimg{max-width:none;width:calc(100% + 52px);margin:-26px -26px 16px;aspect-ratio:16/9;object-fit:cover;border-radius:16px 16px 0 0;display:block}
@media(max-width:860px){.split{grid-template-columns:1fr}.pstrip{grid-template-columns:1fr 1fr}.pstrip img:last-child{display:none}}

.feat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);border:2px solid var(--red);border-radius:18px;overflow:hidden;text-decoration:none;background:#fff;transition:transform .2s}.feat:hover{transform:translateY(-3px)}
.feat img{width:100%;height:100%;max-width:none;object-fit:cover;aspect-ratio:4/3}.feat>div{padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;justify-content:center}
.feat .badge{align-self:flex-start}.feat h3{font-size:clamp(24px,2.6vw,32px);margin:12px 0 8px}.feat p{margin:0;color:var(--muted)}.feat .note{margin-top:14px;color:var(--red);font-weight:700}
.two-c{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}
@media(max-width:860px){.feat{grid-template-columns:1fr}.two-c{grid-template-columns:1fr}}

/* header trial button */
.hbtn{display:inline-flex;align-items:center;background:var(--red);color:#fff;text-decoration:none;font:700 12px 'Nunito Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:12px 16px;white-space:nowrap}
.hbtn:hover{background:#B80015}.hbtn .s{display:none}
.mlang{display:none}
@media(max-width:1200px){nav ul{gap:16px}nav a{font-size:12px}}
@media(max-width:560px){.hbtn .l{display:none}.hbtn .s{display:inline}.hbtn{padding:10px 12px;font-size:11px;letter-spacing:.04em}.tools .lang{display:none}header nav.open .mlang{display:block;padding:14px 0 4px}header nav.open .mlang .lang a{display:block;padding:10px 16px;border-bottom:0;font:700 13px 'Nunito Sans',sans-serif;letter-spacing:0}.mlang .lang{display:inline-flex}}

/* mobile: MIX-colour menu icon + language selector */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.burger{border:0;padding:10px 6px}
.bars{display:grid;gap:5px}.bars i{display:block;width:26px;height:3px;border-radius:3px;transition:transform .25s,opacity .2s}
.bars i:nth-child(1){background:var(--ink)}.bars i:nth-child(2){background:#009036}.bars i:nth-child(3){background:#009EE0}
.burger[aria-expanded=true] .bars i:nth-child(1){transform:translateY(8px) rotate(45deg)}.burger[aria-expanded=true] .bars i:nth-child(2){opacity:0}.burger[aria-expanded=true] .bars i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mlsel{display:none;position:relative}
.mlsel summary{list-style:none;cursor:pointer;border:1px solid var(--line);padding:9px 10px;font:700 12px 'Nunito Sans',sans-serif;white-space:nowrap;color:var(--ink)}
.mlsel summary::-webkit-details-marker{display:none}
.mlsel summary:after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:currentColor;vertical-align:-1px}
.mlsel .lang{position:absolute;right:0;top:calc(100% + 6px);background:#fff;flex-direction:column;box-shadow:0 10px 24px rgba(0,0,0,.12);z-index:30}
.mlsel .lang a{padding:12px 22px;text-align:center}
@media(max-width:560px){.mlsel{display:block}.tools .mlsel[open] .lang{display:flex}.tools{gap:8px}.bar img{height:32px}}
/* social dots — MIX logo style */
footer{border-top:0;position:relative}
footer::before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:radial-gradient(circle,#E2001A 3px,transparent 3.5px) 0 0/36px 8px repeat-x,radial-gradient(circle,#009036 3px,transparent 3.5px) 12px 0/36px 8px repeat-x,radial-gradient(circle,#009EE0 3px,transparent 3.5px) 24px 0/36px 8px repeat-x}
.sdots{display:flex;gap:14px;flex-wrap:wrap;margin-top:4px}
.sdot{--c:#E2001A;--wx:#009036;position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;background:none;border:0;padding:0;cursor:pointer;font:600 12px 'Nunito Sans',sans-serif;color:var(--muted);text-decoration:none}
.sdot svg{box-sizing:content-box;width:26px;height:26px;padding:15px;border-radius:50%;background:var(--c);transition:transform .45s cubic-bezier(.34,1.8,.5,1)}
.sdot.g{--c:#009036}.sdot.c{--c:#009EE0}
.sdot::before,.sdot::after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;transform:scale(0);transition:transform .35s cubic-bezier(.34,1.8,.5,1)}
.sdot::before{top:-4px;right:-6px;background:#009036}.sdot::after{top:14px;right:-12px;width:7px;height:7px;background:#009EE0}
.sdot.g::before{background:#009EE0}.sdot.g::after{background:#E2001A}.sdot.c::before{background:#E2001A}.sdot.c::after{background:#009036}
.sdot:hover svg,.sdot:focus-visible svg,.sdot[aria-expanded=true] svg{transform:translateY(-5px) rotate(-8deg) scale(1.06)}
.sdot:hover::before,.sdot:focus-visible::before,.sdot[aria-expanded=true]::before{transform:scale(1)}
.sdot:hover::after,.sdot:focus-visible::after,.sdot[aria-expanded=true]::after{transform:scale(1);transition-delay:.06s}
.sdot:hover span{color:var(--c)}
.wxpop{margin-top:16px;max-width:230px;background:#fff;border:2px dashed #009036;border-radius:18px;padding:14px;text-align:center;font-size:14px;animation:pop .35s cubic-bezier(.34,1.6,.5,1)}
.wxpop[hidden]{display:none}.wxpop p{margin:6px 0 0}.wxpop .qr img{display:block;margin:0 auto;width:150px;height:150px}
@keyframes pop{from{transform:scale(.8);opacity:0}to{transform:none;opacity:1}}
.ftrial{margin:18px 0 0}
@media(prefers-reduced-motion:reduce){.sdot svg,.sdot::before,.sdot::after,.wxpop{transition:none;animation:none}}

.fade{position:relative}.fade img+img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:mixfade 10s ease-in-out infinite}@keyframes mixfade{0%,40%{opacity:0}50%,90%{opacity:1}100%{opacity:0}}@media(prefers-reduced-motion:reduce){.fade img+img{animation:none;opacity:0}}
.lwide{margin:12px 0 0}.lwide img{width:100%;height:auto;aspect-ratio:3/1;object-fit:cover;object-position:50% 62%;border-radius:14px;display:block}.lwide figcaption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px;font:600 14px 'Nunito Sans',sans-serif;color:var(--muted)}.lwide figcaption a{color:var(--red);font-weight:800;text-decoration:none}
@media(max-width:700px){.lwide img{aspect-ratio:4/3}}
.lang a{display:block;font:700 12px 'Nunito Sans',sans-serif;padding:9px 10px;color:var(--muted);text-decoration:none}
.lang a[aria-current]{background:var(--ink);color:#fff}
.contactp .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
@media(max-width:860px){.contactp .wrap{grid-template-columns:1fr}}
:lang(zh) h1,:lang(zh) h2{letter-spacing:.02em}
.refs a{color:inherit;text-decoration:none}.refs a:hover{text-decoration:underline}.refs a::after{content:" ↗";font-size:.75em;color:var(--muted)}
.h1s{font-size:clamp(30px,3.6vw,46px)}
/* headings: on phones the green part always starts its own line */
@media(max-width:700px){h1 .g,h2 .g{display:block}h1 br,h2 br{display:none}}
/* team page */
.tgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.tcard{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 1px 0 rgba(0,0,0,.04),0 10px 30px rgba(0,0,0,.07);border-top:6px solid var(--c);display:flex;flex-direction:column}
.tph{position:relative}.tph img{display:block;width:100%;height:auto;max-width:none;aspect-ratio:4/5;object-fit:cover}
.tch{position:absolute;right:14px;bottom:-34px;width:78px;height:78px;border-radius:50%;background:var(--c);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(0,0,0,.18);border:4px solid #fff}
.tch b{font:700 34px/1 'PingFang SC','Noto Sans SC','Microsoft YaHei',sans-serif}.tch i{font:600 11px/1.2 'Nunito Sans',sans-serif;font-style:normal;opacity:.9;margin-top:2px}
.tbody{padding:22px 20px 22px}.tbody h3{font-size:21px;margin:0 0 8px;padding-right:80px}.tbody h3 small{font:600 14px 'Nunito Sans',sans-serif;color:var(--muted);margin-left:4px}
.tq{margin:0 0 12px;color:var(--ink);font-size:15.5px;line-height:1.5}
.ttags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.ttags span{font:700 12px 'Nunito Sans',sans-serif;padding:4px 10px;border-radius:99px;background:color-mix(in srgb,var(--c) 12%,#fff);color:var(--ink)}
.tmy{margin:0;font-size:14px;color:var(--muted);border-top:1px dashed #ddd;padding-top:10px}.tmy b{color:var(--ink)}
@media(max-width:1060px){.tgrid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.tgrid{grid-template-columns:1fr}}
/* events page */
.theme{padding-block:clamp(26px,4vw,44px)}
.theme+.theme{padding-top:0}
.theme h2{display:flex;align-items:center;gap:12px;font-size:clamp(24px,3vw,32px)}
.theme h2 i{width:14px;height:14px;border-radius:50%;background:var(--c);flex:none}
.theme .lead{margin-top:6px}
.hl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}
.hl.two{grid-template-columns:1fr 1fr}
.hl article{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 1px 0 rgba(0,0,0,.04),0 10px 30px rgba(0,0,0,.06)}
.hl img{display:block;width:100%;height:auto;max-width:none;aspect-ratio:4/3;object-fit:cover}
.hl.two img{aspect-ratio:16/9}
.hl .t{padding:16px 20px 20px}
.hl .y{display:inline-block;font:800 13px 'Nunito',sans-serif;color:#fff;background:var(--c);border-radius:99px;padding:3px 10px;margin-bottom:8px}
.hl h3{font-size:19px;margin:0 0 4px}
.hl p{margin:0;color:var(--muted);font-size:15px}
.tl-s{background:#fff9ef}
.tl{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));position:relative}
.tl:before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:repeat-x left/12px 2px linear-gradient(90deg,var(--ink) 50%,transparent 0);opacity:.25}
.tl li{position:relative;padding:28px 8px 0 0}
.tl li:before{content:"";position:absolute;top:2px;left:0;width:16px;height:16px;border-radius:50%;background:var(--c)}
.tl b{display:block;font:800 18px 'Nunito',sans-serif}
.tl span{display:block;font-size:14px;color:var(--muted);line-height:1.35;margin-top:2px}
@media(max-width:860px){.hl,.hl.two{grid-template-columns:1fr}
 .tl{grid-template-columns:1fr;gap:14px}.tl:before{left:7px;right:auto;top:0;bottom:0;width:2px;height:auto;background:repeat-y top/2px 12px linear-gradient(180deg,var(--ink) 50%,transparent 0)}
 .tl li{padding:0 0 0 32px}.tl li:before{top:3px}}
