/* About extensions. The original page remains the design-system source. */
body{overflow-x:clip}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:disabled{cursor:default}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e57400;outline-offset:5px}section,[id]{scroll-margin-top:94px}main:focus{outline:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:16px;z-index:100;background:#fff;color:var(--navy);padding:12px 20px;border-radius:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.nav-links{gap:21px}.nav-links a{padding:10px 0;border-bottom:2px solid transparent}.nav-links a[aria-current="location"]{border-color:var(--accent);color:#fff}.nav.scrolled .nav-links a[aria-current="location"]{color:var(--blue);border-color:var(--blue)}.nav-actions{display:flex;gap:12px;align-items:center}.menu-toggle{display:none;border:1px solid currentColor;border-radius:10px;background:transparent;width:44px;height:44px;color:#fff;font-size:22px}.nav.scrolled .menu-toggle{color:var(--navy)}.nav.menu-open{background:var(--navy)}.nav.menu-open .logo,.nav.menu-open .menu-toggle{color:#fff}
.hero-grid{grid-template-columns:minmax(0,1.13fr) minmax(0,1fr);gap:46px}.hero h1{font-size:clamp(38px,4.65vw,64px);line-height:1.12}.hero-visual{min-width:0;width:100%}.stage{aspect-ratio:1/1;max-width:500px}.scene{padding:22px}.scene-tag{font-size:11px;letter-spacing:.07em}.scene-body{padding:12px;background:#fff;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px}.scene-body img{height:100%;width:100%;object-fit:contain;border-radius:10px;background:#f5f8fd}.hero .scene-body p{font-size:13px;color:var(--muted);margin:0;line-height:1.55;padding:0 4px 4px}.scene-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;max-width:500px;margin:14px 0 0 auto}.dots{position:static;display:flex;gap:3px}.scene-dot{width:34px;height:44px;display:grid;place-items:center;border:0;background:transparent;cursor:pointer}.scene-dot span{width:8px;height:8px;background:#a4badc;border-radius:5px;transition:width .3s}.scene-dot.on span{width:25px;background:var(--accent)}.scroll-hint{pointer-events:none}.hero .scroll-hint{color:#b7c8e0}
.overview-layout{display:grid;grid-template-columns:1fr;gap:clamp(36px,5vw,56px)}.overview-copy{max-width:820px}.overview-copy .title{font-size:clamp(36px,5.2vw,60px);line-height:1.12;margin:16px 0 22px;text-wrap:balance}.overview-copy .lead{font-size:clamp(17px,1.55vw,20px);color:var(--ink);max-width:640px;margin-bottom:18px;text-wrap:pretty}.overview-note{color:var(--navy);font-weight:500;font-size:clamp(16px,1.45vw,19px);margin:8px 0 0;max-width:640px;padding:4px 0 4px 22px;border-left:3px solid var(--accent);text-wrap:pretty}

/* VNU-MOOC flow diagram (from VNU-MOOC là gì.dc.html) */
@keyframes vmRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes vmFade{from{opacity:0}to{opacity:1}}
@keyframes vmSpin{to{transform:rotate(360deg)}}
@keyframes vmTravel{0%{left:-8%;opacity:0}18%{opacity:1}82%{opacity:1}100%{left:106%;opacity:0}}
@keyframes vmTravelV{0%{top:-10%;opacity:0}18%{opacity:1}82%{opacity:1}100%{top:106%;opacity:0}}
@keyframes vmPulse{0%{transform:scale(.78);opacity:.5}70%{transform:scale(1.5);opacity:0}100%{transform:scale(1.5);opacity:0}}
@keyframes vmFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-18px,0)}}
@keyframes vmShimmer{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes vmGlow{0%,100%{opacity:.3}50%{opacity:.75}}
.vm-rise{animation:vmRise 1s cubic-bezier(.22,1,.36,1) both}
.vm-rise-late{animation:vmRise 1.05s .08s cubic-bezier(.22,1,.36,1) both}
.vm-rise-15{animation:vmRise .95s .18s cubic-bezier(.22,1,.36,1) both}
.vm-rise-25{animation:vmRise .95s .28s cubic-bezier(.22,1,.36,1) both}
.vm-rise-35{animation:vmRise .95s .38s cubic-bezier(.22,1,.36,1) both}
.vm-stage{position:relative;isolation:isolate;overflow:hidden;border-radius:32px;padding:clamp(32px,4vw,56px) clamp(20px,3vw,48px);color:#fff;box-shadow:0 40px 90px -36px rgba(10,42,94,.55);background:radial-gradient(720px 340px at 88% 0%,rgba(47,124,246,.38),transparent 62%),radial-gradient(540px 320px at 8% 100%,rgba(255,122,69,.22),transparent 58%),linear-gradient(155deg,#06173a 0%,#0a2a5e 52%,#0e3a86 100%)}
.vm-grid{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse at 50% 45%,#000 10%,transparent 82%);-webkit-mask-image:radial-gradient(ellipse at 50% 45%,#000 10%,transparent 82%)}
.vm-orb{position:absolute;border-radius:50%;filter:blur(8px);z-index:0;pointer-events:none;animation:vmFloat 14s ease-in-out infinite;will-change:transform}
.vm-orb-a{width:300px;height:300px;right:-80px;top:-100px;background:radial-gradient(circle,rgba(47,124,246,.4),transparent 70%)}
.vm-orb-b{width:240px;height:240px;left:-70px;bottom:-70px;background:radial-gradient(circle,rgba(255,176,32,.28),transparent 70%);animation-duration:18s;animation-direction:reverse}
.vm-row{position:relative;z-index:1;display:flex;flex-wrap:nowrap;flex-direction:row;align-items:stretch;justify-content:center;gap:clamp(12px,1.6vw,22px)}
.vm-col{display:flex;flex-direction:column;gap:14px;min-width:0}
.vm-step-label{flex:none;display:flex;align-items:center;gap:10px;height:16px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);transition:color .4s ease}
.vm-step-label span{color:var(--accent)}
.vm-card{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:300px;padding:32px 22px;border-radius:22px;text-align:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .45s cubic-bezier(.22,1,.36,1),background .45s ease,border-color .45s ease,box-shadow .45s ease}
.vm-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);box-shadow:0 24px 48px -22px rgba(0,0,0,.5)}
.vm-card-learner{background:linear-gradient(160deg,rgba(255,176,32,.15),rgba(255,255,255,.05));border-color:rgba(255,176,32,.3)}
.vm-card-learner:hover{border-color:rgba(255,176,32,.55);box-shadow:0 24px 48px -22px rgba(255,176,32,.4)}
.vm-card-glow{position:absolute;inset:0;border-radius:22px;pointer-events:none;background:radial-gradient(140px 90px at 50% 0%,rgba(255,176,32,.22),transparent 72%);animation:vmGlow 6s ease-in-out infinite}
.vm-icon-box{position:relative;display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:rgba(255,176,32,.14);border:1px solid rgba(255,176,32,.28);flex:none;transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .45s ease}
.vm-card:hover .vm-icon-box{transform:scale(1.05)}
.vm-icon-box svg{width:26px;height:26px}
.vm-icon-box-learner{background:rgba(255,176,32,.2);border-color:rgba(255,176,32,.42)}
.vm-card-title{position:relative;font-size:18px;font-weight:700;letter-spacing:.01em;line-height:1.3}
.vm-card-desc{position:relative;font-size:14px;line-height:1.55;color:rgba(255,255,255,.66);max-width:18em}
.vm-card-learner .vm-card-desc{color:rgba(255,255,255,.72)}
.vm-core-frame{position:relative;flex:1;display:flex;min-height:300px;border-radius:24px;overflow:hidden;padding:1.5px}
.vm-core-spin{position:absolute;left:50%;top:50%;width:170%;aspect-ratio:1;margin:-85% 0 0 -85%;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,176,32,.85) 45deg,rgba(47,124,246,.85) 125deg,transparent 210deg,transparent 360deg);animation:vmSpin 12s linear infinite;opacity:.5;will-change:transform}
.vm-core-inner{position:relative;flex:1;height:100%;border-radius:23px;padding:clamp(24px,2.8vw,34px) clamp(18px,2.2vw,28px);background:linear-gradient(160deg,rgba(9,28,68,.95),rgba(12,46,106,.95));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px}
.vm-core-brand{position:relative;text-align:center;padding:8px 0 4px}
.vm-pulse{position:absolute;left:50%;top:50%;width:130px;height:130px;margin:-65px 0 0 -65px;border-radius:50%;border:1px solid rgba(255,176,32,.45);animation:vmPulse 4.2s ease-out infinite;pointer-events:none}
.vm-pulse-blue{border-color:rgba(47,124,246,.5);animation-delay:2.1s}
.vm-core-title{position:relative;display:block;font-size:clamp(34px,3.8vw,52px);font-weight:800;letter-spacing:-.03em;line-height:1.05;background:linear-gradient(90deg,#fff 0%,#9dc2ff 25%,#fff 50%,#ffd98a 75%,#fff 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:vmShimmer 9s linear infinite}
.vm-core-sub{position:relative;display:block;margin-top:10px;color:rgba(255,255,255,.72);font-size:15px;font-weight:500}
.vm-chips{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.vm-chip{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 10px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);transition:transform .4s cubic-bezier(.22,1,.36,1),background .4s ease,border-color .4s ease}
.vm-chip:hover{transform:translateY(-3px);background:rgba(255,255,255,.12);border-color:rgba(255,176,32,.38)}
.vm-chip svg{width:22px;height:22px}
.vm-chip span{font-size:13px;font-weight:600;text-align:center;line-height:1.35}
.vm-conn{align-self:center;position:relative;flex:none;top:15px;animation:vmFade 1s .55s both}
.vm-conn-h{flex:0 0 56px;width:56px;height:2px;margin:0;border-radius:2px;background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.32))}
.vm-col-side{flex:1 1 0;min-width:180px}
.vm-col-core{flex:1.5 1 0;min-width:240px}
.vm-conn-v{display:none;width:2px;height:48px;margin:0;border-radius:2px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.32));top:0}
.vm-col-core + .vm-conn{animation-delay:.65s}
.vm-dot{position:absolute;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(255,176,32,.16),0 0 16px rgba(255,176,32,.85);animation:vmTravel 3.6s cubic-bezier(.45,0,.55,1) infinite;will-change:left,opacity}
.vm-dot-blue{background:var(--blue-2);box-shadow:0 0 0 4px rgba(47,124,246,.18),0 0 16px rgba(47,124,246,.85);animation-delay:1.8s}
.vm-dot-v{left:50%;margin-left:-4px;margin-top:0;animation-name:vmTravelV;will-change:top,opacity}
.vm-arrow{position:absolute;right:-1px;top:50%;width:7px;height:7px;margin-top:-4px;border-right:2px solid rgba(255,255,255,.5);border-top:2px solid rgba(255,255,255,.5);transform:rotate(45deg)}
.vm-arrow-v{right:auto;top:auto;bottom:-1px;left:50%;margin:-4px 0 0 -4px;border-right:2px solid rgba(255,255,255,.5);border-top:0;border-bottom:2px solid rgba(255,255,255,.5);transform:rotate(45deg)}
@media(max-width:860px){
  .vm-row{flex-direction:column;align-items:stretch}
  .vm-conn-h{display:none}
  .vm-conn-v{display:block;margin:4px auto}
  .vm-col-side,.vm-col-core{flex:1 1 auto;min-width:0}
  .vm-card,.vm-core-frame{min-height:0}
  .vm-chips{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:520px){
  .vm-chips{grid-template-columns:1fr}
  .vm-core-inner{gap:18px}
}.manifesto{padding:76px 0;border-block:1px solid #e5edf7}.manifesto strong{background:linear-gradient(transparent 70%,#d6e6ff 70%)}.numbers-head{margin-bottom:34px}.data-context{font-size:13px;color:var(--muted);margin:28px 0 16px}.stat .num{font-size:clamp(50px,6vw,76px)}.stat{padding:30px 26px}.community-grid{gap:48px}.process{gap:0}.step{position:relative;margin-bottom:14px}.step:not(:last-child)::after{content:"";position:absolute;left:37px;bottom:-15px;height:14px;border-left:2px solid #bacde8}.step h3{font-size:16px}.academic-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-self:center}.academic-gallery figure{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px}.academic-gallery .gallery-main{grid-column:1/-1}.academic-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.academic-gallery .gallery-main img{aspect-ratio:3/2}.academic-gallery figcaption{padding:12px 16px;font-size:12px;color:var(--muted);font-weight:500}.production-flow{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,1fr);gap:28px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:4px;margin-top:44px;padding-bottom:14px;list-style:none;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--blue-2) transparent;mask-image:linear-gradient(90deg,#000 0%,#000 94%,transparent 100%)}.production-flow::-webkit-scrollbar{height:6px}.production-flow::-webkit-scrollbar-track{background:transparent}.production-flow::-webkit-scrollbar-thumb{background:var(--blue-2);border-radius:99px}.production-flow li{scroll-snap-align:start;position:relative;font-size:12px;font-weight:600;color:var(--navy);padding:16px 12px;text-align:center;border-top:2px solid #c5d7ed}.production-flow li:not(:last-child)::after{content:"→";position:absolute;right:-24px;top:15px;color:var(--blue)}.logo-strip{margin-top:40px;padding-top:30px;mask-image:none}.logo-strip h3{text-align:center;font-size:14px;color:var(--muted);margin-bottom:22px;font-weight:600}.member-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;list-style:none}.member-strip li{border:1px solid var(--line);background:#fff;padding:12px 17px;border-radius:10px;color:var(--navy);font-size:12px;font-weight:500}
.exp-grid{gap:48px;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.feat{padding:20px}.devices{padding:0 18px 120px 0;min-width:0}.real-screen{display:block;aspect-ratio:1.2}.real-screen img{width:100%;height:100%;object-fit:contain}.laptop-base{margin:0 -12px}.phone{right:0;bottom:50px;min-width:135px;width:37%}.phone-screen{aspect-ratio:auto;min-height:265px;gap:12px;padding:18px 12px}.phone-screen strong{font-size:15px;line-height:1.4;color:var(--navy)}.phone-label{font-size:9px;text-transform:uppercase;font-weight:600;color:var(--muted)}.discussion-item{font-size:10px;padding:9px;border-radius:8px;background:var(--sky);color:var(--navy)}.discussion-blue{color:#fff;background:var(--blue)}.phone-screen small{font-size:9px;color:var(--muted)}.devices>figcaption{position:absolute;bottom:0;left:0;font-size:12px;color:var(--muted);max-width:90%}.timeline{gap:20px}.tcard{padding:16px}.tags em{background:#45339a;color:#fff}.tthumb.s1{background:var(--blue)}.tthumb.s3{background:#08613b}.tthumb.s4{background:#9b4116}.tthumb .subj{background:#ffffff0d}.tstep h3{font-size:18px}.tthumb .subj{font-size:11px}.tstep p{color:#d1def0}
.audience{background:var(--bg-soft)}.audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:38px}.audience-card{padding:28px;border:1px solid var(--line);background:#fff;border-radius:20px;display:flex;flex-direction:column;min-width:0}.audience-index{font-size:11px;font-weight:700;letter-spacing:.09em;color:var(--blue);margin-bottom:24px}.audience-card h3{font-size:25px;color:var(--navy);letter-spacing:-.02em}.audience-card>p{color:var(--muted);font-size:14px;margin:12px 0 22px}.audience-card ul{padding-left:18px;font-size:14px;line-height:1.7;color:var(--ink);margin-bottom:28px}.audience-card li+li{margin-top:10px}.text-link{color:var(--blue);font-weight:600;font-size:13px;display:flex;gap:10px;align-items:center;margin-top:auto;padding-top:20px;border-top:1px solid var(--line);min-height:44px}.text-link span{margin-left:auto;font-size:18px}.shortcut{color:#fff;cursor:pointer;min-width:0}
dialog{border:1px solid var(--line);border-radius:24px;padding:28px;max-width:660px;width:calc(100% - 32px);max-height:calc(100dvh - 48px);margin:auto;overscroll-behavior:contain;color:var(--ink);box-shadow:0 20px 90px #06173a50}dialog::backdrop{background:#06173ac2;backdrop-filter:blur(4px)}.dialog-head{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-bottom:18px}.dialog-head .eyebrow{font-size:11px}.dialog-close{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;flex:none;background:var(--bg-soft);font-size:26px;cursor:pointer}dialog h2{font-size:28px;color:var(--navy);line-height:1.3;margin-bottom:18px}dialog h3{font-size:18px;margin:24px 0 12px}dialog p{color:var(--muted);font-size:15px}dialog img{width:100%;height:auto;border-radius:12px;margin-top:20px}.topic-list{list-style:none;display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.topic-list li{padding:8px 12px;background:var(--sky);border-radius:8px;color:var(--navy);font-size:13px}.dialog-list{padding-left:20px;color:var(--muted);font-size:15px}.dialog-list li+li{margin-top:16px}.dialog-list strong{color:var(--ink)}.dialog-note{margin-top:22px;padding:18px;border-left:3px solid var(--blue);background:var(--bg-soft);border-radius:0 10px 10px 0}body.dialog-open{overflow:hidden}
@media(min-width:961px) and (max-width:1100px){.nav-links{gap:12px;font-size:12px}.nav .btn{padding:10px 14px}.hero-grid{gap:30px}.hero h1{font-size:48px}.community-grid,.exp-grid{gap:32px}.feat{padding:16px}.tcard{padding:12px}.timeline{gap:12px}}
@media(max-width:960px){.nav-links{display:none}.menu-toggle{display:block}.nav-links.is-open{display:grid;grid-template-columns:1fr 1fr;position:absolute;left:16px;right:16px;top:76px;background:#fff;padding:20px;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 55px #06173a35;gap:6px 20px;color:var(--ink)}.nav .nav-links.is-open a{padding:12px;color:var(--navy)}.nav .nav-links.is-open a[aria-current]{color:var(--blue)}.hero-grid,.community-grid,.exp-grid{grid-template-columns:1fr;gap:42px}.hero h1{font-size:clamp(38px,7vw,62px);max-width:710px}.hero-visual{max-width:560px;margin:auto}.stage{margin:0 auto;max-width:none;aspect-ratio:1.25}.scene-controls{max-width:none}.hero{padding-bottom:110px}.scroll-hint{bottom:15px}.scroll-hint i{height:20px}.overview-layout{gap:36px}.academic-gallery{max-width:660px}.production-flow{grid-auto-columns:minmax(170px,1fr);gap:20px}.production-flow li:not(:last-child)::after{right:-17px}.exp-grid .devices{order:initial;max-width:600px;margin:10px auto 0}.devices{padding-bottom:105px}.audience-grid{grid-template-columns:1fr;gap:18px}.audience-card ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}.audience-card li+li{margin:0}.audience-card{padding:28px}.audience-index{margin-bottom:15px}.stats{gap:16px}.phone-screen{min-height:290px}}
@media(min-width:601px) and (max-width:960px){.timeline{grid-template-columns:1fr 1fr;gap:30px 24px;padding-left:0}.timeline::before,.timeline .track{display:none}.tdot{position:static;margin-bottom:16px}.tcard{height:calc(100% - 72px)}.tstep::before{content:"";position:absolute;left:56px;right:-24px;top:27px;border-top:2px solid #ffffff25}.tstep:nth-child(odd)::before{right:0}}
@media(max-width:600px){.wrap{padding-inline:20px}section{padding-block:64px}.nav .wrap{height:68px;padding-inline:16px}.nav .logo{background:#fff;padding:4px 9px}.nav .logo img{height:28px}.nav .btn{font-size:11px;padding:10px 12px}.nav-actions{gap:8px}.menu-toggle{width:40px;height:40px}.hero{padding:112px 0 95px}.hero h1{font-size:clamp(36px,8.7vw,49px);line-height:1.13;letter-spacing:-.015em}.hero .eyebrow{font-size:10px;letter-spacing:.07em}.hero .eyebrow::before{width:18px;flex-shrink:0}.hero p{font-size:16px}.hero-cta{gap:12px}.hero-cta .btn{justify-content:center;width:100%;font-size:14px}.hero-grid{gap:36px}.stage{aspect-ratio:.98}.scene{padding:14px;border-radius:20px}.scene-tag{font-size:9px;margin-bottom:12px;letter-spacing:.02em}.scene-body{padding:9px;border-radius:12px}.hero .scene-body p{font-size:12px}.manifesto{padding-block:52px}.manifesto p{font-size:25px}.eyebrow{font-size:11px;letter-spacing:.09em}.overview-layout{gap:28px}.vm-stage{padding:24px 14px}.vm-card{padding:22px 16px}.vm-core-inner{padding:22px 14px}.milestone{padding:28px}.milestone .yr{font-size:36px}.stat{padding:26px}.stat .num{font-size:66px}.academic-gallery{gap:10px}.academic-gallery figcaption{font-size:11px;padding:10px}.production-flow{grid-auto-columns:minmax(150px,1fr);gap:16px}.production-flow li:not(:last-child)::after{right:-14px}.member-strip{justify-content:flex-start;gap:8px}.member-strip li{font-size:11px;padding:10px 12px}.logo-strip h3{text-align:left}.step{padding:16px 14px;gap:12px}.step h3{font-size:15px}.step p{font-size:13px}.devices{padding-right:14px;padding-bottom:120px}.phone{width:40%;min-width:122px;bottom:45px;border-radius:20px;padding:6px}.phone-screen{min-height:245px;border-radius:15px;padding:13px 10px;gap:9px}.phone-screen strong{font-size:13px}.discussion-item{font-size:9px;padding:7px}.laptop{padding:9px;border-radius:12px}.phone-label{font-size:8px}.devices>figcaption{font-size:11px}.timeline{padding-left:45px;margin-top:40px;gap:24px}.timeline::before,.timeline .track{left:16px}.tdot{width:34px;height:34px;left:-45px;font-size:13px}.tcard{padding:16px}.tthumb{height:95px;padding:8px}.tthumb.s2{height:auto;min-height:95px}.tthumb .subj{font-size:10px}.tstep h3{font-size:18px}.audience-card{padding:24px}.audience-card ul{display:block}.audience-card li+li{margin-top:10px}.pillars{margin-top:32px}.vision-note{margin-top:32px;padding-top:22px}.cta{padding:0 0 64px}.cta-box{padding:38px 22px;border-radius:22px}.cta-btns .btn{width:100%;justify-content:center;font-size:13px;padding:14px 15px}.shortcut{padding:16px 14px;font-size:14px}.shortcuts{margin-top:30px}.cta-box h2{font-size:30px}.cta-box>p{font-size:14px}dialog{padding:20px}dialog h2{font-size:25px}}
@media(max-width:360px){.wrap{padding-inline:16px}.hero h1{font-size:36px}.nav .btn{padding:9px 10px;font-size:10px}.nav .logo img{height:24px}.nav-actions{gap:6px}.nav .wrap{padding-inline:12px}.timeline{padding-left:40px}.tdot{left:-40px}.tcard{padding:12px}.tthumb{padding:6px;gap:4px}.hero .scene-body p{font-size:11px}.phone{min-width:112px}.production-flow{grid-auto-columns:minmax(132px,1fr);gap:12px}.production-flow li{padding:12px 6px;font-size:11px}.production-flow li:not(:last-child)::after{right:-10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-ready .reveal{opacity:1;transform:none}.scene,.scene.active,.scene.prev{transform:none}.timeline .track{transition:none}.btn:hover,.pillar:hover,.feat:hover{transform:none}}
.development-story{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:48px 0 28px}.development-story li{border-top:2px solid #dfe6f1;padding-top:18px;position:relative}.development-story li::before{content:"";position:absolute;top:-5px;left:0;width:8px;height:8px;border-radius:50%;background:var(--blue)}.development-story strong{display:block;color:var(--navy);font-size:15px;margin-bottom:5px}.development-story span{display:block;font-size:12px;color:var(--muted)}
@media(max-width:600px){.development-story{grid-template-columns:1fr 1fr;gap:22px}}
@media print{.nav,.skip-link,.scene-controls,.scroll-hint,dialog,.to-top{display:none!important}.reveal,.js-ready .reveal{opacity:1;transform:none}section{padding:30px 0}.hero{min-height:0;padding:30px 0}.hero-visual{display:none}.hero-grid{display:block}body{color:#000}.pillars{grid-template-columns:1fr 1fr}.pillar{min-height:220px}}

/* Official institution marks: preserve brand colors and complete proportions. */
.member-directory{margin-top:54px;padding-top:42px;overflow:visible}
.member-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}
.logo-strip .member-heading h3{font-size:24px;line-height:1.35;color:var(--navy);text-align:left;margin:12px 0 0;font-weight:700}
.member-heading>p{font-size:13px;color:var(--muted);max-width:270px}
.member-heading .eyebrow{font-size:10px}
.member-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.member-grid>li{min-width:0}
.member-card{height:100%;display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 20px 18px;background:#fff;border:1px solid var(--line);border-radius:18px;transition:border-color .25s,box-shadow .25s}
.member-card:hover{border-color:#8eaed9;box-shadow:0 8px 24px #0a2a5e0a}
.member-logo{height:105px;width:100%;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.member-logo img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.member-logo img[src$="uit.png"]{width:90px;max-width:100%;image-rendering:auto}
.member-name{font-weight:600;font-size:14px;color:var(--navy);line-height:1.6;max-width:240px}
.member-visit{display:block;padding-top:18px;margin-top:auto;color:#526580;font-size:11px;font-weight:500}
.member-visit>span[aria-hidden]{display:inline-block;margin-left:5px;color:var(--blue);font-size:14px}
.member-kind{font-size:12px;color:var(--muted);margin-top:8px;max-width:280px}
.member-heading-secondary{margin-top:38px;margin-bottom:20px}
.logo-strip .member-heading-secondary h3{font-size:18px;margin:0}
.member-grid-other{grid-template-columns:1fr 1fr}
.member-grid-other .member-card{padding:24px}
.member-grid-other .member-logo{height:64px;max-width:350px;margin-bottom:16px}
.institute-card{justify-content:center;min-height:213px}
.institute-category{font-size:10px;letter-spacing:.12em;font-weight:600;color:var(--blue);margin-bottom:20px}
.institute-card .member-name{max-width:none;font-size:18px}
.institute-card .member-visit{margin-top:12px}
@media(max-width:960px){.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-heading{display:block}.member-heading>p{margin-top:12px;max-width:none}.member-card{padding:22px}.member-grid-other .member-logo{height:70px}.institute-card .member-name{font-size:16px}}
@media(max-width:600px){.member-directory{padding-top:30px;margin-top:34px}.member-grid{gap:12px}.member-card{padding:18px 12px 14px;border-radius:14px}.member-logo{height:80px;margin-bottom:14px}.member-name{font-size:12px}.member-visit{font-size:10px;padding-top:14px}.member-logo img[src$="uit.png"]{width:72px}.logo-strip .member-heading h3{font-size:21px}.logo-strip .member-heading-secondary h3{font-size:17px}.member-grid-other{grid-template-columns:1fr}.member-grid-other .member-card{padding:22px}.member-grid-other .member-name{font-size:15px}.member-grid-other .member-logo{height:64px}.institute-card{min-height:180px}}
